当前位置:  开发笔记 > 开发工具 > 正文

subversion diff包括新文件

如何解决《subversiondiff包括新文件》经验,为你挑选了3个好方法。

我对一个使用Subversion作为源控件的开源项目进行了一些本地更改.(我没有对原始项目存储库的提交访问权限.)

我的更改添加了一个文件,但此文件不包含在"svn diff"的输出中.(值得注意的是,新文件是二进制文件,而不是纯文本.)

如何制作包含新文件的补丁?


 $ svn st
   A      tests/foo.zip
 $ svn diff
 $

小智.. 28

我经历过与Pozsar相似的行为.他的回答比普通的svn diff --force更适合我.但是,如果在DOS机器上运行(例如通过Cygwin),您可能需要稍微修改他的答案.以下diff + patch用于使用--binary arg在Cygwin中修补我的文本+二进制文件:

svn diff --force --diff-cmd /usr/bin/diff -x "-au --binary" OLD-URL NEW-URL > mybinarydiff.diff

patch -p0 --binary -i mybinarydiff.diff


Balázs Pozsá.. 12

diff命令有一个--force选项,但它为我的机器上的二进制文件生成了一个不正确的补丁文件.使用它与--diff-cmd选项对我有用:

svn diff --force --diff-cmd /usr/bin/diff -x -au

我认为这恰好产生了你想要的东西.



1> 小智..:

我经历过与Pozsar相似的行为.他的回答比普通的svn diff --force更适合我.但是,如果在DOS机器上运行(例如通过Cygwin),您可能需要稍微修改他的答案.以下diff + patch用于使用--binary arg在Cygwin中修补我的文本+二进制文件:

svn diff --force --diff-cmd /usr/bin/diff -x "-au --binary" OLD-URL NEW-URL > mybinarydiff.diff

patch -p0 --binary -i mybinarydiff.diff



2> Balázs Pozsá..:

diff命令有一个--force选项,但它为我的机器上的二进制文件生成了一个不正确的补丁文件.使用它与--diff-cmd选项对我有用:

svn diff --force --diff-cmd /usr/bin/diff -x -au

我认为这恰好产生了你想要的东西.



3> Duncan Smart..:

您的文件是二进制的这一事实正是为什么它不显示我害怕.Subversion的diff命令只执行文本差异/补丁(即使Subversion内部可以在版本之间有效地处理二进制文件差异).

推荐阅读
ERIK又
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有