Как обнаружить и/или удалить пустые каталоги Subversion?

Я искал в Google, но не нашел ответа на этот вопрос. Как я могу обнаружить и/или удалить пустые каталоги в репозитории Subversion? Я хочу удалить эти каталоги; все, что у них есть, это их каталог .svn.

Я использую Windows и имею доступ к SVN из командной строки, а также у меня установлен TortoiseSVN.


person ArmlessJohn    schedule 18.02.2011    source источник


Ответы (2)


Это то, что вам нужно как-то написать в сценарии, потому что для этого нет команды Subversion. Вы можете использовать «svn ls -R URL_TO_REPO_ROOT», а затем получить записи, которые заканчиваются на /, в которых нет дочерних элементов. Для «svn ls» каталог всегда заканчивается «/», поэтому используйте это в своих интересах при написании этого сценария.

person Jeremy Whitlock    schedule 18.02.2011
comment
будьте осторожны... возможно, что некоторые из этих каталогов содержат svn:externals... я бы сделал это с рабочей копией вместо REPO_URL... и затем зафиксировал бы изменения на вашем месте. - person prodigitalson; 18.02.2011
comment
Хорошая точка зрения. В рабочей копии у вас также могут быть пустые каталоги из-за глубины извлечения/обновления, поэтому я предложил использовать URL-адрес для svn ls -R вместо пути рабочей копии. - person Jeremy Whitlock; 18.02.2011

Вот скрипт, который обнаруживает пустые каталоги в рабочей копии:

https://gist.github.com/852051

На этой странице есть более короткие решения, но они не работать рекурсивно, когда полная иерархия каталогов пуста.

person Emmanuel Bourg    schedule 17.02.2012