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
精彩评论