This is an archive of the discontinued Mercurial Phabricator instance.

mergestate: determine if active without looking for state files on disk
ClosedPublic

Authored by martinvonz on Feb 14 2020, 1:20 AM.

Details

Summary

I couldn't think of a reason that we need to check state files on disk
to determine if a merge is active. I could imagine them being for
there for detecting broken state files that would then be cleaned up
by some later command, but we always delete the entire .hg/merge/
tree, so that doesn't seem to be it.

The checks were added in 4e932dc5c113 (resolve: abort when not
applicable (BC), 2014-04-18). Perhaps there were needed for that and
then made obsolete by 6062593d8b06 (resolve: don't abort resolve -l
even when no merge is in progress, 2014-05-23).

The reason I want to delete the checks is that I think `ms =
mergestate.read(repo); ms.active() and ms.local` should be a valid
pattern, but it crashes when the merge state file is an empty file if
we consider mere presence of the file as "active".

Diff Detail

Repository
rHG Mercurial
Branch
default
Lint
No Linters Available
Unit
No Unit Test Coverage

Event Timeline

martinvonz created this revision.Feb 14 2020, 1:20 AM
pulkit accepted this revision.Feb 27 2020, 2:36 AM
This revision is now accepted and ready to land.Feb 27 2020, 2:36 AM

This series fails to apply on current default tip.

This series fails to apply on current default tip.

Fixed