Mercurial > public > mercurial-scm > hg-stable
comparison mercurial/filemerge.py @ 22031:b36c60cfe46f
merge-tools: make premerge valid values extensible
We want to introduce a version leaving merge3 style markers.
author | Pierre-Yves David <pierre-yves.david@fb.com> |
---|---|
date | Mon, 04 Aug 2014 16:58:39 -0700 |
parents | 3d0572ab3b4a |
children | d7f25834ffbb |
comparison
equal
deleted
inserted
replaced
22030:ecdff28d13e2 | 22031:b36c60cfe46f |
---|---|
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'] | |
182 | |
181 # do we attempt to simplemerge first? | 183 # do we attempt to simplemerge first? |
182 try: | 184 try: |
183 premerge = _toolbool(ui, tool, "premerge", not binary) | 185 premerge = _toolbool(ui, tool, "premerge", not binary) |
184 except error.ConfigError: | 186 except error.ConfigError: |
185 premerge = _toolstr(ui, tool, "premerge").lower() | 187 premerge = _toolstr(ui, tool, "premerge").lower() |
186 valid = 'keep'.split() | 188 if premerge not in validkeep: |
187 if premerge not in valid: | 189 _valid = ', '.join(["'" + v + "'" for v in validkeep]) |
188 _valid = ', '.join(["'" + v + "'" for v in valid]) | |
189 raise error.ConfigError(_("%s.premerge not valid " | 190 raise error.ConfigError(_("%s.premerge not valid " |
190 "('%s' is neither boolean nor %s)") % | 191 "('%s' is neither boolean nor %s)") % |
191 (tool, premerge, _valid)) | 192 (tool, premerge, _valid)) |
192 | 193 |
193 if premerge: | 194 if premerge: |
194 r = simplemerge.simplemerge(ui, a, b, c, quiet=True, label=labels) | 195 r = simplemerge.simplemerge(ui, a, b, c, quiet=True, label=labels) |
195 if not r: | 196 if not r: |
196 ui.debug(" premerge successful\n") | 197 ui.debug(" premerge successful\n") |
197 return 0 | 198 return 0 |
198 if premerge != 'keep': | 199 if premerge not in validkeep: |
199 util.copyfile(back, a) # restore from backup and try again | 200 util.copyfile(back, a) # restore from backup and try again |
200 return 1 # continue merging | 201 return 1 # continue merging |
201 | 202 |
202 @internaltool('merge', True, | 203 @internaltool('merge', True, |
203 _("merging %s incomplete! " | 204 _("merging %s incomplete! " |