Как восстановить файл с помощью Subversive? - PullRequest
18 голосов
/ 31 января 2009

Обратите внимание: это вопрос о Eclipse-плагине Subversive , а не о самом Subversion. Пожалуйста, не меняйте название на «Subversion».

Итак, я удалил файл, которого у меня действительно не было.

Я нашел различные подходы к восстановлению файла вне Eclipse / Subversive, но мне было интересно, есть ли лучший / самый простой в использовании / способ восстановления истории для восстановления файла с помощью инструмента Subversive.

Ответы [ 7 ]

17 голосов
/ 01 сентября 2009
  1. Выберите папку в проекте, которая содержала удаленные файлы.
  2. Щелкните правой кнопкой мыши, выберите Команда> Объединить ...
  3. На вкладке URL установите URL на URL-адрес сервера для той же папки.
  4. В Ревизии выберите Ревизии и введите диапазон, который включает удаление, например, 1000-1001 или используйте кнопку Обзор , чтобы выбрать их.
  5. В Ревизии , включить Обратное слияние
  6. Нажмите Предварительный просмотр и убедитесь, что он показывает Добавлена ​​запись для файлов, которые вы планируете восстановить.
  7. Нажмите OK - Eclipse переключится на SVN Merge в представлении Synchronize .
  8. В представлении Синхронизация щелкните правой кнопкой мыши нужные файлы и выберите Принять
  9. В представлении Synchronize используйте значок Synchronize SVN , чтобы переключиться с SVN Merge на SVN , где вы можете увидеть восстановлен файл как исходящее изменение.
4 голосов
/ 31 января 2009

Если вы уже отправили удаление, теперь пришло время откатиться к более ранней версии. В Subversion вы делаете это с помощью «svn merge», где вы сливаете «назад» из текущей в предыдущую версию.

Скажем, вы сделали это:

$ svn rm file.txt
$ svn ci -m "don't need that file"
Committed revision 1325.

Теперь вы хотите отменить это и восстановить старую ревизию 1324, то есть состояние непосредственно перед удалением (точка обозначает «текущий каталог»):

$ svn merge -r1325:1324 .

Если вы не уверены, что вы можете сначала выполнить пробный прогон, где svn напечатает вывод команды, но на самом деле ничего не сделает:

$ svn --dry-run merge -r1325:1324 .

Результат должен указывать, что файл добавляется (снова):

A file.txt
2 голосов
/ 14 января 2016

Просто "Показать историю" в папке, в которой был файл. Затем нажмите на историю и найдите потерянный файл.

2 голосов
/ 31 января 2009

вы можете переключиться на ревизию, где этот файл существовал. Отредактируйте / скопируйте этот файл и вернитесь к главному редактору и зафиксируйте его здесь.

Также вы можете объединить изменения между двумя ревизиями - заголовок и файл последней ревизии уже существуют в хранилище и применить изменения к вашей рабочей копии.

0 голосов
/ 10 февраля 2018

У меня была похожая проблема, я удалил набор файлов, связанных с функцией, которые через пару месяцев я хочу восстановить.

Самым простым решением в моем случае было проверить в отдельном каталоге весь проект, каким он был до удаления файла .

Чтобы сделать это из Eclipse Repository View, перейдите в свой проект, щелкните правой кнопкой мыши «Check As As ...», в модальном окне напишите папку назначения, выберите подходящую дату прошлого, в которое существовал удаленный файл ( странно, мой плагин не дает возможности выбрать данную ревизию ..) и проверить.

Теперь вы можете легко искать, находить и копировать файлы, которые вы хотите восстановить.

0 голосов
/ 19 декабря 2016

Проще: попробуйте зафиксировать, Eclipse покажет вам диалог с измененными файлами, щелкните правой кнопкой мыши на том, который вы хотите удалить, и выберите «Вернуть».

0 голосов
/ 31 января 2009

Полагаю, вы надеетесь не прибегать к командной строке, но в случае, если это полезно в качестве крайней меры, посмотрите этот вопрос, чтобы узнать, как это сделать из командной строки: Какой простой способ восстановить файл в подрывной деятельности?

...