Mercurial > public > mercurial-scm > hg
annotate mercurial/utils/hashutil.py @ 44370:edaae3616ba3
bookmarks: avoid traceback when two pushes race to delete the same bookmark
`hg push -f -B remote-only-bookmark` can raise server-side in
`bookmarks._del` (specifically in `self._refmap.pop(mark)`), if the
remote-only bookmark got deleted concurrently.
Fix this by simply not deleting the non-existent bookmark in that
case.
For avoidance of doubt, refusing to delete a bookmark that doesn't
exist when the push starts is taking care of elsewhere; no change of
behavior there.
Differential Revision: https://phab.mercurial-scm.org/D8124
author | Valentin Gatien-Baron <valentin.gatienbaron@gmail.com> |
---|---|
date | Sat, 15 Feb 2020 14:51:33 -0500 |
parents | 7126d8b8e0e6 |
children | 521ac0d7047f |
rev | line source |
---|---|
44059
7126d8b8e0e6
hashutil: new package for hashing-related features
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
1 from __future__ import absolute_import |
7126d8b8e0e6
hashutil: new package for hashing-related features
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
2 |
7126d8b8e0e6
hashutil: new package for hashing-related features
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
3 import hashlib |
7126d8b8e0e6
hashutil: new package for hashing-related features
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
4 |
7126d8b8e0e6
hashutil: new package for hashing-related features
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
5 try: |
7126d8b8e0e6
hashutil: new package for hashing-related features
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
6 from ..thirdparty import sha1dc |
7126d8b8e0e6
hashutil: new package for hashing-related features
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
7 |
7126d8b8e0e6
hashutil: new package for hashing-related features
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
8 sha1 = sha1dc.sha1 |
7126d8b8e0e6
hashutil: new package for hashing-related features
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
9 except (ImportError, AttributeError): |
7126d8b8e0e6
hashutil: new package for hashing-related features
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
10 sha1 = hashlib.sha1 |