HomePhabricator

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

Authored by martinvonz.

Description

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

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".

Differential Revision: https://phab.mercurial-scm.org/D8118