Как восстановить случайно удаленную папку в хранилище SVN - PullRequest
7 голосов
/ 28 августа 2009

Я знаю, как вернуться к определенной ревизии папки, используя следующие инструкции:

http://aralbalkan.com/1381

Однако я удалил всю папку и хочу вернуть эту папку, не возвращая оставшуюся часть хранилища.

Я попытался воссоздать папку и затем объединить изменения обратно, но svn знает мой трюк и понимает, что это новая папка.

Как мне это сделать?

Ответы [ 3 ]

22 голосов
/ 28 августа 2009

Самый простой способ, вероятно, - скопировать svn дерево, которое вы хотите, из ревизии, где оно в последний раз существовало:

svn copy src@rev dest

Подробнее см. Subversion Book .

0 голосов
/ 15 февраля 2013

Если вы зафиксировали изменения после воссоздания папки, возможно, у вас возникла та же проблема, что и у меня:

Я потерял свою историю для файлов. Затем я svn deleted папка снова, и при выполнении

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/

от этого пути до пути, который должен быть в вашем дереве.

0 голосов
/ 28 августа 2009

Вы можете получить новую рабочую копию, а затем выполнить экспорт интересующей вас папки. После экспорта папки в ней не будет метаданных подрывной деятельности. Затем вы можете поместить папку в рабочую копию, из которой она была удалена.

Удачи.

...