我正在尝试从我的工作副本中的 SVN 文件夹中添加新的项目文件。它询问一个选项“递归”,并带有一条消息“您确定要添加*许多项目吗?” . 有人可以指导我启用此“递归”选项的用途吗?我是否应该在新添加新项目文件时启用它?
谢谢你。
我正在尝试从我的工作副本中的 SVN 文件夹中添加新的项目文件。它询问一个选项“递归”,并带有一条消息“您确定要添加*许多项目吗?” . 有人可以指导我启用此“递归”选项的用途吗?我是否应该在新添加新项目文件时启用它?
谢谢你。
短版: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
如果您应该启用递归选项,首先回答您的问题:如果您复制了一个包含多个文件和嵌套文件夹的文件夹结构,那么您需要递归添加。
在命令行中,这应该适合您:
svn add * --depth infinity
如果它不起作用,您可以尝试使用“--force”参数:
svn add * --force --depth infinity
或者,在某些情况下,忽略属性会造成麻烦,您可能还需要使用 '--no-ignore' 才能成功:
svn add * --force --no-ignore --depth infinity
我不得不求助于使用我们的老朋友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.'
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