Получение последней версии удаленной папки в Subversion

Мне нужно, чтобы содержимое папки давно удалено из нашего репозитория

  • Я до сих пор знаю название папки
  • Я не знаю ревизии, в которой он был удален
  • Я не знаю дату, когда он был удален
  • В истории родительского каталога нет информации (т. Е. Нет комментария о том, что папка удалена)

svn log, похоже, не помогает:

$ svn log deleted_folder
svn: 'deleted_folder' is not under version control

svn co тоже не помогает

$ svn co URL/deleted_folder

Как узнать последнюю ревизию удаленной папки?

РЕДАКТИРОВАТЬ: вариант будет с грубой силой проверять в обратном порядке для каждой ревизии, но, поскольку их более 10 КБ, вариант будет только на случай крайней необходимости. И я действительно чувствую, что определенно должен быть лучший способ.


person Matteo    schedule 19.01.2012    source источник
comment
Я не уверен, что это сработает, но попробуйте перейти в родительский каталог удаленного каталога, сделайте svn log -v . | grep deleted_folder и посмотрите, поможет ли это найти ревизию, в которой он был удален.   -  person Michael Burr    schedule 19.01.2012
comment
@MichaelBurr Спасибо, это было так просто. На самом деле вам нужно что-то большее, поскольку grep выдаст вам именно эту строку, но я могу перенаправить вывод в файл, а затем посмотреть назад, какая была ревизия. Отправьте это как ответ, чтобы я принял его.   -  person Matteo    schedule 19.01.2012
comment
@MichaelBurr Также необходимо проверить родительскую папку данной ревизии: svn co -rREVISION .../parent/deleted_folder не будет работать. svn co -rREVISION .../parent работает. Я проверю много лишнего, но работает.   -  person Matteo    schedule 19.01.2012


Ответы (2)


Вы можете найти ревизию, в которой был удален каталог, перейдя в родительский каталог удаленного каталога и используя следующую команду:

 svn log -v . > somefile

затем найдите в каком-нибудь файле в редакторе запись ревизии, содержащую удаление для имени каталога.

person Michael Burr    schedule 19.01.2012
comment
Одно примечание: svn log -q -v будет немного лучше - person Lazy Badger; 19.01.2012

Вы можете найти ревизию, используя:

svn log -v | grep "D / удаленная_папка" -C 5

Затем вам следует скопировать ревизию в текущую согласно ответу на этот вопрос:

просмотр истории удаленного файла

person Jason    schedule 19.01.2012
comment
Спасибо, -C 5 не может быть достаточно, но я всегда могу сохранить результат svn log в файл, а затем искать версию вручную. - person Matteo; 19.01.2012