Как отсоединить локальную рабочую копию SVN? - PullRequest
4 голосов
/ 10 апреля 2010

Я не могу просто rm -rf $(find . -name '.svn'), потому что в моей рабочей копии есть несколько каталогов, которые не версированы (в svn: ignore) и в то же время рабочие копии других репозиториев svn.

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

Так что я хотел бы просто сказать Subversion удалить все каталоги .svn, принадлежащие только этой рабочей копии.

Возможно ли это?

Структура каталогов довольно сложна, поэтому выполнение ее вручную действительно будет отстой.


Изменить: Рабочее решение наконец-то:

for i in $(export IFS=$'\n'; grep -l '<a href="https://complete-repo-path/" rel="nofollow noreferrer">https://complete-repo-path/</a>' <code>find . -name entries|grep .svn | sed 's/ /\ /' | sed 's / .svn / records //'); do echo $ i.svn; сделанный

1 Ответ

1 голос
/ 10 апреля 2010

Это похоже на обходной путь, но все же ...

Это даст вам список каталогов, содержащих URL вашего хранилища svn:

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

Если вам это кажется правильным, вы можете rm -rf их после этого

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...