开发者

How do I detach a local SVN working copy?

开发者 https://www.devze.com 2022-12-26 15:00 出处:网络
I cannot just rm -rf $(find . -name \'.svn\'), because I\'ve got some directories in my working copy which are unversioned (on svn:ignore) and at the same time working copies of other svn repositories

I cannot just rm -rf $(find . -name '.svn'), because I've got some directories in my working copy which are unversioned (on svn:ignore) and at the same time working copies of other svn repositories.

my-repo

|+ directory

||- .svn (to delete)

||- files...

|+ another_directory

||- .svn (to delete)

||- files...

|+ directory_ignored (svn:ignore)

||- .svn (different working copy)

||- more files ...

So I'd like to just tell subversion to remove all .svn directories belonging to this working copy only.

Is this possible?

The directory structure is quite complex, so doing it manually would really suck.

Edit: The working solution 开发者_开发知识库finally is:

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


This seems like a workaround but still...

This will give you the list of directories containing the URL of your svn repository:

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

If it seems correct to you, you may rm -rf them after that

0

精彩评论

暂无评论...
验证码 换一张
取 消