D9068: git: pass `id` attribute of `pygit2.Tree` object
sheehan (Connor Sheehan)
phabricator at mercurial-scm.org
Tue Sep 22 13:40:26 UTC 2020
sheehan created this revision.
Herald added a reviewer: durin42.
Herald added a reviewer: hg-reviewers.
Herald added a subscriber: mercurial-patches.
REVISION SUMMARY
`pygit2`'s Repository object expects an instance of `Oid`
to return the corresponding object, instead of the object
itself.
After this change and D9062 <https://phab.mercurial-scm.org/D9062>, `hg commit -i` seems to work,
unless it hits a case folding assertion (ie trying to add
a file like `README.md`).
REPOSITORY
rHG Mercurial
BRANCH
default
REVISION DETAIL
https://phab.mercurial-scm.org/D9068
AFFECTED FILES
hgext/git/manifest.py
CHANGE DETAILS
diff --git a/hgext/git/manifest.py b/hgext/git/manifest.py
--- a/hgext/git/manifest.py
+++ b/hgext/git/manifest.py
@@ -322,7 +322,8 @@
for part in comps:
parent = trees[full]
try:
- new = self._repo[parent[pycompat.fsdecode(part)]]
+ parent_tree_id = parent[pycompat.fsdecode(part)].id
+ new = self._repo[parent_tree_id]
except KeyError:
# new directory
new = None
To: sheehan, durin42, #hg-reviewers
Cc: mercurial-patches, mercurial-devel
More information about the Mercurial-devel
mailing list