comparison src/org/tmatesoft/hg/core/HgMergeCommand.java @ 708:4ffc17c0b534

Merge: tests for resolver and complex scenario. Enable commit for merged revisions. Reuse file revisions if nothing changed
author Artem Tikhomirov <tikhomirov.artem@gmail.com>
date Tue, 20 Aug 2013 18:41:34 +0200
parents 42b88709e41d
children
comparison
equal deleted inserted replaced
707:42b88709e41d 708:4ffc17c0b534
277 */ 277 */
278 public void unresolved(); 278 public void unresolved();
279 } 279 }
280 280
281 /** 281 /**
282 * Base mediator implementation, with regular resolution. 282 * Base mediator implementation, with regular resolution (and "don't delete anything" approach in mind).
283 * Subclasses shall implement {@link #resolve(HgFileRevision, HgFileRevision, HgFileRevision, Resolver)} and 283 * Subclasses shall override methods to provide alternative implementation or to add extra logic (e.g. ask user).
284 * may optionally provide extra logic (e.g. ask user) for other cases.
285 */ 284 */
286 @Experimental(reason="Provisional API. Work in progress") 285 @Experimental(reason="Provisional API. Work in progress")
287 public abstract static class MediatorBase implements Mediator { 286 public static class MediatorBase implements Mediator {
288 /** 287 /**
289 * Implementation keeps this revision 288 * Implementation keeps this revision
290 */ 289 */
291 public void same(HgFileRevision rev, Resolver resolver) throws HgCallbackTargetException { 290 public void same(HgFileRevision rev, Resolver resolver) throws HgCallbackTargetException {
292 resolver.use(rev); 291 resolver.use(rev);
326 /** 325 /**
327 * Implementation keeps latest revision 326 * Implementation keeps latest revision
328 */ 327 */
329 public void fastForwardB(HgFileRevision base, HgFileRevision second, Resolver resolver) throws HgCallbackTargetException { 328 public void fastForwardB(HgFileRevision base, HgFileRevision second, Resolver resolver) throws HgCallbackTargetException {
330 resolver.use(second); 329 resolver.use(second);
330 }
331
332 /**
333 * Implementation marks file as unresolved
334 */
335 public void resolve(HgFileRevision base, HgFileRevision first, HgFileRevision second, Resolver resolver) throws HgCallbackTargetException {
336 resolver.unresolved();
331 } 337 }
332 } 338 }
333 339
334 private static class ResolverImpl implements Resolver { 340 private static class ResolverImpl implements Resolver {
335 341