Где чердак в Subversion (черепаха)? - PullRequest
4 голосов
/ 02 октября 2008

Ой, мне нужна информация из файла, который я удалил некоторое время назад. В CVS я просто пошел бы в ATTIC, чтобы найти его, как мне найти файл в SVN без необходимости возвращаться к ревизии, где он существовал (особенно раздражает, поскольку я действительно не представляю, когда я удалил - неделю назад две недели назад ...)

Ответы [ 3 ]

6 голосов
/ 02 октября 2008

Просмотрите журнал SVN каталога, в котором он находился, найдите ревизию, в которой вы его удалили. На нижней панели щелкните файл правой кнопкой мыши и выберите параметр «Сохранить ревизию в ..».

Чтобы помочь вам найти, в какой ревизии вы ее удалили, найдите значок документа со знаком X в левом нижнем углу в столбце «Действия» в «Показать журнал».

3 голосов
/ 02 октября 2008

«Чердак» в CVS - это скорее деталь реализации. Файл не может быть удален полностью из репозитория, поскольку история файла находится в самом файле ",v", поэтому CVS перемещает его в сторону.

Subversion использует более сложный механизм хранения репозитория, в котором файлы не нужно перемещать таким образом. Я не думаю, что есть простой способ запросить последнюю ревизию, в которой существовал файл, но вы сможете найти его достаточно легко, используя "svn ls -r rev ". В этом случае rev может быть любой вещью, которую Subversion принимает для обозначения ревизии - число, дата и т. Д. Просто вернитесь в историю, пока не найдете ее, затем шагните вперед, пока не найдете последнюю пересмотр, где он существовал.

Обновление: @AviewAnew имеет хорошую идею о проверке журнала каталога, в котором был файл. Поскольку удаление файла на самом деле является изменением каталога, в котором он находится, должно быть легко найти, где файл исчез таким образом.

2 голосов
/ 02 октября 2008
svn log --verbose

покажет вам, что вы удалили. Тогда вы можете сделать

svn copy --revision <last_revision_with_deleted_file>

чтобы получить рабочую копию удаленного файла. Это не должно быть сложнее, чем получить удаленный файл из CVS.

...