在SVN中提交的替代方法

时间:2010-02-01 17:41:16

标签: svn

我想了解哪些其他方法可以提交到SVN存储库?例如,我在文件之间有一些差异,svn status清楚地显示它们。而不是svn提交,我想将差异导出到补丁,用于增量承诺,比如通过拇指驱动器超过2台计算机。这可能吗?

二进制文件怎么样,还可以吗?

基本上,我希望通过补丁或任何没有网络的替代方法来实现增量提交。

谢谢!

4 个答案:

答案 0 :(得分:1)

你可以做svn diff> mypatch
使用增量补丁时,git要好得多,所以你应该检查一下。我个人认为git非常复杂,但值得。如果您坚持使用svn,您可以获得单个文件的差异,但我认为没有办法随着时间的推移获得单个文件的差异。你必须自己手动保存补丁才能做到这一点。

答案 1 :(得分:1)

曾几何时我在一家公司工作,说“超级研究公司(SRC)”。该软件存放在Subversion存储库中,我已阅读该存储库并可以查看日志。作为代码审查过程的一部分,经理(称他为乔治)要求将所有提议的签到通过电子邮件发送给他作为对主干的补丁。如果他们被接受,他会继续检查他们。乔治喜欢两件事:

  1. 确保所有代码“都是以如此一致的方式编写的,以至于你无法分辨谁写了它。”
  2. 进行为期两周的商务旅行。
  3. 这导致了我们软件项目的以下显着特征:

    1. 从提交时起,代码平均需要1周的时间进行审核。
    2. Checkins包含大约两周的工作时间。
    3. 所有签到在日志中都显示了同一位作者,因此在出现问题时没有人知道该与谁交谈。
    4. 大约一半的签到在第一次提交时被拒绝,因为评论中的缩进太少。我花了大约2/3的编辑时间在WinMerge中寻找微妙的缩进不一致(有关于多行表达式的垂直对齐的详细规则)。
    5. 你的提议可能只显示其中的一部分,但可怕的经历在我的脑海中如此刻板,我必须警告你要认真考虑你的决定的后果。

      也就是说,Subversion补丁可以对从外部用户那里接收一次性提交的项目有用,所以我不认为发送补丁的想法是完全错误的。 :)

答案 2 :(得分:1)

我建议您使用Mercurial插件查看hgsvn。与git相比,如果您了解SVN,Mercurial相对简单易学。使用hgsvn插件,您可以在没有网络连接的PC上使用Mercurial,与拇指驱动器同步,并在具有网络连接的PC上将更改提交给SVN。

答案 3 :(得分:0)

如果您使用的是Java,则不要说出语言。然后,Intellij IDEA和Eclipse都支持为树中的所有更改生成批量补丁文件。