Избирательный подход к выбору от мерзавца к svn (или, Как сохранить историю проекта в мерзавце и выпуски в svn),

Я в состоянии, где я - единственный с помощью мерзавца, все другие используют svn. Я использовал 'мерзавца svn' для соединения с командой svn, и главным образом она работает просто великолепно. В последнее время я запустил проект первоначально самостоятельно, разделите мерзавца repo, и теперь я должен объединить материал от него до svn. Однако я все еще хотел бы продолжать настраивать реализацию в своей собственной конфиденциальности между выпусками.

Так, каков был бы самый простой способ избирательно подойти к выбору некоторых фиксаций от моего частного repo до svn-клонированного repo? Требование должно сохранить полную локальную историю и иметь только одну фиксацию svn для каждого выбора. Или есть ли некоторое сплющивание, которое будет сделано?

Как метод для достижения этого существует ли способ получить частный repo как другой источник для svn-клонированного repo?

5
задан Jawa 19 March 2010 в 11:26
поделиться

2 ответа

Вы можете попробовать git graft коммит из вашего Git-репо в коммит git-svn-репо перед git dcommit git svn-репо.

Коммит из вашего репозитория может быть изолирован в специальном ответвлении, когда может происходить всякого рода сквошинг для экспорта более чистой истории.

2
ответ дан 15 December 2019 в 06:22
поделиться

Если вы единственный человек, использующий репозиторий git на данный момент, вы можете рассмотреть возможность переназначения всей своей работы поверх созданного вами пустого клона Subversion. Затем настройте ветку, чтобы удерживать ваши отталкивания до подрывной деятельности, прижимайте к ней каждый выпуск и отправляйте обратно в SVN.

Для более глубокого решения, рассмотрите возможность использования git commit-tree напрямую - предоставьте ему дерево, которое вы хотите зафиксировать (можно найти, запустив git show --format = raw HEAD и глядя на вторую строку («дерево»)), правильную родительскую фиксацию (независимо от того, что в настоящее время находится в подгруппе) и правильное сообщение журнала на stdin. Это напрямую связано с использованием сантехники, вы, вероятно, захотите написать сценарий, который сделает это за вас ... Эффект заключается в том, что вы создали новую фиксацию, содержащую содержимое файла существующей фиксации (сравните с вишневым выбором, который требует разница, добавленная существующей фиксацией, а не копирование дерева).

1
ответ дан 15 December 2019 в 06:22
поделиться
Другие вопросы по тегам:

Похожие вопросы: