svn:导入时忽略属性

时间:2009-04-10 06:12:55

标签: svn svnignore

如何在执行导入时递归地应用svn:ignore glob?

2 个答案:

答案 0 :(得分:16)

你不能通过常规导入来做到这一点;你需要一个in-place import

答案 1 :(得分:9)

我不确定你在导入时“递归地应用 svn:ignore ”是什么意思。

如果要从导入中排除一组文件,可以在导入之前在~/.subversion/config中设置 global-ignores 属性。没有命令行选项可以即时完成。

或者,您可以添加目录并在提交之前删除不需要的文件:

$ svn co --non-recursive <repository_url> repo_root
$ cp -R <project_to_import> repo_root
$ cd repo_root
$ svn add *
$ find . -regex ".*\.\(bak\|obj\)" | xargs svn --force del
$ svn ci

虽然费力,但我更喜欢后一种方法,因为我不是 svn import 的忠实粉丝( svn del 部分对我来说并不常见,我喜欢复习提交前的文件列表。)

否则,如果您想要在导入之前设置层次结构中每个目录的 svn:ignore 属性,则必须使用第二种方法并执行 svn propset 在评论之前(而不是 svn del ):

$ svn propset -R -F ignore.txt svn:ignore .

(您实际上可以执行 svn import ,然后执行 svn propset ,但不能在单次提交中执行。)