时间机器与Subversion

时间:2009-12-09 05:16:29

标签: svn xcode version-control

有没有理由不使用Time Machine over Subversion(在Mac上)?

我一直在使用版本和Cornerstone试用版。两者都无法解决合并问题。使用svn 1.6,你就会遇到不可能的树冲突。如果你那样做,那就别忘了。我不断有树冲突和文件冲突,但没有办法对它们做任何事情。我的设置可能是最简单的:一个带有标签分支的主干使用文件系统。自从尝试使用Subversion以来,我已经失去了那么多时间。以前,我使用的是Time Machine,从未遇到过任何问题。我是唯一的开发人员。有没有理由不放弃Subversion并回到Time Machine?

使用本地http://类型的存储库是否比我基于文件的系统更好用,或者我是否仍会看到无法停止的树和文件冲突导致无处?

请不要指出颠覆红皮书。树冲突并未真正涵盖。

4 个答案:

答案 0 :(得分:20)

Time Machine不是源代码修订控制系统。以下是Subversion可以执行的一些事情,Time Machine不会这样做:

  • 版本之间的差异
  • 附加提交消息
  • 将更改恢复为已知良好状态
  • 分支/合并(是的,这对于想要在代码库上尝试实验的单个开发人员来说甚至可能有用,这可能会也可能不会起作用)
  • 标记版本的能力
  • 将第二个开发人员引入项目并共享代码的能力

答案 1 :(得分:8)

我强烈建议坚持使用subversion并学习如何使用它。该功能集比Time Machine更丰富,您还将学习如何在以后处理团队编程项目时获得的宝贵技能。

答案 2 :(得分:5)

如果你遇到冲突(虽然我不确定你的树冲突是什么意思),那么你做的事情非常糟糕,特别是如果你是唯一一个使用你的subversion存储库的人。您应该发布一些工作流程示例,这些示例会引导您解决这些无法解决的冲突,然后我们就可以帮助您调整工具的工作流程。

答案 3 :(得分:3)

我能想到的一个重要区别是,你可以通过使用annotate(也称为'blame')函数来识别“何时”代码来自subversion。它为您确定最后触及的代码行的修订版本。

如果您决定在主开发计算机的1英尺内完成所有备份,那么Subversion也很容易在将来转移到在线托管存储库。