Я пытаюсь импортировать изменения из одной системы контроля версий (проприетарной и сложной) в git-репозиторий.В настоящее время я делаю это, выполняя скрипт, который просто синхронизируется с каждой ревизией по порядку и фиксирует это в репозитории git, но по разным причинам это стало неработоспособным.
Для каждой ревизии я могу получить универсальныйразличие, описывающее изменение.Мне кажется, что этого должно быть достаточно, чтобы импортировать историю в git, но я не могу понять, как заставить git сделать это.Похоже, мне нужно что-то среднее между git-apply и git-fast-import.Возможно, мне следует создать содержимое файла из предыдущей версии и diff, а затем использовать git-fast-import?Или, может быть, я должен отформатировать diff как git patch, сохранить его как файл и использовать git-apply?
У кого-нибудь есть для меня хорошие идеи?
РЕДАКТИРОВАТЬ: Причина синхронизации ификсация стала неработоспособной в два раза:
Во-первых, сервер поддерживает список файлов, которые вы редактировали.Синхронизация с отредактированными файлами не может быть легко автоматизирована, поэтому при обновлении я отменяю свои изменения.У нас есть система очереди регистрации, которая позволяет вам регистрироваться только тогда, когда ни у кого из вас нет файлов «на редактировании», как у вас.Таким образом, снятие файлов с «редактирования» для обновления создает окно, в котором, похоже, люди могут безопасно опередить вас.
Во-вторых, все ветки хранятся в одном и том же хранилище, и мы интенсивно используем ветки.Синхронизация всего проста и работает, синхронизация только одного каталога (из той ветви, в которой я работаю) кажется глючнойЕсли я синхронизирую все, хотя другие ветки обновляются, когда я не хочу, чтобы они были.Обычно это не было бы проблемой, но у нас есть другой инструмент, который усложняет ...