Где чердак в Subversion (черепаха)?
-
03-07-2019 - |
Вопрос
Ой, мне нужна информация из файла, который я удалил некоторое время назад. В CVS я просто пошел бы в ATTIC, чтобы найти его, как мне найти файл в SVN, не возвращаясь к ревизии, где он существовал (особенно раздражает, так как я понятия не имею, когда я действительно удалил - неделю назад, две недели назад ...)
Решение
Просмотрите журнал SVN каталога, в котором он находился, найдите ревизию, в которой вы его удалили. На нижней панели щелкните файл правой кнопкой мыши и выберите параметр «Сохранить ревизию в ...».
Чтобы выяснить, в какой ревизии вы ее удалили, найдите значок документа с крестиком в левом нижнем углу в столбце «Действия» в «Показать журнал».
Другие советы
"Чердак" в CVS это больше детали реализации. Файл не может быть полностью удален из репозитория, поскольку история файлов находится в " , v
" сам файл, поэтому CVS перемещает его в сторону.
Subversion использует более сложный механизм хранения репозитория, в котором файлы не нужно перемещать таким образом. Я не думаю, что есть простой способ запросить самую последнюю ревизию, в которой существовал файл, но вы сможете найти его достаточно легко, используя " svn ls -r rev " ;. В этом случае rev может быть любой из вещей, которые Subversion принимает для обозначения ревизии - число, дата и т. Д. Просто вернитесь в историю, пока не найдете ее, затем шагните вперед, пока не найдете последняя редакция, где она существовала.
Обновление: у @AviewAnew есть хорошая идея проверить журнал каталога, в котором был файл. Поскольку удаление файла - это действительно изменение каталога, в котором он находится, должно быть легко найти, где файл исчез таким образом.
svn log --verbose
покажет вам, что вы удалили. Тогда вы можете сделать
svn copy --revision <last_revision_with_deleted_file>
, чтобы получить рабочую копию удаленного файла. Это не должно быть сложнее, чем получить удаленный файл из CVS.