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! " |