如何分离本地SVN工作副本?

时间:2010-04-10 12:00:39

标签: svn

我不能只是rm -rf $(find . -name '.svn'),因为我的工作副本中有一些目录是无版本的(在svn:ignore上),同时也是其他svn存储库的副本。

my-repo
|+ directory
||- .svn (to delete)
||- files...
|+ another_directory
||- .svn (to delete)
||- files...
|+ directory_ignored (svn:ignore)
||- .svn (different working copy)
||- more files ...

所以我想告诉subversion只删除属于这个工作副本的所有.svn目录。

这可能吗?

目录结构非常复杂,因此手动操作会非常糟糕。


编辑:最终的工作解决方案是:

for i in $(export IFS=$'\n'; grep -l 'https://complete-repo-path/' find . -name entries|grep .svn | sed 's/ /\ /' | sed 's/.svn/entries//'); do echo $i.svn; done

1 个答案:

答案 0 :(得分:1)

这似乎是一种解决方法,但仍然......

这将为您提供包含svn存储库的URL的目录列表:

grep -l 'https://yourhost/svn/your_working_copy' `find . -name entries|grep .svn` | sed 's/\.svn\/entries//' | xargs echo

如果你认为对,那么你可以rm -rf之后