-
-
Notifications
You must be signed in to change notification settings - Fork 402
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Rust sorted_tree_items()
disagrees with Python version
#1325
Comments
I'll add a workaround to hg-git that disables this function: https://foss.heptapod.net/mercurial/hg-git/-/merge_requests/238 (I'm assuming it's fixed in the next release.) |
Nice find! Fix on the way.. |
The Rust extensions has a bug in rename detection that affects hg-git. Presumably, it'll be fixed in the next release. See: jelmer/dulwich#1325 Closes: #437 --HG-- branch : 1.1.x
Did you make any progress on this? |
I just spent two hours on this and it's still a mystery to me. I can't reproduce it, and looking at both implementations I don't see how the behaviour could be different (or from that in C Git). In the end, I did end up refactoring the rust implementation so I'd be grateful if you could try again with hg-git. |
Sadly, this is still broken in 0.22.3. Maybe this helps… The test that commit that fails is created as this:
Then, on regenerating the repository from the Mercurial conversion, the results differ on the Git side of things. I'll try to do some more investigation… |
Running the
hg-git
tests against Dulwich 0.22, I get a subtle error when using the new Rust extensions. As far as I can tell, the bug is indulwich.objects.sorted_tree_items()
, as inserting this suppresses the bug:I tried in vain to provoke the bug in
test_objects.py
, so I'd appreciate any help on what this might actually be.By inserting
pprint.pprint(tree.items())
in the appropriate location, I get the following difference between the Python and Rust implementations:The text was updated successfully, but these errors were encountered: