hg2git работает с локальными репозиториями, но отказывается импортировать нелокальные репозитории: [legion@localhost tmp]$ mkdir mozilla [legion@localhost tmp]$ cd mozilla/ [legion@localhost mozilla]$ git-init Initialized empty Git repository in /tmp/mozilla/.git/ [legion@localhost mozilla]$ hg2git -r http://hg.mozilla.org/index.cgi/mozilla-central Traceback (most recent call last): File "/usr/bin/hg2git.py", line 453, in <module> options.statusfile,authors=a,sob=options.sob,force=options.force)) File "/usr/bin/hg2git.py", line 388, in hg2git if not verify_heads(ui,repo,heads_cache,force): File "/usr/bin/hg2git.py", line 351, in verify_heads branches=repo.branchtags() AttributeError: 'httprepository' object has no attribute 'branchtags' git-fast-import statistics: --------------------------------------------------------------------- Alloc'd objects: 5000 Total objects: 0 ( 0 duplicates ) blobs : 0 ( 0 duplicates 0 deltas) trees : 0 ( 0 duplicates 0 deltas) commits: 0 ( 0 duplicates 0 deltas) tags : 0 ( 0 duplicates 0 deltas) Total branches: 0 ( 0 loads ) marks: 1024 ( 0 unique ) atoms: 0 Memory total: 2204 KiB pools: 2048 KiB objects: 156 KiB --------------------------------------------------------------------- pack_report: getpagesize() = 4096 pack_report: core.packedGitWindowSize = 33554432 pack_report: core.packedGitLimit = 268435456 pack_report: pack_used_ctr = 0 pack_report: pack_mmap_calls = 0 pack_report: pack_open_windows = 0 / 0 pack_report: pack_mapped = 0 / 0 --------------------------------------------------------------------- Каждый раз затягивать весь репозиторий ради инкрементального обновления очень неудобно. Есть ли способ научить его этому ?
hg2git помер, теперь вместо него http://repo.or.cz/w/fast-export.git (прямой потомок по коммитам). Чем не устраивает ситуация сделать один раз hg clone, а потом в нём hg update? Импорт через временный репозитарий, вполне инкрементально получается.
(In reply to comment #1) > hg2git помер, теперь вместо него http://repo.or.cz/w/fast-export.git (прямой потомок по > коммитам). Спасибо за ссылку. Посмотрю обязательно. > Чем не устраивает ситуация сделать один раз hg clone, а потом в нём hg update? Импорт > через временный репозитарий, вполне инкрементально получается. Не устраивает то что нужно держать оооооочень большой репозиторий hg ради одного только импорта в git. Если бы цена вопроса была бы в метр, то я не стал бы заморачиваться.
(In reply to comment #2) > Спасибо за ссылку. Посмотрю обязательно. fast-export/hg-fast-export.sh падает точно также.
(В ответ на комментарий №3) > (In reply to comment #2) > > Спасибо за ссылку. Посмотрю обязательно. > > fast-export/hg-fast-export.sh падает точно также. При том, что погуглив, получил впечатлений, что у всех всё чудесно раьотает, не работает только у нас :(
(В ответ на комментарий №4) > При том, что погуглив, получил впечатлений, что у всех всё чудесно раьотает, не > работает только у нас :( ...но, похоже, это всё про локальные репозитории. потому что: Notes/Limitations ............. The way the hg API and remote access protocol is designed it is not possible to use hg-fast-export on remote repositories (http/ssh). First clone the repository, then convert it.
(В ответ на комментарий №5) > The way the hg API and remote access protocol is designed it is not > possible to use hg-fast-export on remote repositories > (http/ssh). First clone the repository, then convert it. Да.
(В ответ на комментарий №1) > hg2git помер, теперь вместо него http://repo.or.cz/w/fast-export.git (прямой > потомок по коммитам). Несколько пропатченная версия есть здесь: <http://git.altlinux.org/people/solo/packages/?p=hg2git.git;a=shortlog;h=refs/heads/solo/master>. Основные изменения: привязка импорта выполняется не по номеру ревизии (в разных "родственных" hg репозитариях он может плавать), а по id коммитов (в hg эта сущьность постоянная, как и в git). (Подробности описаны здесь: <http://lists.altlinux.org/pipermail/devel/2008-May/155808.html>).