我可以忽略svn结账时的文件夹吗?我需要在我的构建服务器上忽略签出时的DOCs文件夹。
编辑:忽略外部变量不是一个选项。我需要一些外部设备。
发布于 2008-10-20 11:44:30
您不能在结帐时直接忽略文件夹,但您可以在svn 1.5中使用稀疏结帐。例如:
$ svn co http://subversion/project/trunk my_checkout --depth immediates
这会将文件和目录从您的项目主干签入到'my_checkout‘中,但不会递归到这些目录中。例如:
$ cd my_checkout && ls
bar/ baz foo xyzzy/
然后获取“bar”的内容:
$ cd bar && svn update --set-depth infinity
发布于 2011-12-09 22:03:06
是的,您可以使用SVN 1.6。您需要先签出,然后将文件夹标记为排除,然后删除不需要的文件夹。
svn checkout http://www.example.com/project
cd project
svn update --set-depth=exclude docs
rm -fr docs
从现在开始,对工作副本的任何更新都不会重新填充docs文件夹。
有关更多详细信息,请参阅http://blogs.collab.net/subversion/2009/03/sparse-directories-now-with-exclusion/和http://subversion.apache.org/docs/release-notes/1.6.html#sparse-directory-exclusion。
汤姆
发布于 2008-10-20 11:54:43
对于1.5之前的版本,我发现如果你只签出最顶层的文件夹,然后有选择地更新,那么从那时起,更新只会影响你签出的内容。即。
svn co -N foo
cd foo
svn up -N bar
svn up
-N标志使操作成为非递归的。上面的代码不会在foo级别检出任何其他内容,例如。假设有一个文件夹lala
,最终的svn up将不会签出该文件夹,但它会更新bar
。
但在以后,您可以使用svn up lala
,从而将其添加到结帐。
大概这也适用于1.5。
https://stackoverflow.com/questions/192824
复制相似问题