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

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

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

经过与Google的一场令人沮丧的战斗之后,我一直无法解决如何在提交前自动将工作副本中所有未版本控制的文件添加到存储库。

有谁知道我会怎么做呢?

善良和感谢提前,

svn --force --depth infinity add . 

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

接受的解决scheme

svn –force添加。

还会添加所有被忽略的未版本控制的文件。 大多数人可能更喜欢只添加所有未受版本控制但未被忽略的文件。

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

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

因为svn st不显示被忽略的文件。

试试这个大小 – 比通过svn add强制更优雅:

 $ svn add `svn status|grep '\?'|awk '{print $2}'` 

你必须在你的脚本中为每个未版本化的文件调用svn add ,然后才能执行svn commit对于shell脚本来说,就像这样:

 for file in `svn st | grep '^\?' | awk '{ print $2; }'`; do svn add $file done 

在我的情况下,我需要指定:

  svn --force add dir/*/*/* 

*是我想添加的树的级别。

用检查结果

 svn status --no-ignore