Eva*_*ske 19 linux svn diff command-line
我正在尝试为开源项目编写一个多文件补丁,但自从我开始工作以来,主副本已经改变了.我需要在我的未提交版本和检查它的版本之间获得SVN差异(只是版本控制下的文件).我可以使用哪个SVN命令来查找差异?
编辑:对不起,我一定是不正当地使用"工作副本"一词.我需要将我未提交的更改与它们所基于的修订版进行比较.换句话说,我检查了修订版1000并更改了文件foo和bar.转数现在高达1015,但是我需要将我的版本foo和bar版本1000的版本进行比较.是否有一个简单的命令来执行此操作(将我修改的程序副本与过去的版本进行比较)?
Tom*_*Tom 13
您可以在diff命令中使用-rN:M参数,该命令指定要比较的修订版本.只提供您的工作副本签出的修订版(您可以省略M,因为它默认为工作副本),您应该得到您需要的.
如果您不记得原始版本号,请尝试运行svn status -v,第一列应显示它.
更多信息svn help diff......
svn diff采用-rN:M默认为N == BASE和的参数M == working copy.将svn diff -r REV其中REV的修订不是您想要的工作吗?
要回答您的编辑,假设您有以下内容:
$ ls
foo bar baz
$ svn st -u
Status against revision: 1071
$ echo "more stuff" >> foo
$ svn diff -r 1000 foo
Index: foo
===================================================================
--- foo (revision 1000)
+++ foo (working copy)
...
Run Code Online (Sandbox Code Playgroud)
我相信这就是你所追求的,是吗?