Re: [PATCH 2/3] remote-hg: allow invalid bookmarks in a few edge cases
- From
Antoine Pelisse <apelisse@gmail.com>
- Date
- Mar 19, 2014, 13:07 UTC
- Message-ID
- <CALWbr2yb9_Kumm697w2c68xE6JPpkF9OfxvP2acsPjPFq=zboQ@mail.gmail.com>
- In-Reply-To
- <1395232399-60112-2-git-send-email-max@quendi.de>
Hi Max,
Thank you for working on this. I believe it would be fair that you forget about patch 1/3 as you fix it in this patch (2/3). Also, I think it would be best NOT to integrate a patch (mine) that breaks a test, as it would make bisect harder to use.
Thanks, Antoine
On Wed, Mar 19, 2014 at 1:33 PM, Max Horn <max@quendi.de> wrote:
Show 33 quoted lines
> Fix the previous commit to workaround issues with edge cases: Specifically,
> remote-hg inserts a fake 'master' branch, unless the cloned hg repository
> already contains a 'master' bookmark. If that 'master' bookmark happens
> to reference the 'null' commit, the preceding fix ignores it. This
> would leave us in an inconsistent state. Avoid this by NOT ignoring
> null bookmarks named 'master' or 'default' under suitable circumstances.
>
> Signed-off-by: Max Horn <max@quendi.de>
> ---
> contrib/remote-helpers/git-remote-hg | 7 +++++--
> 1 file changed, 5 insertions(+), 2 deletions(-)
>
> diff --git a/contrib/remote-helpers/git-remote-hg b/contrib/remote-helpers/git-remote-hg
> index 12d850e..49b2c2e 100755
> --- a/contrib/remote-helpers/git-remote-hg
> +++ b/contrib/remote-helpers/git-remote-hg
> @@ -626,8 +626,11 @@ 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
> + if fake_bmark == 'default' and bmark == 'master':
> + pass
> + else:
> + warn("Ignoring invalid bookmark '%s'", bmark)
> + continue
> bmarks[bmark] = repo[node]
>
> cur = repo.dirstate.branch()
> --
> 1.9.0.7.ga299b13
>