40

我正在尝试从我的工作副本中的 SVN 文件夹中添加新的项目文件。它询问一个选项“递归”,并带有一条消息“您确定要添加*许多项目吗?” . 有人可以指导我启用此“递归”选项的用途吗?我是否应该在新添加新项目文件时启用它?

谢谢你。

4

4 回答 4

94

短版:svn add * --force是你所需要的

长版:根据svn 添加手册页

通常,命令 svn add * 将跳过任何已经在版本控制下的目录。但是,有时您可能希望在工作副本中添加每个未版本控制的对象,包括那些隐藏在更深处的对象。传递 --force 选项使 svn add recurse 到版本化目录中:

$ svn add * --force
A         foo.c
A         somedir/bar.c
A         otherdir/docs/baz.doc
于 2013-10-02T07:13:08.280 回答
5

如果您应该启用递归选项,首先回答您的问题:如果您复制了一个包含多个文件和嵌套文件夹的文件夹结构,那么您需要递归添加。

在命令行中,这应该适合您:

svn add * --depth infinity

如果它不起作用,您可以尝试使用“--force”参数:

svn add * --force --depth infinity

或者,在某些情况下,忽略属性会造成麻烦,您可能还需要使用 '--no-ignore' 才能成功:

svn add * --force --no-ignore --depth infinity
于 2020-02-10T09:07:34.840 回答
1

我不得不求助于使用我们的老朋友find如下:

cd root_folder_I_want_to_checkin

递归添加文件夹:

find . -type d -exec svn add {} \;

检查状态(都应显示为A):

svn status

有些文件仍然显示状态?,所以我也这样做了:

find . -type f -exec svn add {} \;

现在svn status显示 all are A,所以现在:

svn commit . -m 'blah blah blah.'

于 2020-01-15T13:19:57.477 回答
1

svn add * --force添加 zip 文件时对我不起作用。

相反,我必须到cd包含 zip 文件的目录并运行svn add .

$ svn add .
A         .
A  (bin)  SOAPUI_TEST_1.zip
A  (bin)  SOAPUI_TEST_2.zip
A  (bin)  SOAPUI_TEST_3.zip
A  (bin)  SOAPUI_TEST_4.zip
于 2019-06-21T12:35:32.300 回答