我一直在使用各种源控制系统,但是当涉及到还原变更时,我还不是专家.有人可以帮助给出这种情况:
鉴于修订版#5中引入了一个错误
在修订版#5中更改了3个文件
并且2个文件中的更改导致了该错误
当客户在版本#9(HEAD)的版本中发现错误时
然后,导致修订版#5中的错误的2个文件必须恢复为修订版#4
从版本#6到HEAD的更改必须应用于这两个文件
我希望必须有一种方法来比较两个文件的修订版#4和#5,并生成一个修补程序来撤消修订版#5中的更改,然后可以将其应用于HEAD修订版以回滚缺陷.
通常反向合并将足以回滚已提交的更改...
要阅读详细信息,请参阅: svn manual - 撤消更改
正如你所要做的那样:
svn merge -r 5:4 file1 file2
这意味着合并从4到5的变化,即.撤消更改
您还可以键入:
svn merge -c -5 file1 file2
这意味着应用在提交修订版5中发生的更改.
接下来,您应手动查看更改.
最后,您必须提交更改(上面的合并只更改了您的工作副本).
这是svn书的链接,解释了所有关于还原和历史的内容.
要做差异你会做类似svn diff -r 4:5 somefile.txt的事情