[PATCH 3 of 8 V2] merge: remove useless dirstate.normallookup() invocation in applyupdates()
FUJIWARA Katsunori
foozy at lares.dti.ne.jp
Wed Jul 8 03:08:39 CDT 2015
# HG changeset patch
# User FUJIWARA Katsunori <foozy at lares.dti.ne.jp>
# Date 1436342469 -32400
# Wed Jul 08 17:01:09 2015 +0900
# Node ID 42762df2c45ee39299e1d5b359e3d70b7af41c5c
# Parent 7beb0027e26c15c9a881ef629cdc7599c8ad26d8
merge: remove useless dirstate.normallookup() invocation in applyupdates()
Explicit `dirstate.normallookup()` invocation via `dirtysubstate()` in
`applyupdates()` is useless now, because previous patch fixed the
relevant issue by writing in-memory dirstate changes out at the end of
dirty check.
`dirstate.normallookup()` invocation was introduced by 6becb9dbca25 to
avoid occasional test failure. This is partial backout of it (added
tests are still left).
diff --git a/mercurial/merge.py b/mercurial/merge.py
--- a/mercurial/merge.py
+++ b/mercurial/merge.py
@@ -741,15 +741,7 @@
numupdates = sum(len(l) for m, l in actions.items() if m != 'k')
- def dirtysubstate():
- # mark '.hgsubstate' as possibly dirty forcibly, because
- # modified '.hgsubstate' is misunderstood as clean,
- # when both st_size/st_mtime of '.hgsubstate' aren't changed,
- # even if "submerge" fails and '.hgsubstate' is inconsistent
- repo.dirstate.normallookup('.hgsubstate')
-
if [a for a in actions['r'] if a[0] == '.hgsubstate']:
- dirtysubstate()
subrepo.submerge(repo, wctx, mctx, wctx, overwrite)
# remove in parallel (must come first)
@@ -768,7 +760,6 @@
updated = len(actions['g'])
if [a for a in actions['g'] if a[0] == '.hgsubstate']:
- dirtysubstate()
subrepo.submerge(repo, wctx, mctx, wctx, overwrite)
# forget (manifest only, just log it) (must come first)
@@ -794,7 +785,6 @@
z += 1
progress(_updating, z, item=f, total=numupdates, unit=_files)
if f == '.hgsubstate': # subrepo states need updating
- dirtysubstate()
subrepo.submerge(repo, wctx, mctx, wctx.ancestor(mctx),
overwrite)
continue
More information about the Mercurial-devel
mailing list