Mercurial > hg > mercurial
changeset 747:34f1fe091b84
TW-34823 add logging for merge
author | Dmitry Neverov <dmitry.neverov@jetbrains.com> |
---|---|
date | Mon, 10 Feb 2014 03:07:53 +0100 |
parents | 4d543673433f |
children | 54008dd23f2b |
files | mercurial-server/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/MercurialMergeSupport.java |
diffstat | 1 files changed, 12 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/mercurial-server/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/MercurialMergeSupport.java Mon Feb 03 15:53:56 2014 +0100 +++ b/mercurial-server/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/MercurialMergeSupport.java Mon Feb 10 03:07:53 2014 +0100 @@ -93,6 +93,7 @@ @NotNull String dstBranch, @NotNull String message, @NotNull MergeOptions options) throws VcsException { + LOG.info("Merge in root " + root + ", revision " + srcRevision + ", destination " + dstBranch); File tmpDir = null; try { tmpDir = HgFileUtil.createTempDir(); @@ -105,14 +106,23 @@ try { repo.merge().withMergeTool(myConfig.getMergeTool()).revision(srcRevision).call(); } catch (MergeConflictException e) { - return MergeResult.createMergeError(detectConflicts(hgRoot, "", repo)); + List<String> conflicts = detectConflicts(hgRoot, "", repo); + LOG.info("Merge failed with conflicts, root " + root + ", revision " + srcRevision + ", destination " + dstBranch + + ", conflicts " + conflicts, e); + return MergeResult.createMergeError(conflicts); } catch (MergeWithWorkingDirAncestor e) { + LOG.info("Merge failed, root " + root + ", revision " + srcRevision + ", destination " + dstBranch, e); return MergeResult.createMergeError(e.getMessage()); } repo.commit().by(hgRoot.getUserForTag()).message(message).call(); - repo.push().toRepository(hgRoot.getRepository()).call(); + try { + repo.push().toRepository(hgRoot.getRepository()).call(); + } catch (VcsException e) { + LOG.info("Error while pushing a merge commit, root " + root + ", revision " + srcRevision + ", destination " + dstBranch, e); + throw e; + } return MergeResult.createMergeSuccessResult(); } catch (Exception e) { if (e instanceof VcsException)