changeset 888:207c4ec46d54

CommitSupport: return CommitResult instead of revision
author Dmitry Neverov <dmitry.neverov@jetbrains.com>
date Mon, 03 Nov 2014 12:53:47 +0100
parents 30e624f8c237
children 62ebe9e449a3
files mercurial-server/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/MercurialCommitSupport.java mercurial-tests/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/MercurialCommitSupportTest.java
diffstat 2 files changed, 8 insertions(+), 9 deletions(-) [+]
line wrap: on
line diff
--- 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);
     }
   }
--- 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<ModificationData> changes = myVcs.getCollectChangesPolicy().collectChanges(root, beforeCommit, afterCommit, CheckoutRules.DEFAULT);
     ModificationData m = changes.get(0);