Используйте svn merge:
svn merge -c -[rev num that deleted the file] http://<path to repository>
Итак, пример:
svn merge -c -12345 https://svn.mysite.com/svn/repo/project/trunk
^ The negative is important
Для TortoiseSVN (я думаю ...)
- Щелкните правой кнопкой мыши в проводнике, перейдите в TortoiseSVN -> Объединить ...
- Убедитесь, что выбран параметр «Объединить ряд ревизий», нажмите «Далее».
- В текстовом поле «Диапазон ревизий для слияния» укажите ревизию, из которой был удален файл.
- Установите флажок «Обратное слияние», нажмите «Далее».
- Нажмите "Объединить"
Однако это совершенно не проверено.
Отредактировано OP: это работает в моей версии TortoiseSVN (старая версия без следующей кнопки)
- Перейдите в папку, из которой был удален материал
- Щелкните правой кнопкой мыши в проводнике, перейдите в TortoiseSVN -> Объединить ...
- в разделе От введите ревизию, в которой было выполнено удаление
- в разделе Кому введите версию перед удалением.
- Нажмите "объединить"
- совершить
Уловка состоит в том, чтобы объединить в обратном направлении. Престижность sean.bright за то, что указал мне в правильном направлении!
Изменить: мы используем разные версии. Описанный мной метод отлично работал с моей версией TortoiseSVN.
Также следует отметить, что если в коммите, который вы выполняете обратное слияние, было несколько изменений, вы захотите отменить эти другие изменения после того, как слияние будет выполнено, до того, как вы сделаете коммит. Если вы этого не сделаете, эти дополнительные изменения также будут отменены.
person
Sean Bright
schedule
29.01.2009