Mercurial > public > mercurial-scm > hg-stable
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() |