Восстановить историю для файлов, переименованных путем удаления / добавления в Subversion - PullRequest
2 голосов
/ 21 октября 2010

Кто-то непреднамеренно переименовал файл в рабочей копии SVN, удалив старый и добавив переименованный файл вместо использования соответствующей команды переименования SVN.В новый файл продолжали вноситься изменения, но, к сожалению, история теперь не работает.Если вы не знаете, где искать, вы даже не узнаете, что это проблема.

Могу ли я заново связать историю старого и нового файла?

Ответы [ 2 ]

2 голосов
/ 21 октября 2010

Сколько изменений было выполнено?

Мое решение будет:

  1. Удалить текущий файл
  2. Скопируйте последнюю версию N файла, который был удален, с помощью: svn copy -r N proto://path/to/file.ext file.ext
  3. Переименуйте его с правильным svn rename
  4. Повторно применить каждый diff, который был сделан с «новым» файлом (если это не так важно - вы также можете получить только один большой diff между «первым рев нового файла» и «последним рев нового файла»
1 голос
/ 21 октября 2010

Нет прямого способа сделать это в подрывной деятельности. На самом деле разработчики Subversion много спорили (без консенсуса) по этой теме. В вашем случае вам нужно просто пропустить определенные ревизии, которые вызвали удаление и переименование. Вы можете искать больше по этой теме, если вы ищете подрывная облитерация . В этой ссылке есть howto на эту тему.

Примечание. Если не предпринять тщательных мер, вы можете оказаться в беде. Также убедитесь, что вы сохраняете UID при выполнении дампа и загрузки, иначе разработчикам придется переключиться на обновленное хранилище.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...