# HG changeset patch # User Dmitry Neverov # Date 1415015627 -3600 # Node ID 207c4ec46d54d27245f7685e533b2b160095cebf # Parent 30e624f8c2374d141ca85b6bc3da5b935b8f239c CommitSupport: return CommitResult instead of revision diff -r 30e624f8c237 -r 207c4ec46d54 mercurial-server/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/MercurialCommitSupport.java --- a/mercurial-server/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/MercurialCommitSupport.java Wed Oct 15 06:38:25 2014 +0200 +++ b/mercurial-server/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/MercurialCommitSupport.java Mon Nov 03 12:53:47 2014 +0100 @@ -22,7 +22,6 @@ import jetbrains.buildServer.util.FileUtil; import jetbrains.buildServer.vcs.*; import org.jetbrains.annotations.NotNull; -import org.jetbrains.annotations.Nullable; import java.io.*; import java.util.HashSet; @@ -133,8 +132,8 @@ createFile(newPath, content); } - @Nullable - public String commit(@NotNull String userName, @NotNull String description) throws VcsException { + @NotNull + public CommitResult commit(@NotNull String userName, @NotNull String description) throws VcsException { if (myError != null) throw new VcsException(myError); @@ -161,7 +160,7 @@ repo.addRemove().call(); int exitCode = repo.commit().by(userName).message(description).call(); if (exitCode == 1) - return null; + return CommitResult.createCommitNotPerformedResult("repository is up-to-date"); boolean bookmark = repo.isBookmark(defaultBranch); if (bookmark) @@ -172,7 +171,7 @@ push.bookmark(defaultBranch); push.call(); - return repo.getWorkingDirRevision(); + return CommitResult.createSuccessResult(repo.getWorkingDirRevision()); } catch (Exception e) { throw new VcsException(e); } finally { @@ -201,8 +200,8 @@ } public void renameFile(@NotNull String oldPath, @NotNull String newPath, @NotNull InputStream content) { } - @Nullable - public String commit(@NotNull String userName, @NotNull String description) throws VcsException { + @NotNull + public CommitResult commit(@NotNull String userName, @NotNull String description) throws VcsException { throw new VcsException(myMessage, myError); } } diff -r 30e624f8c237 -r 207c4ec46d54 mercurial-tests/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/MercurialCommitSupportTest.java --- a/mercurial-tests/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/MercurialCommitSupportTest.java Wed Oct 15 06:38:25 2014 +0200 +++ b/mercurial-tests/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/MercurialCommitSupportTest.java Mon Nov 03 12:53:47 2014 +0100 @@ -68,10 +68,10 @@ patchBuilder.deleteFile("x"); patchBuilder.createFile("a/b/c", stream("test")); patchBuilder.renameFile("y", "z", stream("rename")); - String revision = patchBuilder.commit(author, description); + CommitResult result = patchBuilder.commit(author, description); RepositoryStateData afterCommit = myVcs.getCollectChangesPolicy().getCurrentState(root); - assertEquals(revision, afterCommit.getBranchRevisions().get(afterCommit.getDefaultBranchName())); + assertEquals(result.getCreatedRevision(), afterCommit.getBranchRevisions().get(afterCommit.getDefaultBranchName())); List changes = myVcs.getCollectChangesPolicy().collectChanges(root, beforeCommit, afterCommit, CheckoutRules.DEFAULT); ModificationData m = changes.get(0);