Re: [PATCH] remote-hg: do not fail on invalid bookmarks
- From
Torsten Bögershausen <tboegi@web.de>
- Date
- Jan 6, 2014, 13:52 UTC
- Message-ID
- <52CAB508.5010002@web.de>
- In-Reply-To
- <1388316602-22443-1-git-send-email-apelisse@gmail.com>
On 2013-12-29 12.30, Antoine Pelisse wrote:
Show 29 quoted lines
> Mercurial can have bookmarks pointing to "nullid" (the empty root
> revision), while Git can not have references to it.
> When cloning or fetching from a Mercurial repository that has such a
> bookmark, the import will fail because git-remote-hg will not be able to
> create the corresponding reference.
>
> Warn the user about the invalid reference, and continue the import,
> instead of stopping right away.
>
> Signed-off-by: Antoine Pelisse <apelisse@gmail.com>
> ---
> contrib/remote-helpers/git-remote-hg | 3 +++
> 1 file changed, 3 insertions(+)
>
> diff --git a/contrib/remote-helpers/git-remote-hg b/contrib/remote-helpers/git-remote-hg
> index eb89ef6..12d850e 100755
> --- a/contrib/remote-helpers/git-remote-hg
> +++ b/contrib/remote-helpers/git-remote-hg
> @@ -625,6 +625,9 @@ def list_head(repo, cur):
> def do_list(parser):
> repo = parser.repo
> for bmark, node in bookmarks.listbookmarks(repo).iteritems():
> + if node == '0000000000000000000000000000000000000000':
> + warn("Ignoring invalid bookmark '%s'", bmark)
> + continue
> bmarks[bmark] = repo[node]
>
> cur = repo.dirstate.branch()
> (Side note: ap/remote-hg-skip-null-bookmarks)
When I run the test-suite like this: ~/projects/git/git.pu/contrib/remote-helpers$ debug=t verbose=t make test-hg-hg-git.sh
All 11 test cases fail on my systems (Debian Wheezy and Mac OS X): [snip] WARNING: Ignoring invalid bookmark 'master' To hg::../hgrepo-git ! [remote rejected] master -> master error: failed to push some refs to 'hg::../hgrepo-git' not ok 1 - executable bit # [snip]