martinvonz created this revision. Herald added subscribers: mercurial-devel, mjpieters. Herald added a reviewer: hg-reviewers.
REVISION 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 <https://phab.mercurial-scm.org/rHG4e932dc5c113f003eefda05a2dae8cf7da9f2c2b> (resolve: abort when not applicable (BC), 2014-04-18). Perhaps there were needed for that and then made obsolete by 6062593d8b06 <https://phab.mercurial-scm.org/rHG6062593d8b06aaacd6e5e9eb9e84acff69ba038b> (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". REPOSITORY rHG Mercurial BRANCH default REVISION DETAIL https://phab.mercurial-scm.org/D8118 AFFECTED FILES mercurial/merge.py CHANGE DETAILS diff --git a/mercurial/merge.py b/mercurial/merge.py --- a/mercurial/merge.py +++ b/mercurial/merge.py @@ -413,14 +413,7 @@ Returns True if there appears to be mergestate. This is a rough proxy for "is a merge in progress." """ - # Check local variables before looking at filesystem for performance - # reasons. - return ( - bool(self._local) - or bool(self._state) - or self._repo.vfs.exists(self.statepathv1) - or self._repo.vfs.exists(self.statepathv2) - ) + return bool(self._local) or bool(self._state) def commit(self): """Write current state on disk (if necessary)""" To: martinvonz, #hg-reviewers Cc: mjpieters, mercurial-devel _______________________________________________ Mercurial-devel mailing list Mercurial-devel@mercurial-scm.org https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel