Mercurial > public > mercurial-scm > hg-stable
comparison mercurial/merge.py @ 8749:69caf50da4a0
merge: refactor some initialization, drop backwards var
author | Matt Mackall <mpm@selenic.com> |
---|---|
date | Mon, 08 Jun 2009 18:14:44 -0500 |
parents | f325574dad1a |
children | 9b8733291dd0 |
comparison
equal
deleted
inserted
replaced
8748:f325574dad1a | 8749:69caf50da4a0 |
---|---|
127 | 127 |
128 repo.ui.note(_("resolving manifests\n")) | 128 repo.ui.note(_("resolving manifests\n")) |
129 repo.ui.debug(_(" overwrite %s partial %s\n") % (overwrite, bool(partial))) | 129 repo.ui.debug(_(" overwrite %s partial %s\n") % (overwrite, bool(partial))) |
130 repo.ui.debug(_(" ancestor %s local %s remote %s\n") % (pa, p1, p2)) | 130 repo.ui.debug(_(" ancestor %s local %s remote %s\n") % (pa, p1, p2)) |
131 | 131 |
132 action = [] | |
133 copy, copied, diverge = {}, {}, {} | |
132 m1 = p1.manifest() | 134 m1 = p1.manifest() |
133 m2 = p2.manifest() | 135 m2 = p2.manifest() |
134 backwards = (pa == p2) | |
135 | |
136 if overwrite: | |
137 ma = m1 | |
138 elif backwards: | |
139 ma = p1.p1().manifest() | |
140 else: | |
141 ma = pa.manifest() | |
142 | |
143 action = [] | |
144 copy, copied, diverge = {}, {}, {} | |
145 | 136 |
146 def fmerge(f, f2, fa): | 137 def fmerge(f, f2, fa): |
147 """merge flags""" | 138 """merge flags""" |
148 a, m, n = ma.flags(fa), m1.flags(f), m2.flags(f2) | 139 a, m, n = ma.flags(fa), m1.flags(f), m2.flags(f2) |
149 if m == n: # flags agree | 140 if m == n: # flags agree |
162 | 153 |
163 def act(msg, m, f, *args): | 154 def act(msg, m, f, *args): |
164 repo.ui.debug(" %s: %s -> %s\n" % (f, msg, m)) | 155 repo.ui.debug(" %s: %s -> %s\n" % (f, msg, m)) |
165 action.append((f, m) + args) | 156 action.append((f, m) + args) |
166 | 157 |
167 if pa and not (backwards or overwrite): | 158 if overwrite: |
168 if repo.ui.configbool("merge", "followcopies", True): | 159 ma = m1 |
160 elif p2 == pa: # backwards | |
161 ma = p1.p1().manifest() | |
162 else: | |
163 ma = pa.manifest() | |
164 if pa and repo.ui.configbool("merge", "followcopies", True): | |
169 dirs = repo.ui.configbool("merge", "followdirs", True) | 165 dirs = repo.ui.configbool("merge", "followdirs", True) |
170 copy, diverge = copies.copies(repo, p1, p2, pa, dirs) | 166 copy, diverge = copies.copies(repo, p1, p2, pa, dirs) |
171 copied = set(copy.values()) | 167 copied = set(copy.values()) |
172 for of, fl in diverge.iteritems(): | 168 for of, fl in diverge.iteritems(): |
173 act("divergent renames", "dr", of, fl) | 169 act("divergent renames", "dr", of, fl) |