diff -r 4eccb65e444f -r 454feddab720 mercurial/metadata.py --- a/mercurial/metadata.py Wed Aug 28 23:25:26 2024 +0200 +++ b/mercurial/metadata.py Fri Sep 06 02:12:19 2024 +0200 @@ -243,7 +243,7 @@ return _process_linear(p1, ctx) elif p1.rev() == nullrev and p2.rev() != nullrev: # In the wild, one can encounter changeset where p1 is null but p2 is not - return _process_linear(p1, ctx, parent=2) + return _process_linear(p2, ctx, parent=2) elif p1.rev() == p2.rev(): # In the wild, one can encounter such "non-merge" return _process_linear(p1, ctx)