comparison mercurial/merge.py @ 44425:5e3402a0b868

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
author Martin von Zweigbergk <martinvonz@google.com>
date Thu, 13 Feb 2020 17:15:08 -0800
parents 218feb1a7e00
children a45ffad9ae98
comparison
equal deleted inserted replaced
44424:adb93aa98c78 44425:5e3402a0b868
411 """Whether mergestate is active. 411 """Whether mergestate is active.
412 412
413 Returns True if there appears to be mergestate. This is a rough proxy 413 Returns True if there appears to be mergestate. This is a rough proxy
414 for "is a merge in progress." 414 for "is a merge in progress."
415 """ 415 """
416 # Check local variables before looking at filesystem for performance 416 return bool(self._local) or bool(self._state)
417 # reasons.
418 return (
419 bool(self._local)
420 or bool(self._state)
421 or self._repo.vfs.exists(self.statepathv1)
422 or self._repo.vfs.exists(self.statepathv2)
423 )
424 417
425 def commit(self): 418 def commit(self):
426 """Write current state on disk (if necessary)""" 419 """Write current state on disk (if necessary)"""
427 if self._dirty: 420 if self._dirty:
428 records = self._makerecords() 421 records = self._makerecords()