Как восстановить случайно удаленную папку в репозитории svn
Я знаю, как вернуться к определенной ревизии папки, используя следующие инструкции:
тем не менее, я удалил всю папку и хочу получить эту папку обратно, не возвращая остальную часть репозитория.
Я попытался воссоздать папку, а затем объединить изменения обратно, но svn знает мой трюк и понимает, что это новая папка.
Как мне это сделать?
3 ответов
самый простой способ, вероятно,svn копировать дерево, которое вы хотите, из редакции, где он последний раз существовал:
svn copy src@rev dest
посмотреть Книги О Subversion для сведения.
вы можете проверить новую рабочую копию, а затем выполнить экспорт интересующей вас папки. После экспорта папки в ней не будет метаданных subversion. Затем вы можете поместить папку в рабочую копию, из которой она была удалена.
удачи.
если вы совершили изменения после воссоздания папки, возможно, у вас есть та же проблема, что и у меня:
Я потерял свою историю для файлов. Тогда Я ... --4--> папка снова, и при выполнении
svn cp ^/path/to/directory@revisionNumber /path/to/directory
я получил эту ошибку:
svn: path "htttp://.../path/to/directory" not found for revision "revisionNumber".
в этом случае вы можете использовать вспомогательную папку (~/tmp/ и) делать
cd ~/tmp; svn co -r revisionNumber /path/to/directory
он создаст папку ~ / tmp / directory / со всеми содержащимися в ней файлами. предположим, что место где вы удалили каталог / location/of/my/trunk/path / to/
а затем выдать
cd location/of/my/trunk/path/; svn copy ~/tmp/directory/ to/
от этого пути к пути он должен быть в вашем дереве.