我想结帐,然后根据需要更新Mac OS X Leopard 10.5.5计算机上的Django Subversion trunk。
我只对在Mac上更新Django代码感兴趣。我对为Django项目提供补丁不感兴趣。我不需要Django主干的Subversion历史记录。
我计划将Git用作我所有个人项目的DVCS / SCM。
使用最新的Django主干保持我的Mac更新的最佳做法是什么?
我是Git的新手,所以理解为什么选择你的选项会非常有帮助。
使用我的Mac上安装的Subversion 1.4.4:svn co http://code.djangoproject.com/svn/django/trunk/。基本上使用Subversion为我的个人项目获取Subversion repos和Git。
使用Git SVN获取Django Subversion repo。关于如何为Git新手做这个的说明?
使用Git获取Git mirror of the Django repo。我有点担心镜子可能会在将来消失,但如果它是最好的选择,我愿意使用它。
答案 0 :(得分:11)
如果您不打算对Django代码进行更改,那么没有理由将其导入Git。只需使用选项1。
使用git-svn
(通过自己运行或通过克隆别人的存储库)非常有用,如果您想对使用Subversion的项目进行本地修改(无论您是否将任何修改发送回项目)。但如果你没有进行任何局部修改,那么它就是不必要的复杂性。
答案 1 :(得分:2)
好吧,如果你正在为你的所有项目使用git并且你对它很熟悉,我建议使用git镜像,因为它接缝是合理的最新版本。 Git也应该比使用Subversion更快。如果镜子消失/过时,您可以随时 svn co / svn up 来获取当前来源。
但是,由于你也安装了Subversion,你也可以使用它而不是...它没有太大的区别,更多的是个人偏好的问题。
Git-svn设置和保持同步更加乏味 - 您必须首先使用 git svn fetch 获取subversion更新,然后执行 git svn rebase 将更改应用于git存储库。它还会占用更多的磁盘空间。这有点更容易出错,如果你真的想在源代码树上进行开发,我只建议使用git-svn。如果你觉得有冒险精神,想试试看this Tutorial - 我发现使用git-svn非常有用。
答案 2 :(得分:1)
迟到总比没有..也许..我不同意目前的获胜答案。我会选择
- 使用Git获取Django repo的Git镜像
醇>
关于反对的论点:对Git感到满意(或想要)的人不应该发现它“只是不必要的复杂性”。注意:对于某些人(不适合我),该参数可能对git-svn案例有效。
for 的一些原因:
速度
强大的查询(日志)和可视化(gitk&甚至发烧友 表亲)
在大多数情况下减少磁盘空间
二等分 - 例如。试图孤立回归,帮助更好的错误报告
一致性 - 如果所有其他项目都在git中
即使您不打算捐款,也可以更轻松地尝试本地更改
如果你确实改变主意 - 你仍然可以向贡献更进一步
即使镜像消失,您仍然可以切换到另一个镜像,无需再次克隆。
顺便说一句,目前的镜子是https://github.com/django/django,据说是正式的。答案 3 :(得分:0)
我同意@cjm。如果您只想要Django源的副本,请使用普通的Subversion。
我对git-svn的经验是,对于那些喜欢并且更熟悉Git的人来说,这对于必须跟踪Subversion-repository的人来说最有用,而对那些了解Subversion而又是git-newbies想要的人来说并不那么有用比Subversion更好的东西。由于Subversion具有较差的合并跟踪,因此git-svn存在一些限制,除非你有一些实质性的git经验,否则这些限制会有时会跳起来并咬你。