Mercurial > public > mercurial-scm > hg-stable
comparison mercurial/filemerge.py @ 22032:d7f25834ffbb
merge-tools: add a `premerge=keep-merge3` config option
This value leaves premerge markers that includes the merge base too. This is a
the same as what `internal:merge3` would do.
author | Pierre-Yves David <pierre-yves.david@fb.com> |
---|---|
date | Mon, 04 Aug 2014 16:32:41 -0700 |
parents | b36c60cfe46f |
children | ad25986c4cd3 |
comparison
equal
deleted
inserted
replaced
22031:b36c60cfe46f | 22032:d7f25834ffbb |
---|---|
176 return 1 | 176 return 1 |
177 a, b, c, back = files | 177 a, b, c, back = files |
178 | 178 |
179 ui = repo.ui | 179 ui = repo.ui |
180 | 180 |
181 validkeep = ['keep'] | 181 validkeep = ['keep', 'keep-merge3'] |
182 | 182 |
183 # do we attempt to simplemerge first? | 183 # do we attempt to simplemerge first? |
184 try: | 184 try: |
185 premerge = _toolbool(ui, tool, "premerge", not binary) | 185 premerge = _toolbool(ui, tool, "premerge", not binary) |
186 except error.ConfigError: | 186 except error.ConfigError: |
190 raise error.ConfigError(_("%s.premerge not valid " | 190 raise error.ConfigError(_("%s.premerge not valid " |
191 "('%s' is neither boolean nor %s)") % | 191 "('%s' is neither boolean nor %s)") % |
192 (tool, premerge, _valid)) | 192 (tool, premerge, _valid)) |
193 | 193 |
194 if premerge: | 194 if premerge: |
195 if premerge == 'keep-merge3': | |
196 if not labels: | |
197 labels = _defaultconflictlabels | |
198 if len(labels) < 3: | |
199 labels.append('base') | |
195 r = simplemerge.simplemerge(ui, a, b, c, quiet=True, label=labels) | 200 r = simplemerge.simplemerge(ui, a, b, c, quiet=True, label=labels) |
196 if not r: | 201 if not r: |
197 ui.debug(" premerge successful\n") | 202 ui.debug(" premerge successful\n") |
198 return 0 | 203 return 0 |
199 if premerge not in validkeep: | 204 if premerge not in validkeep: |