Объединение Subversion History после удаления и добавления файла - PullRequest
0 голосов
/ 17 июня 2019

Я использую SVN версии 1.9.7, и я случайно сделал следующее:

cp dir1 / a.txt dir2 / a.txt

svn rm dir1 / a.txt

svn add dir2 / a.txt

SVN коммит

Пока я собирался это сделать:

svn mv dir1 / a.txt dir2 / a.txt

SVN коммит

В результате я больше не вижу историю предыдущих версий файла a.txt. Я все еще могу видеть историю a.txt, если вернуться к более старой версии и проверить историю dir1/a.txt.

В базовый каталог внесены тысячи новых изменений. Возможно ли получить сводную историю только за a.txt в новом месте? В a.txt подсчитано несколько изменений с тех пор, как я переехал на новое место. Так что я не возражаю против копирования-вставки, если оно выполнит свою работу.

P.S .: Я прочитал много постов, касающихся подобных проблем, но я не смог найти что-то, что решило бы мою ситуацию. Пожалуйста, помогите!

1 Ответ

1 голос
/ 18 июня 2019

Два возможных способа:

  1. Грязный взлом.Создайте (на небольшом новом тестовом репо) две ревизии с перемещением OS-cp и SVN, сбросьте эти ревизии в дамп (svnadmin dump), найдите разницу и воспроизведите его в коммите new «большой» репо для безопасности(выгрузить весь репозиторий, выгрузить ревизию, загрузить большой дамп в копию, отредактировать небольшой дамп, загрузить его)

  2. Более хитрый, но "естественный" способ.Обновите WC до версии перед «плохим ходом»: у вас будет старый файл в старом месте.Филиал WC, правильно переместит файл в новое местоположение (идентично местоположению в TRUNK), выполните слияние вишен из TRUNK в BRANCH для ревизий, которые изменяют рассматриваемый файл ИЛИ (если в этих наборах изменений больше одного файла) просто объедините поддерево - этот отдельный файл ИЛИ (если вы хотите иметь полную и чистую историю), сохраняйте каждое изменение в файле после точки ветвления, чтобы исправить | применить исправления и зафиксироватьФИЛИАЛ на основе каждого патча, вернитесь обратно в заголовок TRUNK и объедините ответвление.В результате вы получите исправленную общую историю (часть которой находится в ветке, противоположной старому «чистому стволу»)

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