Из вашего вопроса я делаю вывод, что ваш старый проект (назовем этот проект A) находится под контролем исходного кода, а ваш новый проект (проект B) - нет.Если это действительно так, у вас есть пара вариантов.
Как вы предлагаете в своем последующем комментарии, импортируйте B как поддерево A. По определению вы достигли своей цели сохраненияистория A (потому что вы не изменили A).Обратите внимание, что есть два основных способа сделать этот импорт: однократный импорт и импорт на месте .Вы можете прочитать подробности об обоих в руководстве по черепахе здесь , но вы можете начать с этой таблицы, которую я собрал, чтобы проиллюстрировать различия:
В двух словахимпорт за один раз (выполняется через SVN >> Import
) звучит как экономия времени, но на самом деле он занимает столько же шагов, что и импорт на месте (выполняется через SVN >> Add
), а последний является более гибким (из-за пункта 2 в таблице) и больше к задаче (пункты 3, 4 и 5).
Другая возможность, вытекающая из вашего вопроса, заключается в том, что вы хотите начать новый проект в хранилищедля B (выполняется с помощью тех же вариантов импорта, что и выше), и затем вы хотите переместить дерево для A под B. Это простая операция перетаскивания в проводнике Windows.Но используйте правую кнопку мыши для перетаскивания, чтобы получить контекстное меню, когда вы отпускаете кнопку мыши над целью.Затем выберите SVN Move versioned item(s) here
.Это действие фактически порождает как действие delete , так и действие add , как вы увидите, если затем откроете диалоговое окно фиксации для родительского элемента, общего для исходного и целевого каталогов.Subversion сохраняет информацию о перемещении неявным образом, однако: после фиксации просмотрите журнал с нового места и снимите флажок внизу с надписью stop on copy/rename
, вы увидите полную историю.