Mercurial > hg
changeset 49384:3b8fce9a74df stable
git: make sure to fsdecode bookmark names everywhere (issue6723)
author | Anton Shestakov <av6@dwimlabs.net> |
---|---|
date | Mon, 04 Jul 2022 15:01:52 +0400 |
parents | 55adff810546 |
children | 3c4d36a96a3e |
files | hgext/git/__init__.py tests/test-git-interop.t |
diffstat | 2 files changed, 8 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/hgext/git/__init__.py Mon Jul 11 09:50:32 2022 +0200 +++ b/hgext/git/__init__.py Mon Jul 04 15:01:52 2022 +0400 @@ -204,7 +204,9 @@ @active.setter def active(self, mark): - githead = mark is not None and (_BMS_PREFIX + mark) or None + githead = None + if mark is not None: + githead = _BMS_PREFIX + pycompat.fsdecode(mark) if githead is not None and githead not in self.gitrepo.references: raise AssertionError(b'bookmark %s does not exist!' % mark) @@ -254,7 +256,7 @@ ) def checkconflict(self, mark, force=False, target=None): - githead = _BMS_PREFIX + mark + githead = _BMS_PREFIX + pycompat.fsdecode(mark) cur = self.gitrepo.references['HEAD'] if githead in self.gitrepo.references and not force: if target:
--- a/tests/test-git-interop.t Mon Jul 11 09:50:32 2022 +0200 +++ b/tests/test-git-interop.t Mon Jul 04 15:01:52 2022 +0400 @@ -119,6 +119,10 @@ and bookmarks: $ hg bookmarks * master 1:3d9be8deba43 + $ hg up master + 0 files updated, 0 files merged, 0 files removed, 0 files unresolved + $ hg bookmarks + * master 1:3d9be8deba43 diff even works transparently in both systems: $ echo blah >> alpha