将所有未版本控制的文件添加到SVN

Dan*_*ott 40 svn

我有一个工作副本,使用脚本在一夜之间自动提交到SVN.

我使用SVN命令行来执行此操作.

在与谷歌进行了一场令人沮丧的战斗之后,我一直无法确定如何在提交之前自动将工作副本中的所有未版本控制的文件添加到存储库中.

有谁知道我怎么可能这样做?

善意和感谢提前,

Mat*_*ley 70

svn --force --depth infinity add .
Run Code Online (Sandbox Code Playgroud)

但要小心,因为这也会添加任何svn:ignore'd文件.

  • 这也会添加当前被忽略的文件,小心! (4认同)
  • 经过进一步的测试,似乎没有必要" - 深度",但它也不会受到伤害. (2认同)
  • 我们如何只添加 **Unversioned** 文件但 **NOT IGNORED** ? (2认同)

小智 27

接受的解决方案

svn --force add.

还将添加所有忽略的无版本文件.大多数人可能更喜欢添加所有未版本但未被忽略的文件.

要添加所有未版本但未被忽略的文件,codefox421的答案是正确的:

svn st | grep'^ \?' | sed's/^ \?*//'| xargs -I%svn add%

因为svn st没有显示被忽略的文件.


小智 14

试试这个尺寸 - 比强制通过svn添加更优雅:

$ svn add `svn status|grep '\?'|awk '{print $2}'`
Run Code Online (Sandbox Code Playgroud)

  • 或试试这个.它接受路径中的空格:`svn st | grep'^ \?' | sed's/^ \?*//'| xargs -I%svn add%` (8认同)
  • 我使用了codefox421的建议并为〜/ .bashrc添加了一个别名:`alias svn-add-unversioned ="svn st | grep'^ \?' | sed's/^ \?*//'| xargs -I%svn add%"`现在我只需输入`svn -a`并点击标签,输入! (3认同)