Bug 16362 - Не импортирует нелокальные репозитории
: Не импортирует нелокальные репозитории
Status: CLOSED WONTFIX
: Sisyphus
(All bugs in Sisyphus/hg2git)
: unstable
: all Linux
: P2 normal
Assigned To:
:
:
:
:
:
  Show dependency tree
 
Reported: 2008-07-15 19:06 by
Modified: 2012-03-16 13:59 (History)


Attachments


Note

You need to log in before you can comment on or make changes to this bug.


Description From 2008-07-15 19:06:33
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
---------------------------------------------------------------------

Каждый раз затягивать весь репозиторий ради инкрементального обновления очень
неудобно. Есть ли способ научить его этому ?
------- Comment #1 From 2008-07-15 19:17:36 -------
hg2git помер, теперь вместо него http://repo.or.cz/w/fast-export.git (прямой
потомок по коммитам).

Чем не устраивает ситуация сделать один раз hg clone, а потом в нём hg update? 
Импорт через временный репозитарий, вполне инкрементально получается.
------- Comment #2 From 2008-07-15 19:26:14 -------
(In reply to comment #1)
> hg2git помер, теперь вместо него http://repo.or.cz/w/fast-export.git (прямой потомок по
> коммитам).

Спасибо за ссылку. Посмотрю обязательно.

> Чем не устраивает ситуация сделать один раз hg clone, а потом в нём hg update?  Импорт
> через временный репозитарий, вполне инкрементально получается.

Не устраивает то что нужно держать оооооочень большой репозиторий hg ради
одного только импорта в git. Если бы цена вопроса была бы в метр, то я не стал
бы заморачиваться.
------- Comment #3 From 2008-07-15 19:48:35 -------
(In reply to comment #2)
> Спасибо за ссылку. Посмотрю обязательно.

fast-export/hg-fast-export.sh падает точно также.
------- Comment #4 From 2009-01-23 01:58:21 -------
(В ответ на комментарий №3)
> (In reply to comment #2)
> > Спасибо за ссылку. Посмотрю обязательно.
> 
> fast-export/hg-fast-export.sh падает точно также.

При том, что погуглив, получил впечатлений, что у всех всё чудесно раьотает, не
работает только у нас :(
------- Comment #5 From 2009-01-23 02:19:11 -------
(В ответ на комментарий №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.
------- Comment #6 From 2009-04-30 17:09:40 -------
(В ответ на комментарий №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.
Да.
------- Comment #7 From 2009-04-30 20:44:17 -------
(В ответ на комментарий №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>).