为修订中的每个更改文件生成SVN diff文件
在我现在的雇主,在一个主要的构建之前,我们的项目负责人经常要求我们修改的每个文件都有一个diff文件(给他一个.zip文件)。SmartSVN对于导出HTML差异文件非常方便,但是我还没有看到一种方法可以递归地为提交/修订中的每个文件生成一个差异文件。我感觉这可能通过命令行实现,但是我也没有发现。我想构建一个脚本(可能是Python),它将递归地为修订版中的每个更改文件生成一个diff文件,而不必单独处理每个文件为修订中的每个更改文件生成SVN diff文件,svn,smartsvn,Svn,Smartsvn,在我现在的雇主,在一个主要的构建之前,我们的项目负责人经常要求我们修改的每个文件都有一个diff文件(给他一个.zip文件)。SmartSVN对于导出HTML差异文件非常方便,但是我还没有看到一种方法可以递归地为提交/修订中的每个文件生成一个差异文件。我感觉这可能通过命令行实现,但是我也没有发现。我想构建一个脚本(可能是Python),它将递归地为修订版中的每个更改文件生成一个diff文件,而不必单独处理每个文件 现在有这样的工具吗?如果没有,有什么命令行工具/参数可以帮助我实现目标?谢谢 如果
现在有这样的工具吗?如果没有,有什么命令行工具/参数可以帮助我实现目标?谢谢 如果您只需要diff,但不关心每个文件有一个diff,那么只需重定向
svn diff的输出,例如
svn diff -c myrevision path/to/repo > mydiff.patch
如果您确实需要每个文件的差异,您可以解析svn log
的输出,为每个文件创建差异,例如
for f in `svn log -qvr myrevision path/to/repo | grep " *[AMD]" | awk '{print $2}'`; do svn diff -c myrevision path/to/repo/$f > "`basename $f`.patch"; done
这会将每个文件的差异保存在files base name+.patch
下,为什么不使用像ReviewBoard这样的代码复查应用程序(我自己没有使用过,只是听说过它-它不是唯一一个这样的应用程序),这样他可以随时查看您的更改?