Вопрос

Ой, мне нужна информация из файла, который я удалил некоторое время назад. В 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.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top