changeset 475:797fadbf2a9b

Merge branch Faradi-7.1.x
author Dmitry Neverov <dmitry.neverov@jetbrains.com>
date Mon, 10 Sep 2012 20:09:19 +0400
parents 52daa97ae352 (current diff) 6b447cd40492 (diff)
children f985237ebcbf
files
diffstat 11 files changed, 37 insertions(+), 10 deletions(-) [+]
line wrap: on
line diff
--- a/mercurial-server/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/MercurialVcsSupport.java	Fri Sep 07 16:53:00 2012 +0400
+++ b/mercurial-server/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/MercurialVcsSupport.java	Mon Sep 10 20:09:19 2012 +0400
@@ -614,16 +614,16 @@
     for (ChangeSetRevision parent : parents) {
       result.addParentRevision(parent.getId());
     }
-    setCanBeIgnored(result);
+    setCanBeIgnored(result, cset);
     return result;
   }
 
 
-  private void setCanBeIgnored(@NotNull ModificationData md) {
+  private void setCanBeIgnored(@NotNull ModificationData md, @NotNull ChangeSet cset) {
     if (md.getParentRevisions().size() > 1) {
       //don't ignore merge commits
       md.setCanBeIgnored(false);
-    } else if (md.getChangeCount() == 0) {
+    } else if (cset.getModifiedFiles().isEmpty()) {
       //don't ignore empty commits
       md.setCanBeIgnored(false);
     }
--- a/mercurial-tests/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/MercurialVcsSupportTest.java	Fri Sep 07 16:53:00 2012 +0400
+++ b/mercurial-tests/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/MercurialVcsSupportTest.java	Mon Sep 10 20:09:19 2012 +0400
@@ -17,6 +17,7 @@
 
 import com.intellij.execution.configurations.GeneralCommandLine;
 import jetbrains.buildServer.buildTriggers.vcs.mercurial.command.*;
+import jetbrains.buildServer.util.TestFor;
 import jetbrains.buildServer.vcs.*;
 import jetbrains.buildServer.vcs.impl.VcsRootImpl;
 import junit.framework.Assert;
@@ -279,6 +280,25 @@
   }
 
 
+  @TestFor(issues = "TW-10076")
+  public void should_allow_to_ignore_changes_where_all_files_excluded() throws Exception {
+    VcsRootImpl root = createVcsRoot(myRep2Path);
+    List<ModificationData> changes = myVcs.collectChanges(root, "43023ea3f13b", "a2672ee13212", new CheckoutRules("-:.hgtags"));
+    assertEquals(changes.size(), 1);
+    assertTrue(changes.get(0).isCanBeIgnored());
+  }
+
+
+  @TestFor(issues = "TW-10076")
+  public void should_not_allow_to_ignore_close_branch_commits() throws Exception {
+    VcsRootImpl root = createVcsRoot(myRep2Path);
+    List<ModificationData> changes = myVcs.collectChanges(root, "df04faa7575a", "43023ea3f13b", CheckoutRules.DEFAULT);
+    assertEquals(changes.size(), 2);
+    assertEquals(changes.get(1).getChangeCount(), 0);
+    assertFalse(changes.get(1).isCanBeIgnored());
+  }
+
+
   public void test_tag_with_specified_username() throws IOException, VcsException {
     final String customUserForTag = "John Doe <john@some.org>";
     File repository = copyRepository(myTempFiles, simpleRepo());
--- a/mercurial-tests/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/UnrelatedResitoriesTest.java	Fri Sep 07 16:53:00 2012 +0400
+++ b/mercurial-tests/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/UnrelatedResitoriesTest.java	Mon Sep 10 20:09:19 2012 +0400
@@ -25,7 +25,7 @@
 @Test
 public class UnrelatedResitoriesTest {
 
-  private final static String CURRENT_VERSION_OF_NEW_REPO = "df04faa7575a";
+  private final static String CURRENT_VERSION_OF_NEW_REPO = "a2672ee13212";
   private MercurialVcsSupport myVcs;
   private TempFiles myTempFiles;
   private File myRepositoryLocation;
--- a/mercurial-tests/testData/README	Fri Sep 07 16:53:00 2012 +0400
+++ b/mercurial-tests/testData/README	Mon Sep 10 20:09:19 2012 +0400
@@ -24,8 +24,14 @@
 
 rep2 history:
 
-@    18:df04faa7575a merge personal-branch tip
+o    21:a2672ee13212 Tag for test //add tag t1 on 43023ea3f13b
+|
+o    20:43023ea3f13b  Merge closed personal-branch
 |\
+| o  19:ca64c523f54c Close personal-branch
+| |
+@ |  18:df04faa7575a merge personal-branch tip
+|\|
 | o  17:9ec402c74298 another change to file.txt in personal-branch (personal-branch)
 | |
 o |  16:505c5b9d01e6 change file.txt back
Binary file mercurial-tests/testData/rep2/hg/dirstate has changed
Binary file mercurial-tests/testData/rep2/hg/store/00changelog.i has changed
Binary file mercurial-tests/testData/rep2/hg/store/00manifest.i has changed
Binary file mercurial-tests/testData/rep2/hg/store/data/.hgtags.i has changed
--- a/mercurial-tests/testData/rep2/hg/store/fncache	Fri Sep 07 16:53:00 2012 +0400
+++ b/mercurial-tests/testData/rep2/hg/store/fncache	Mon Sep 10 20:09:19 2012 +0400
@@ -1,10 +1,11 @@
-data/file.txt.i
+data/dir4/file4.txt.i
 data/dir3/file3.txt.i
 data/dir1/file1.txt.i
+data/file.txt.i
+data/.hgtags.i
+data/dir4/file42.txt.i
+data/dir5/file5.txt.i
 data/dir2/file2.txt.i
-data/dir4/file4.txt.i
+data/dir4/file43.txt.i
 data/dir4/file41.txt.i
-data/dir4/file42.txt.i
-data/dir4/file43.txt.i
-data/dir5/file5.txt.i
 data/dir6/file6.txt.i
Binary file mercurial-tests/testData/rep2/hg/store/undo has changed
Binary file mercurial-tests/testData/rep2/hg/undo.dirstate has changed