Mercurial > hg > mercurial
changeset 445:b47cfe5cbaba
Do not include revnum in revision
author | Dmitry Neverov <dmitry.neverov@jetbrains.com> |
---|---|
date | Fri, 22 Jun 2012 12:41:23 +0400 |
parents | a05eca69fc01 |
children | 8a1231dc6a2c |
files | mercurial-server/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/MercurialVcsSupport.java mercurial-tests/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/AgentSideCheckoutTest.java mercurial-tests/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/DagFeaturesTest.java mercurial-tests/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/MercurialVcsSupportTest.java mercurial-tests/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/RevisionFormatTest.java mercurial-tests/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/UnrelatedResitoriesTest.java |
diffstat | 6 files changed, 59 insertions(+), 46 deletions(-) [+] |
line wrap: on
line diff
--- a/mercurial-server/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/MercurialVcsSupport.java Wed Jun 20 22:54:13 2012 +0400 +++ b/mercurial-server/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/MercurialVcsSupport.java Fri Jun 22 12:41:23 2012 +0400 @@ -219,10 +219,10 @@ syncRepository(hgRoot); HgRepo repo = createRepo(hgRoot); Map<String, ChangeSet> result = repo.branches().call(); - if (!result.containsKey(hgRoot.getBranchName())) { + ChangeSet cset = result.get(hgRoot.getBranchName()); + if (cset == null) throw new VcsException("Unable to find current version for the branch: " + hgRoot.getBranchName()); - } - return result.get(hgRoot.getBranchName()).getFullVersion(); + return cset.getId(); } public boolean sourcesUpdatePossibleIfChangesNotFound(@NotNull final VcsRoot root) { @@ -567,10 +567,10 @@ List<ChangeSetRevision> parents = cset.getParents(); if (parents.isEmpty()) throw new IllegalStateException("Commit " + cset.getId() + " has no parents"); - List<VcsChange> files = toVcsChanges(cset.getModifiedFiles(), parents.get(0).getFullVersion(), cset.getFullVersion(), checkoutRules); - final ModificationData result = new ModificationData(cset.getTimestamp(), files, cset.getDescription(), cset.getUser(), root, cset.getFullVersion(), cset.getId()); + List<VcsChange> files = toVcsChanges(cset.getModifiedFiles(), parents.get(0).getId(), cset.getId(), checkoutRules); + final ModificationData result = new ModificationData(cset.getTimestamp(), files, cset.getDescription(), cset.getUser(), root, cset.getId(), cset.getId()); for (ChangeSetRevision parent : parents) { - result.addParentRevision(parent.getFullVersion()); + result.addParentRevision(parent.getId()); } setCanBeIgnored(result); return result;
--- a/mercurial-tests/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/AgentSideCheckoutTest.java Wed Jun 20 22:54:13 2012 +0400 +++ b/mercurial-tests/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/AgentSideCheckoutTest.java Fri Jun 22 12:41:23 2012 +0400 @@ -87,7 +87,7 @@ VcsRootImpl root = new VcsRootBuilder() .withUrl(copyRepository(myTempFiles, simpleRepo()).getAbsolutePath()) .withHgPath(HG_PATH_REFERENCE).build(); - testUpdate(root, "4:b06a290a363b", "cleanPatch1/after", new IncludeRule(".", ".", null)); + testUpdate(root, "b06a290a363b", "cleanPatch1/after", new IncludeRule(".", ".", null)); }
--- a/mercurial-tests/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/DagFeaturesTest.java Wed Jun 20 22:54:13 2012 +0400 +++ b/mercurial-tests/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/DagFeaturesTest.java Fri Jun 22 12:41:23 2012 +0400 @@ -2,13 +2,11 @@ import com.intellij.openapi.diagnostic.Logger; import jetbrains.buildServer.TempFiles; -import jetbrains.buildServer.buildTriggers.vcs.mercurial.command.ChangeSetRevision; import jetbrains.buildServer.log.Log4jFactory; import jetbrains.buildServer.util.TestFor; import jetbrains.buildServer.vcs.CheckoutRules; import jetbrains.buildServer.vcs.ModificationData; import jetbrains.buildServer.vcs.impl.VcsRootImpl; -import org.jetbrains.annotations.NotNull; import org.jmock.Mockery; import org.testng.annotations.BeforeMethod; import org.testng.annotations.Test; @@ -19,7 +17,6 @@ import static jetbrains.buildServer.buildTriggers.vcs.mercurial.Util.copyRepository; import static org.testng.AssertJUnit.assertEquals; import static org.testng.AssertJUnit.assertFalse; -import static org.testng.AssertJUnit.assertTrue; /** * @author dmitry.neverov @@ -61,33 +58,20 @@ assertEquals(4, changes.size()); for (ModificationData change : changes) { assertFalse(change.getParentRevisions().isEmpty()); - checkVersionsHaveNumbers(change.getParentRevisions()); } changes = myHg.collectChanges(root, "12:1e620196c4b6", "18:df04faa7575a", CheckoutRules.DEFAULT); assertEquals(6, changes.size()); for (ModificationData change : changes) { assertFalse(change.getParentRevisions().isEmpty()); - checkVersionsHaveNumbers(change.getParentRevisions()); } } - //TW-17882 + @TestFor(issues = "TW-17882") public void should_report_changes_only_from_merged_named_branches() throws Exception { VcsRootImpl root = new VcsRootBuilder().withUrl(myRepository).build(); List<ModificationData> changes = myHg.collectChanges(root, "1e620196c4b6", "505c5b9d01e6", CheckoutRules.DEFAULT); assertEquals(2, changes.size()); - for (ModificationData change : changes) { - checkVersionsHaveNumbers(change.getParentRevisions()); - } - } - - - private void checkVersionsHaveNumbers(@NotNull List<String> versions) { - for (String version : versions) { - ChangeSetRevision rev = new ChangeSetRevision(version); - assertTrue(rev.getRevNumber() != -1); - } } }
--- a/mercurial-tests/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/MercurialVcsSupportTest.java Wed Jun 20 22:54:13 2012 +0400 +++ b/mercurial-tests/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/MercurialVcsSupportTest.java Fri Jun 22 12:41:23 2012 +0400 @@ -19,7 +19,6 @@ import jetbrains.buildServer.buildTriggers.vcs.mercurial.command.*; import jetbrains.buildServer.vcs.*; import jetbrains.buildServer.vcs.impl.VcsRootImpl; -import jetbrains.buildServer.vcs.patches.PatchBuilderImpl; import junit.framework.Assert; import org.jetbrains.annotations.NotNull; import org.jmock.Mockery; @@ -61,12 +60,12 @@ public void test_get_current_version() throws Exception { VcsRootImpl vcsRoot = createVcsRoot(simpleRepo()); - assertEquals(myVcs.getCurrentVersion(vcsRoot), "10:9c6a6b4aede0"); + assertEquals(myVcs.getCurrentVersion(vcsRoot), "9c6a6b4aede0"); assertEquals("9c6a6b4aede0", myVcs.getVersionDisplayName("10:9c6a6b4aede0", vcsRoot)); - assertEquals(myVcs.getCurrentVersion(createVcsRoot(simpleRepo(), "test_branch")), "8:04c3ae4c6312"); + assertEquals(myVcs.getCurrentVersion(createVcsRoot(simpleRepo(), "test_branch")), "04c3ae4c6312"); - assertEquals(myVcs.getCurrentVersion(createVcsRoot(simpleRepo(), "name with space")), "9:9babcf2d5705"); + assertEquals(myVcs.getCurrentVersion(createVcsRoot(simpleRepo(), "name with space")), "9babcf2d5705"); } private List<ModificationData> collectChanges(@NotNull VcsRoot vcsRoot, @NotNull String from, @NotNull String to, @NotNull CheckoutRules rules) throws VcsException { @@ -99,21 +98,21 @@ ModificationData md1 = changes.get(0); ModificationData md2 = changes.get(1); ModificationData md3 = changes.get(2); - assertEquals(md1.getVersion(), "1:1d446e82d356"); + assertEquals(md1.getVersion(), "1d446e82d356"); assertEquals(md1.getDescription(), "new file added"); List<VcsChange> files1 = md1.getChanges(); assertEquals(1, files1.size()); assertEquals(VcsChangeInfo.Type.ADDED, files1.get(0).getType()); assertEquals(normalizePath(files1.get(0).getRelativeFileName()), "dir1/file3.txt"); - assertEquals(md2.getVersion(), "2:7209b1f1d793"); + assertEquals(md2.getVersion(), "7209b1f1d793"); assertEquals(md2.getDescription(), "file4.txt added"); List<VcsChange> files2 = md2.getChanges(); assertEquals(1, files2.size()); assertEquals(files2.get(0).getType(), VcsChangeInfo.Type.ADDED); assertEquals(normalizePath(files2.get(0).getRelativeFileName()), "dir1/file4.txt"); - assertEquals(md3.getVersion(), "3:9522278aa38d"); + assertEquals(md3.getVersion(), "9522278aa38d"); assertEquals(md3.getDescription(), "file removed"); List<VcsChange> files3 = md3.getChanges(); assertEquals(1, files3.size()); @@ -312,7 +311,7 @@ assertEquals(1, changes.size()); ModificationData md1 = changes.get(0); - assertEquals(md1.getVersion(), "7:376dcf05cd2a"); + assertEquals(md1.getVersion(), "376dcf05cd2a"); assertEquals(md1.getDescription(), "new file added in the test_branch"); List<VcsChange> files1 = md1.getChanges(); assertEquals(1, files1.size()); @@ -323,7 +322,7 @@ assertEquals(1, changes.size()); md1 = changes.get(0); - assertEquals(md1.getVersion(), "8:04c3ae4c6312"); + assertEquals(md1.getVersion(), "04c3ae4c6312"); assertEquals(md1.getDescription(), "file modified"); } @@ -417,8 +416,8 @@ List<ModificationData> changes = myVcs.collectChanges(defaultRoot, "11:48177654181c", branchRoot, "10:fc524efc2bc4", CheckoutRules.DEFAULT); assertEquals(changes.size(), 2); - assertEquals("9:8c44244d6645", changes.get(0).getVersion()); - assertEquals("10:fc524efc2bc4", changes.get(1).getVersion()); + assertEquals(changes.get(0).getVersion(), "8c44244d6645"); + assertEquals(changes.get(1).getVersion(), "fc524efc2bc4"); } public void collectChanges_should_return_all_changes_from_branch() throws Exception { @@ -434,9 +433,9 @@ List<ModificationData> changes = collectChanges(vcsRoot, "1:a3d15477d297", "4:6eeb8974fe67", CheckoutRules.DEFAULT); assertEquals(changes.size(), 3); - assertEquals("2:db8a04d262f3", changes.get(0).getVersion()); - assertEquals("3:2538c02bafeb", changes.get(1).getVersion()); - assertEquals("4:6eeb8974fe67", changes.get(2).getVersion()); + assertEquals(changes.get(0).getVersion(), "db8a04d262f3"); + assertEquals(changes.get(1).getVersion(), "2538c02bafeb"); + assertEquals(changes.get(2).getVersion(), "6eeb8974fe67"); assertFiles(Arrays.asList("A dir1/file1.txt"), changes.get(0)); assertFiles(Arrays.asList("A dir2/file2.txt"), changes.get(1));
--- a/mercurial-tests/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/RevisionFormatTest.java Wed Jun 20 22:54:13 2012 +0400 +++ b/mercurial-tests/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/RevisionFormatTest.java Fri Jun 22 12:41:23 2012 +0400 @@ -4,11 +4,7 @@ import jetbrains.buildServer.TempFiles; import jetbrains.buildServer.buildTriggers.vcs.mercurial.command.AuthSettings; import jetbrains.buildServer.log.Log4jFactory; -import jetbrains.buildServer.vcs.CheckoutRules; -import jetbrains.buildServer.vcs.ModificationData; -import jetbrains.buildServer.vcs.VcsException; -import jetbrains.buildServer.vcs.VcsRoot; -import jetbrains.buildServer.vcs.impl.VcsRootImpl; +import jetbrains.buildServer.vcs.*; import jetbrains.buildServer.vcs.patches.PatchTestCase; import org.jetbrains.annotations.NotNull; import org.jmock.Mockery; @@ -20,6 +16,7 @@ import java.io.File; import java.io.IOException; import java.util.List; +import java.util.Map; import static jetbrains.buildServer.buildTriggers.vcs.mercurial.Util.buildPatch; import static jetbrains.buildServer.buildTriggers.vcs.mercurial.Util.copyRepository; @@ -57,7 +54,7 @@ public void collect_changes_result_does_not_depend_on_revnums() throws VcsException { - List<ModificationData> changesWithRevnums = myVcs.collectChanges(myRoot, + List<ModificationData> changesWithRevnums = myVcs.collectChanges(myRoot, "1:1d446e82d356", "3:9522278aa38d", CheckoutRules.DEFAULT); List<ModificationData> changesWithoutRevnums = myVcs.collectChanges(myRoot, "1d446e82d356", "9522278aa38d", CheckoutRules.DEFAULT); @@ -103,6 +100,39 @@ } + public void should_not_include_revnum_in_current_version() throws VcsException { + String currentVersion = myVcs.getCurrentVersion(myRoot); + assertFalse(currentVersion.contains(":")); + } + + + public void should_not_include_revnum_in_current_state() throws VcsException { + RepositoryState state = myVcs.getCurrentState(myRoot); + for (Map.Entry<String, String> entry : state.getBranchRevisions().entrySet()) { + String branchName = entry.getKey(); + String revision = entry.getKey(); + assertFalse(revision.contains(":"), "Revision of branch " + branchName + " contains revnum: " + revision); + } + } + + + public void should_not_include_revnum_in_collected_changes() throws VcsException { + List<ModificationData> changes = myVcs.collectChanges(myRoot, "1d446e82d356", "9522278aa38d", CheckoutRules.DEFAULT); + for (ModificationData c : changes) { + assertFalse(c.getVersion().contains(":"), "Change version contains revnum: " + c.toString()); + for (String parentVersion : c.getParentRevisions()) { + assertFalse(parentVersion.contains(":"), "Parent version contains revnum: " + c.toString()); + } + for (VcsChange changedFile : c.getChanges()) { + assertFalse(changedFile.getAfterChangeRevisionNumber().contains(":"), + "Vcs change contains revnum : " + changedFile.toString()); + assertFalse(changedFile.getBeforeChangeRevisionNumber().contains(":"), + "Vcs change contains revnum : " + changedFile.toString()); + } + } + } + + @Override protected String getTestDataPath() { return "mercurial-tests/testData"; @@ -111,5 +141,5 @@ private HgRepo createRepo(@NotNull File dir) throws IOException { return new HgRepo(dir, Util.getHgPath(), new AuthSettings()); } - + }
--- a/mercurial-tests/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/UnrelatedResitoriesTest.java Wed Jun 20 22:54:13 2012 +0400 +++ b/mercurial-tests/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/UnrelatedResitoriesTest.java Fri Jun 22 12:41:23 2012 +0400 @@ -25,7 +25,7 @@ @Test public class UnrelatedResitoriesTest { - private final static String CURRENT_VERSION_OF_NEW_REPO = "18:df04faa7575a"; + private final static String CURRENT_VERSION_OF_NEW_REPO = "df04faa7575a"; private MercurialVcsSupport myVcs; private TempFiles myTempFiles; private File myRepositoryLocation;