переименуйте файл и замените старое имя файла файлом из предыдущей версии в Subversion - PullRequest
0 голосов
/ 23 июля 2010

У меня есть ветка Subversion, проверенная с помощью TortoiseSVN в Windows.У меня есть файл, назовите его myfile.txt, который я хочу переименовать, например mynewfile.txt.Однако я хочу сохранить myfile.txt и вернуться к предыдущей версии, скажем, r15.Итак, я хочу, чтобы myfile.txt содержал содержимое из r15, а mynewfile.txt - содержимое myfile.txt из rHEAD.Я надеялся, что смогу как-то сделать это с помощью команд Subversion, чтобы сохранить историю файла.Таким образом, когда я фиксирую это и вы смотрите на изменения, вы видите, что mynewfile.txt - это просто переименование myfile.txt, и теперь myfile.txt имеет свое старое содержимое из r15.Это возможно?Должен ли я просто переименовать myfile.txt -> mynewfile.txt, а затем переделать myfile.txt, вручную скопировав в него содержимое из r15?

Ответы [ 2 ]

4 голосов
/ 23 июля 2010
svn cp myfile.txt mynewfile.txt
svn co -r15 myfile.txt
svn commit

Я считаю, что это сохранит историю, как вы пожелаете.

РЕДАКТИРОВАТЬ : TortoiseSVN, не понял!Новые шаги:

  1. Откройте браузер репо и щелкните правой кнопкой мыши свой файл myfile.txt
  2. . Выберите «Копировать в ...» и выберите mynewfile.txt в качестве нового имени.
  3. Щелкните правой кнопкой мыши myfile.txt в извлеченной копии , выберите «Обновить до ревизии» и выберите 15.
  4. Commit.
1 голос
/ 27 июля 2010

Вам нужна вторая рабочая копия в старой ревизии (достаточно скопировать каталог и обновить только один файл).Затем вам нужно выполнить следующие шаги:

  • В рабочей копии HEAD Выберите rename в контекстном меню svn, чтобы переименовать файл
  • , перейдите в старую рабочую копию и перетащитестарый файл в рабочую копию HEAD правой кнопкой мыши
  • выбрал svn copy versioned items here из появившегося меню
  • commit (убедитесь, что в текстовом статусе написано "заменено (+) "для старого файла и" добавлено (+) "для нового файла)
...