SVN和修订号

SVN和修订号,svn,version-control,cvs,Svn,Version Control,Cvs,可能重复: 假设我有3个文件foo.txt、bar.txt和moo.txt,都在修订版1中 假设我提交foo.txt和bar.txt十次。所以他们是在revison 1.10。因为在SVN中只有一个版本,所以版本1.10中也不需要moo.txt。现在如果我看到moo.txt的历史记录,我会看到从1到10的提交历史记录吗 我问这个问题的原因是我告诉我的朋友,与SVN相比,CVS是多么糟糕。他是CVS的忠实粉丝。所以他告诉我,因为CVS版本号是文件特定的,所以他很容易将单个文件恢复到某种状态(因为

可能重复:

假设我有3个文件foo.txt、bar.txt和moo.txt,都在修订版1中

假设我提交foo.txt和bar.txt十次。所以他们是在revison 1.10。因为在SVN中只有一个版本,所以版本1.10中也不需要moo.txt。现在如果我看到moo.txt的历史记录,我会看到从1到10的提交历史记录吗


我问这个问题的原因是我告诉我的朋友,与SVN相比,CVS是多么糟糕。他是CVS的忠实粉丝。所以他告诉我,因为CVS版本号是文件特定的,所以他很容易将单个文件恢复到某种状态(因为单个文件的历史记录不包含对项目其他部分所做的提交)。由于我总是将整个项目更新为以前的版本(而不是单个文件),所以我从未遇到过这种情况。所以,我想知道SVN是如何处理这个问题的?

在subversion中,所有版本号都是整数(例如没有1.10),您只需执行1、2、3等等,在您的示例中最多10个。如果要查看特定文件的历史记录,则只能看到该特定文件的修订历史记录:

  • 添加了moo.txt文件
  • moo.txt已更改
  • moo txt已更改
  • (非常简单的历史例子)

    如果要将moo.txt恢复到第7版期间的状态(未进行任何更改),它将与第6版和第5版处于相同的状态(因为在这两次之间文件没有更改)


    我希望这是有用的,我不是100%确定你在问什么。如果我误解了,请道歉。

    在SVN中,修订号是整数(1,2,3,…),而不是CVS中的虚线怪物(1.1,1.2,…和分支1.2.1.1,1.2.1,…)

    SVN的最大优点是版本号对于存储库来说是全局的,因此可以将整个项目还原为特定的版本,这在CVS中是不可能的

    仍然可以恢复单个文件,只需使用带有单个文件参数的
    svn update