Я отправил svn-файл и теперь хочу его вернуть - PullRequest
2 голосов
/ 21 октября 2011

Я удалил кучу файлов из моего env и зафиксировал изменения. Конечно, теперь я хочу вернуть одного из них.

Каков наилучший способ вернуть ОДИН файл из ревизии?

Я поднял файл из истории просмотров на пакете (это файл java), но не вижу способа вернуть его назад, за исключением копирования и вставки.

Затмение 3.7.0, подклип 1.6

UPDATE

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

Мне нравится решение qor72. Чтобы получить доступ к копии в этом сценарии:

  1. посмотрите историю и найдите удаленный файл.
  2. щелкните правой кнопкой мыши на имени файла и выберите «Копировать».
  3. выберите исходный каталог.
  4. OK.

Ответы [ 3 ]

1 голос
/ 21 октября 2011

То, что я делал в прошлом, - это воссоздание файла в соответствии с документацией SVN , например:

$ svn copy ^/calc/trunk/real.c@807 ./real.c

Затем чтение / фиксация и выключение.

1 голос
/ 21 октября 2011

Вероятно, клиент Subclipse позволит простой способ сделать это. Но если вы хотите попробовать клиент командной строки.

$ cd <working_copy_path>
$ svn merge repo_url[@M] repo_url[@M-1]

M - это версия, в которой вы зафиксировали удаленные файлы. И вы должны вернуть все файлы, которые вы удалили, как добавленные файлы в вашей рабочей копии. Тогда

$ svn commit <your_file_to_be_recovered>
$ svn revert (to remove the rest of added file that you don't need back)

Дополнительная информация о команде svn merge .

0 голосов
/ 13 февраля 2014

вы можете выполнить следующие шаги, чтобы вернуть его

1. Identify the folder in the project which contained the deleted files.

2. Right click the folder, select Team  -> Merge 

Within Merge Pop up Window

3. On the URL tab, Browse and select the "repository resource to merge with" i.e the same folder in the repository.

4. Select Revisions radio button,

5. Click Browse button to select revisions.

6. Select the revisions which you want to be restored ( select the revision wherein you deleted the files / folders )

7. Enable Reversed merge.

8. Click Preview and check that it shows an entry for the file / folder which you plan to restore.

9. Click OK 

10. Eclipse now switches to SVN Merge and with the Synchronize view.

11. In the Synchronize view, right click the files you want and select Accept

12. In the Synchronize view, use the Synchronize SVN icon to switch from SVN Merge to SVN, where you can see the restored file as an outgoing change.

13. Right click the file  -> Team -> commit to check in the file again to the repository. 
...