В любом случае, я могу легко объединить ветки Git, созданные в CVS2Git Migration?
Недавно мы перенесли наш CVS-репозиторий в Git.
В нашем CVS-репозитории у нас было несколько веток с кодом, который мы спрятали после завершения разработки, пока у нас не было времени запланировать их на более поздний момент.
Когда мы выполняли миграцию с использованием CVS2Git, это приводило к переносу веток в репозиторий Git, но способ, которым это работало, заключался в том, что в ветке Git появлялись только те файлы, которые фактически были разветвлены в CVS.
Так, например, если у нас было следующее дерево файлов / папок в CVS на HEAD:
lib
-com
-example
-folder1
-file1a
-file1b
-folder2
-file2a
-file2b
И затем мы разветвляли только файлы "file1a" и "file2b" в ветке BRANCH_COOL_FEATURE в CVS, в результате ветвь "BRANCH_COOL_FEATURE" в Git содержит ТОЛЬКО файлы "file1a" и "file2b".
Я ищу самый простой способ определить все файлы, включенные в ветку CVS, в которые я хотел бы объединиться, включая точку, с которой они были разветвлены в CVS, так что я точно знаю, в какой diff нужно объединиться, и затем автоматически сделать слияние.
Это лучшее, что у меня есть, но я надеялся, что есть лучший способ:
1) git diff - name-status в MASTER и BRANCH_COOL_FEATURE с diff-фильтром, установленным в M, чтобы идентифицировать все файлы, фактически измененные в ветви, или просто взять полный список файлов в ветви 2) Для каждого из файлов посмотрите историю CVS и сопоставьте временные метки, чтобы определить две сгенерированные Git-фиксации для этого файла, которые представляют собой объединяемый diff 3) Запустите git merge для этого конкретного файла и укажите эти две фиксации как diff для слияния в
Ценю любую помощь, спасибо!
-Гит новичок
PS У меня нет тонны подробностей о том, как выполнялось реальное преобразование CVS2Git, но, если это важно, я, вероятно, смогу его заполучить.
Есть ли способ легко