在SVN中包含新文件

我有一个构建我的应用程序的脚本,将其上传到远程机器,并在那里运行性能测试,并捕获我关心的一些指标。该脚本创建一个修补程序文件,用于在我的工作区中进行的本地修改,并与性能数字一起显示。这有助于我比较各种调整选项的效果。如果我以后要重新创建我的工作空间,我可以使用SVN修订号和修补程序。

svn diff不会报告我添加到工作区的新文件,除非我明确地使用svn add。有没有办法创建一个补丁文件,也将包括新的文件?

PS:一个类似的问题被问及here,但没有得到充分的答复,海事组织。

要使svn diff包括本地工作副本中的所有未版本化文件,您必须先添加这些文件。 svn diff输出svn commit将使用的相同的更改集。

如果你确定所有未版本的文件都应该添加到这里,那么你可以做什么。

通过从svn status的输出获取所有以问号开头的行来准备未版本化文件的列表:

svn status | grep ^? | sed -r 's/^\? +//' > ../unversioned_files_list.txt

然后,您可以将该文件列表传递给svn addusing xargs:

xargs -r -d '\n' svn add < ../unversioned_files_list.txt

然后生产补丁:

svn diff > ../my_patch.patch

如果您不想保留这些文件,请使用文件列表来解除它们:

xargs -r -d '\n' svn rm --keep-local < ../unversioned_files_list.txt
http://stackoverflow.com/questions/4248768/including-new-files-in-svn-diff

本站文章除注明转载外,均为本站原创或编译
转载请明显位置注明出处:在SVN中包含新文件