This is an archive of the discontinued Mercurial Phabricator instance.

merge: store cases when a file is absent post merge in commitinfo
ClosedPublic

Authored by pulkit on Sep 9 2020, 9:45 AM.

Details

Summary

Some merges can result in file being absent form working directory. This can be
one of file was kept deleted or file was removed by merge code.

User might revert the file back before committing. In such cases we will like to
have better handling and create new filenodes.

We store this info in mergestate as commitinfo so that we can use it while
committing to create new filenode if required.

This also adds some hg debugmergestate calls to show that extras are stored in
mergestate.

Diff Detail

Repository
rHG Mercurial
Lint
Automatic diff as part of commit; lint not applicable.
Unit
Automatic diff as part of commit; unit tests not applicable.

Event Timeline

pulkit created this revision.Sep 9 2020, 9:45 AM
marmoute requested changes to this revision.Sep 11 2020, 5:15 AM
marmoute added a subscriber: marmoute.
marmoute added inline comments.
mercurial/merge.py
931

Samfe feedback about the semantic of the data. Transmit something meaningful to the commit code and let the commit code behave has it wish.

tests/test-merge-criss-cross.t
662

We should introduce these in a previous changeset, should we not?

This revision now requires changes to proceed.Sep 11 2020, 5:15 AM
This revision was not accepted when it landed; it landed in state Needs Review.
This revision was automatically updated to reflect the committed changes.