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

时间:2009-10-21 06:01:02

标签: svn

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

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

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

有谁知道我会怎么做呢?

善意和提前谢谢,

5 个答案:

答案 0 :(得分:69)

svn --force --depth infinity add .

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

答案 1 :(得分:26)

已接受的解决方案

  

svn --force add。

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

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

  

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

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

答案 2 :(得分:14)

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

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

答案 3 :(得分:0)

您必须在脚本中为svn add之前的每个未版本控制的文件调用svn commit - 对于shell脚本来说是这样的:

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

答案 4 :(得分:0)

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

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

*是我要添加的树级别。

使用

检查结果
svn status --no-ignore