«Кто-то» извлек
/giant-repo/trunk/sublib
в
/fancyname/trunk
Некоторые из каталогов и файлов были скопированы или перемещены правильно, с использованием svn cp
и svn mv
, таким образом сохранив историю.
Другие, как файлы, так и каталоги, были созданы заново (изоморфно переименование по модулю из sublib
в fancyname
) в новом местоположении до того, как содержимое файла было скопировано из исходного местоположения (т. е. без версии).
Что я вижу:
~/work/fancyname> svn log -r 1234 --verbose
...
A /fancyname/trunk/foo.txt
A /fancyname/trunk/bar.txt (from /giant-repo/trunk/sublib/bar.txt:950)
...
Всего около 140 файлов и 100 коммитов в /fancyname/trunk
на данный момент.
Есть ли способ сказать Subversion, что foo.txt
, добавленный в r1234
, действительно должен был быть копией из sublib/foo.txt:950
?
Если нет (и я подозреваю, что это так), как я могу привести это в форму? Я предполагаю, что для файлов, у которых не было коммитов в новом репо, самым простым решением будет удалить новый файл (есть ли «супер» откат, который отменяет добавление из репозитория?), а затем выдать правильный svn cp
.
Как насчет файлов с изменениями в новом репо, есть ли способ «замариновать» эти изменения, правильно скопировать файл, а затем повторно применить изменения?