[devel] I: hg-fast-export для загрузки xen (was: tailor -- что-то не то с загрузкой из Mercurial (hg) репозитариев)
Aleksey Avdeev
=?iso-8859-1?q?solo_=CE=C1_solin=2Espb=2Eru?=
Сб Май 31 02:00:10 MSD 2008
Aleksey Avdeev пишет:
> Alexey I. Froloff пишет:
>
>>* Aleksey Avdeev <solo@> [080505 11:08]:
>>
>>>>Я также думаю, что в некоторых случаях лучше использовать hg2git,
>>>>а не tailor. Точнее, hg2git в последнее время вроде переписали
>>>>на git-fast-import(1), и как теперь эта фигня называется вроде бы
>>>>знает ещё один корифей Sir Raortn, а я забыл.
>>
>>Не, я не корифей. Корифей у нас vsu. Я громко жаловался на
>>канале как криво у меня импортнулся mutt, он мне и показал.
>>
>>
>>>В Сизифе/бранче такой пакет вижу. Использование git-fast-import в нём
>>>заявлено.
>>
>>Он безобразно крив по части детекта мержей. Вот тут
>>http://repo.or.cz/w/fast-export.git его переписали. Мои проблемы
>>оно решило.
>
> OK, гляну.
Здесь,
<http://git.altlinux.org/people/solo/packages/?p=hg2git.git;a=shortlog;h=refs/heads/solo/master>
-- слегка подрихтованный вариант. Сделано следующее:
1. Добавлена возможность задания имени для получаемого на выходе бранча.
2. Изменён способ хранения соответствий hg и git коммитов: в
оригинальном коде сохраняется (и используется в дальнейшем) пара <hg
ревизия>--<git id>, в новом -- <hg id>--<git id>.
Данные изменения позволили реализовать следующие фичи:
1. Количество файлов требующих сохранения между импортами сокращено до 1
(hg2git-changesets).
2. Ликвидирована привязка к начальному репозиторию: Теперь сохраняется
информация о id исходного коммита, а не его номер (который может
отличаться в разных репозитариях данный коммит содержащих).
3. Упрощена загрузка содержимого разных hg репозитариев в разные бранчи
репозитория git.
В качестве примера загруженного из hg в git репозитария можно смотреть
на
<http://git.altlinux.org/people/solo/packages/?p=xen.git;a=commit;h=hg/hg2git-changesets>.
В предках данного коммита бранчи hg/xen-2.0-testing, hg/xen-3.0-testing,
hg/xen-3.0.3-testing, hg/xen-3.0.4-testing, 'hg/xen-3.1-testing' и
hg/xen-3.2-testing полученные из соответствующих hg репозитариев.
PS: Это работающий прототип: код ещё не вычищен (будет неплохо, если
питоноводы на него глянут) и не всё задуманное реализованно... Но то что
сделано -- работает.
--
С уважением. Алексей.
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя : signature.asc
Тип : application/pgp-signature
Размер : 556 байтов
Описание: OpenPGP digital signature
Url : <http://lists.altlinux.org/pipermail/devel/attachments/20080531/2d3f7e89/attachment.bin>
Подробная информация о списке рассылки Devel