# HG changeset patch # User Dmitry Neverov # Date 1381862802 -14400 # Node ID 718e4dbff3c3f42e54a0f1629637b3c41a7d29ad # Parent c32869bd757bc94a0fa2619d89308dd27aa5835d Use factory methods to create merge results diff -r c32869bd757b -r 718e4dbff3c3 mercurial-server/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/MercurialMergeSupport.java --- a/mercurial-server/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/MercurialMergeSupport.java Sat Oct 12 19:38:36 2013 +0400 +++ b/mercurial-server/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/MercurialMergeSupport.java Tue Oct 15 22:46:42 2013 +0400 @@ -45,22 +45,20 @@ HgRepo repo = myHgRepoFactory.createRepo(hgRoot, tmpDir); Map results = new HashMap(); for (MergeTask task : tasks) { - MergeResult result = new MergeResult(); try { new CheckoutRepository(myMirrorManager, myHgRepoFactory, myConfig.getPullTimeout(), myConfig.useTagsAsBranches(), hgRoot, tmpDir) .setRevision(task.getDestinationRevision()).checkout(); repo.merge().revision(task.getSourceRevision()).call(); + results.put(task, MergeResult.createMergeSuccessResult()); } catch (MergeConflictException e) { - result.setSuccess(false); - result.setConflicts(detectConflicts(hgRoot, "", repo)); + results.put(task, MergeResult.createMergeError(detectConflicts(hgRoot, "", repo))); } catch (MergeWithWorkingDirAncestor e) { //ignore } catch (VcsException e) { - result.setSuccess(false); + results.put(task, MergeResult.createMergeError(e.getMessage())); } finally { repo.update().toRevision(task.getDestinationRevision()).call(); } - results.put(task, result); } return results; } catch (Exception e) { @@ -80,7 +78,6 @@ @NotNull String message, @NotNull MergeOptions options) throws VcsException { File tmpDir = null; - MergeResult mergeResult = new MergeResult(); try { tmpDir = HgFileUtil.createTempDir(); HgVcsRoot hgRoot = myHgVcsRootFactory.createHgRoot(root); @@ -92,17 +89,15 @@ try { repo.merge().revision(srcRevision).call(); } catch (MergeConflictException e) { - mergeResult.setSuccess(false); - mergeResult.setConflicts(detectConflicts(hgRoot, "", repo)); - return mergeResult; + return MergeResult.createMergeError(detectConflicts(hgRoot, "", repo)); } catch (MergeWithWorkingDirAncestor e) { - return mergeResult; + return MergeResult.createMergeError(e.getMessage()); } repo.commit().message(message).call(); repo.push().toRepository(hgRoot.getRepository()).call(); - return mergeResult; + return MergeResult.createMergeSuccessResult(); } catch (Exception e) { if (e instanceof VcsException) throw (VcsException) e;