[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