annotate mercurial-tests/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/MercurialVcsSupportTest.java @ 271:c0540bbe7c2a

Revert premature commit. Parents are not part of API yet
author Dmitry Neverov <dmitry.neverov@jetbrains.com>
date Wed, 20 Jul 2011 17:40:04 +0400
parents f8f67a96b892
children 5cbb5ae712e9
rev   line source
174
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
1 /*
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
2 * Copyright 2000-2011 JetBrains s.r.o.
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
3 *
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
4 * Licensed under the Apache License, Version 2.0 (the "License");
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
5 * you may not use this file except in compliance with the License.
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
6 * You may obtain a copy of the License at
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
7 *
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
8 * http://www.apache.org/licenses/LICENSE-2.0
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
9 *
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
10 * Unless required by applicable law or agreed to in writing, software
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
11 * distributed under the License is distributed on an "AS IS" BASIS,
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
13 * See the License for the specific language governing permissions and
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
14 * limitations under the License.
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
15 */
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
16 package jetbrains.buildServer.buildTriggers.vcs.mercurial;
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
17
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
18 import com.intellij.execution.configurations.GeneralCommandLine;
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
19 import jetbrains.buildServer.ExecResult;
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
20 import jetbrains.buildServer.buildTriggers.vcs.mercurial.command.CommandUtil;
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
21 import jetbrains.buildServer.buildTriggers.vcs.mercurial.command.Settings;
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
22 import jetbrains.buildServer.serverSide.BuildServerListener;
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
23 import jetbrains.buildServer.serverSide.SBuildServer;
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
24 import jetbrains.buildServer.serverSide.ServerPaths;
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
25 import jetbrains.buildServer.util.EventDispatcher;
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
26 import jetbrains.buildServer.vcs.*;
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
27 import jetbrains.buildServer.vcs.impl.VcsRootImpl;
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
28 import jetbrains.buildServer.vcs.patches.PatchBuilderImpl;
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
29 import junit.framework.Assert;
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
30 import org.jetbrains.annotations.NotNull;
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
31 import org.jmock.Mock;
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
32 import org.testng.annotations.BeforeMethod;
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
33 import org.testng.annotations.Test;
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
34
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
35 import java.io.ByteArrayOutputStream;
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
36 import java.io.File;
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
37 import java.io.FilenameFilter;
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
38 import java.io.IOException;
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
39 import java.util.*;
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
40 import java.util.concurrent.Executors;
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
41 import java.util.concurrent.ScheduledExecutorService;
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
42
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
43 @Test
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
44 public class MercurialVcsSupportTest extends BaseMercurialTestCase {
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
45 private MercurialVcsSupport myVcs;
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
46 private ServerPaths myServerPaths;
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
47
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
48 @BeforeMethod
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
49 protected void setUp() throws Exception {
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
50 super.setUp();
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
51
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
52 Mock vcsManagerMock = new Mock(VcsManager.class);
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
53 vcsManagerMock.stubs().method("registerVcsSupport");
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
54 Mock serverMock = new Mock(SBuildServer.class);
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
55 ScheduledExecutorService executor = Executors.newSingleThreadScheduledExecutor();
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
56 serverMock.stubs().method("getExecutor").will(myMockSupport.returnValue(executor));
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
57
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
58 EventDispatcher<BuildServerListener> dispatcher = EventDispatcher.create(BuildServerListener.class);
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
59
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
60 File systemDir = myTempFiles.createTempDir();
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
61 myServerPaths = new ServerPaths(systemDir.getAbsolutePath(), systemDir.getAbsolutePath(), systemDir.getAbsolutePath());
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
62 assertTrue(new File(myServerPaths.getCachesDir()).mkdirs());
256
73708ca4521f Add ability to disable pull protocol
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 251
diff changeset
63 myVcs = new MercurialVcsSupport((VcsManager)vcsManagerMock.proxy(), myServerPaths, (SBuildServer)serverMock.proxy(), dispatcher, createPluginConfig());
174
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
64 }
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
65
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
66 protected String getTestDataPath() {
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
67 return "mercurial-tests/testData";
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
68 }
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
69
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
70 public void test_get_current_version() throws Exception {
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
71 VcsRootImpl vcsRoot = createVcsRoot(simpleRepo());
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
72
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
73 assertEquals(myVcs.getCurrentVersion(vcsRoot), "10:9c6a6b4aede0");
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
74 assertEquals("9c6a6b4aede0", myVcs.getVersionDisplayName("10:9c6a6b4aede0", vcsRoot));
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
75
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
76 assertEquals(myVcs.getCurrentVersion(createVcsRoot(simpleRepo(), "test_branch")), "8:04c3ae4c6312");
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
77
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
78 assertEquals(myVcs.getCurrentVersion(createVcsRoot(simpleRepo(), "name with space")), "9:9babcf2d5705");
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
79 }
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
80
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
81 private List<ModificationData> collectChanges(@NotNull VcsRoot vcsRoot, @NotNull String from, @NotNull String to, @NotNull CheckoutRules rules) throws VcsException {
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
82 return ((CollectChangesByCheckoutRules) myVcs.getCollectChangesPolicy()).collectChanges(vcsRoot, from, to, rules);
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
83 }
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
84
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
85 public void test_collect_changes_between_two_same_roots() throws Exception {
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
86 VcsRootImpl vcsRoot = createVcsRoot(simpleRepo());
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
87 VcsRootImpl sameVcsRoot = createVcsRoot(simpleRepo());
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
88 List<ModificationData> changes = myVcs.collectChanges(vcsRoot, "0:9875b412a788", sameVcsRoot, "3:9522278aa38d", new CheckoutRules(""));
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
89 do_check_for_collect_changes(changes);
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
90 }
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
91
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
92 public void test_collect_changes() throws Exception {
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
93 VcsRootImpl vcsRoot = createVcsRoot(simpleRepo());
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
94 List<ModificationData> changes = collectChanges(vcsRoot, "0:9875b412a788", "3:9522278aa38d", new CheckoutRules(""));
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
95 do_check_for_collect_changes(changes);
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
96 }
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
97
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
98 private void do_check_for_collect_changes(List<ModificationData> changes) throws Exception {
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
99 assertEquals(3, changes.size());
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
100
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
101 ModificationData md1 = changes.get(0);
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
102 ModificationData md2 = changes.get(1);
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
103 ModificationData md3 = changes.get(2);
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
104 assertEquals(md1.getVersion(), "1:1d446e82d356");
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
105 assertEquals(md1.getDescription(), "new file added");
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
106 List<VcsChange> files1 = md1.getChanges();
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
107 assertEquals(1, files1.size());
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
108 assertEquals(VcsChangeInfo.Type.ADDED, files1.get(0).getType());
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
109 assertEquals(normalizePath(files1.get(0).getRelativeFileName()), "dir1/file3.txt");
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
110
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
111 assertEquals(md2.getVersion(), "2:7209b1f1d793");
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
112 assertEquals(md2.getDescription(), "file4.txt added");
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
113 List<VcsChange> files2 = md2.getChanges();
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
114 assertEquals(1, files2.size());
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
115 assertEquals(files2.get(0).getType(), VcsChangeInfo.Type.ADDED);
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
116 assertEquals(normalizePath(files2.get(0).getRelativeFileName()), "dir1/file4.txt");
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
117
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
118 assertEquals(md3.getVersion(), "3:9522278aa38d");
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
119 assertEquals(md3.getDescription(), "file removed");
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
120 List<VcsChange> files3 = md3.getChanges();
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
121 assertEquals(1, files3.size());
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
122 assertEquals(files3.get(0).getType(), VcsChangeInfo.Type.REMOVED);
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
123 assertEquals(normalizePath(files3.get(0).getRelativeFileName()), "dir1/file4.txt");
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
124 }
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
125
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
126 private ByteArrayOutputStream buildPatch(VcsRoot vcsRoot, String from, String to, CheckoutRules rules) throws IOException, VcsException {
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
127 final ByteArrayOutputStream output = new ByteArrayOutputStream();
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
128 final PatchBuilderImpl builder = new PatchBuilderImpl(output);
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
129
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
130 ((BuildPatchByCheckoutRules)myVcs.getBuildPatchPolicy()).buildPatch(vcsRoot, from, to, builder, rules);
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
131 builder.close();
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
132 return output;
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
133 }
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
134
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
135 @Test
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
136 public void test_build_patch() throws IOException, VcsException {
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
137 setName("cleanPatch1");
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
138 VcsRootImpl vcsRoot = createVcsRoot(simpleRepo());
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
139
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
140 ByteArrayOutputStream output = buildPatch(vcsRoot, null, "4:b06a290a363b", new CheckoutRules(""));
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
141 checkPatchResult(output.toByteArray());
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
142
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
143 File clonedReposParentDir = new File(myServerPaths.getCachesDir(), "mercurial");
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
144 assertTrue(clonedReposParentDir.isDirectory());
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
145 assertTrue(1 == clonedReposParentDir.list(new FilenameFilter() {
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
146 public boolean accept(final File dir, final String name) {
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
147 return name.startsWith("hg_");
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
148 }
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
149 }).length);
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
150 }
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
151
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
152 public void test_build_incremental_patch() throws IOException, VcsException {
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
153 setName("patch1");
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
154 VcsRootImpl vcsRoot = createVcsRoot(simpleRepo());
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
155
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
156 ByteArrayOutputStream output = buildPatch(vcsRoot, "3:9522278aa38d", "4:b06a290a363b", new CheckoutRules(""));
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
157
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
158 checkPatchResult(output.toByteArray());
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
159 }
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
160
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
161 public void test_build_incremental_patch_checkout_rules() throws IOException, VcsException {
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
162 setName("patch1_checkout_rules");
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
163 VcsRootImpl vcsRoot = createVcsRoot(simpleRepo());
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
164
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
165 ByteArrayOutputStream output = buildPatch(vcsRoot, "3:9522278aa38d", "4:b06a290a363b", new CheckoutRules("+:dir1=>path"));
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
166
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
167 checkPatchResult(output.toByteArray());
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
168 }
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
169
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
170 public void test_build_clean_patch_checkout_rules() throws IOException, VcsException {
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
171 setName("cleanPatch1_checkout_rules");
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
172 VcsRootImpl vcsRoot = createVcsRoot(simpleRepo());
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
173
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
174 ByteArrayOutputStream output = buildPatch(vcsRoot, null, "4:b06a290a363b", new CheckoutRules("+:dir1/subdir=>."));
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
175
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
176 checkPatchResult(output.toByteArray());
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
177 }
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
178
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
179 public void test_build_incremental_patch_file_with_space() throws IOException, VcsException {
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
180 setName("patch2");
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
181 VcsRootImpl vcsRoot = createVcsRoot(simpleRepo());
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
182
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
183 ByteArrayOutputStream output = buildPatch(vcsRoot, "3:9522278aa38d", "6:b9deb9a1c6f4", new CheckoutRules(""));
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
184
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
185 checkPatchResult(output.toByteArray());
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
186 }
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
187
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
188 public void test_get_content() throws IOException, VcsException {
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
189 VcsRootImpl vcsRoot = createVcsRoot(simpleRepo());
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
190
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
191 byte[] content = myVcs.getContent("dir1/subdir/file2.txt", vcsRoot, "4:b06a290a363b");
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
192 assertEquals(new String(content), "bbb");
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
193 content = myVcs.getContent("dir1/subdir/file2.txt", vcsRoot, "5:1d2cc6f3bc29");
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
194 assertEquals(new String(content), "modified\r\nbbb");
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
195 }
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
196
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
197 public void test_get_content_in_branch() throws IOException, VcsException {
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
198 VcsRootImpl vcsRoot = createVcsRoot(simpleRepo(), "test_branch");
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
199
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
200 byte[] content = myVcs.getContent("file_in_branch.txt", vcsRoot, "8:04c3ae4c6312");
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
201 assertEquals(new String(content), "file from the test_branch\r\nfile modified");
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
202 }
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
203
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
204 public void test_test_connection() throws IOException, VcsException {
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
205 VcsRootImpl vcsRoot = createVcsRoot(simpleRepo());
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
206 vcsRoot.addProperty(Constants.REPOSITORY_PROP, "/some/non/existent/path");
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
207 try {
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
208 myVcs.getTestConnectionSupport().testConnection(vcsRoot);
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
209 fail("Exception expected");
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
210 } catch (VcsException e) {
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
211 }
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
212 }
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
213
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
214 public void test_tag() throws IOException, VcsException {
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
215 VcsRootImpl vcsRoot = createVcsRoot(simpleRepo());
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
216 cleanRepositoryAfterTest(simpleRepo());
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
217
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
218 String actualTag = myVcs.label("new:tag", "1:1d446e82d356", vcsRoot, new CheckoutRules(""));
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
219 assertEquals(actualTag, "new_tag");
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
220
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
221 // check the tag is pushed to the parent repository
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
222 GeneralCommandLine cli = new GeneralCommandLine();
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
223 cli.setExePath(vcsRoot.getProperty(Constants.HG_COMMAND_PATH_PROP));
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
224 cli.setWorkDirectory(vcsRoot.getProperty(Constants.REPOSITORY_PROP));
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
225 cli.addParameter("tags");
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
226 ExecResult res = CommandUtil.runCommand(cli);
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
227 assertTrue(res.getStdout().contains("new_tag"));
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
228 assertTrue(res.getStdout().contains("1:1d446e82d356"));
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
229 }
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
230
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
231 public void test_tag_in_branch() throws IOException, VcsException {
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
232 VcsRootImpl vcsRoot = createVcsRoot(simpleRepo(), "test_branch");
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
233 cleanRepositoryAfterTest(simpleRepo());
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
234
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
235 String actualTag = myVcs.label("branch_tag", "7:376dcf05cd2a", vcsRoot, new CheckoutRules(""));
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
236 assertEquals(actualTag, "branch_tag");
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
237
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
238 // check the tag is pushed to the parent repository
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
239 GeneralCommandLine cli = new GeneralCommandLine();
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
240 cli.setExePath(vcsRoot.getProperty(Constants.HG_COMMAND_PATH_PROP));
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
241 cli.setWorkDirectory(vcsRoot.getProperty(Constants.REPOSITORY_PROP));
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
242 cli.addParameter("tags");
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
243 ExecResult res = CommandUtil.runCommand(cli);
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
244 assertTrue(res.getStdout().contains("branch_tag"));
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
245 assertTrue(res.getStdout().contains("7:376dcf05cd2a"));
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
246 }
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
247
241
ffd7234f9d1f test to reproduce TW-16278
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 221
diff changeset
248
ffd7234f9d1f test to reproduce TW-16278
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 221
diff changeset
249 public void labeling_should_not_populate_files_in_local_mirror() throws Exception {
ffd7234f9d1f test to reproduce TW-16278
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 221
diff changeset
250 VcsRootImpl root = createVcsRoot(simpleRepo());
ffd7234f9d1f test to reproduce TW-16278
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 221
diff changeset
251 cleanRepositoryAfterTest(simpleRepo());
ffd7234f9d1f test to reproduce TW-16278
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 221
diff changeset
252 myVcs.getCurrentVersion(root);
ffd7234f9d1f test to reproduce TW-16278
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 221
diff changeset
253 File mirror = myVcs.getMirrorManager().getMirrorDir(root.getProperty(Constants.REPOSITORY_PROP));
ffd7234f9d1f test to reproduce TW-16278
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 221
diff changeset
254 File[] files = mirror.listFiles();
ffd7234f9d1f test to reproduce TW-16278
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 221
diff changeset
255 assertEquals(files.length, 1);
ffd7234f9d1f test to reproduce TW-16278
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 221
diff changeset
256 assertEquals(files[0].getName(), ".hg");
ffd7234f9d1f test to reproduce TW-16278
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 221
diff changeset
257
ffd7234f9d1f test to reproduce TW-16278
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 221
diff changeset
258 myVcs.label("v1.0", "7:376dcf05cd2a", root, new CheckoutRules(""));
ffd7234f9d1f test to reproduce TW-16278
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 221
diff changeset
259
ffd7234f9d1f test to reproduce TW-16278
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 221
diff changeset
260 files = mirror.listFiles();
ffd7234f9d1f test to reproduce TW-16278
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 221
diff changeset
261 assertEquals(files.length, 1);
ffd7234f9d1f test to reproduce TW-16278
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 221
diff changeset
262 assertEquals(files[0].getName(), ".hg");
ffd7234f9d1f test to reproduce TW-16278
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 221
diff changeset
263 }
ffd7234f9d1f test to reproduce TW-16278
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 221
diff changeset
264
ffd7234f9d1f test to reproduce TW-16278
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 221
diff changeset
265
174
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
266 public void test_collect_changes_in_branch() throws Exception {
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
267 VcsRootImpl vcsRoot = createVcsRoot(simpleRepo(), "test_branch");
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
268
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
269 // fromVersion(6:b9deb9a1c6f4) is not in the branch (it is in the default branch)
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
270 List<ModificationData> changes = collectChanges(vcsRoot, "6:b9deb9a1c6f4", "7:376dcf05cd2a", CheckoutRules.DEFAULT);
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
271 assertEquals(1, changes.size());
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
272
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
273 ModificationData md1 = changes.get(0);
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
274 assertEquals(md1.getVersion(), "7:376dcf05cd2a");
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
275 assertEquals(md1.getDescription(), "new file added in the test_branch");
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
276 List<VcsChange> files1 = md1.getChanges();
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
277 assertEquals(1, files1.size());
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
278 assertEquals(VcsChangeInfo.Type.ADDED, files1.get(0).getType());
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
279 assertEquals(normalizePath(files1.get(0).getRelativeFileName()), "file_in_branch.txt");
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
280
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
281 changes = collectChanges(vcsRoot, "7:376dcf05cd2a", "8:04c3ae4c6312", CheckoutRules.DEFAULT);
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
282 assertEquals(1, changes.size());
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
283
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
284 md1 = changes.get(0);
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
285 assertEquals(md1.getVersion(), "8:04c3ae4c6312");
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
286 assertEquals(md1.getDescription(), "file modified");
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
287 }
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
288
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
289 public void test_full_patch_from_branch() throws IOException, VcsException {
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
290 setName("patch3");
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
291 VcsRootImpl vcsRoot = createVcsRoot(simpleRepo(), "test_branch");
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
292
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
293 ByteArrayOutputStream output = buildPatch(vcsRoot, null, "7:376dcf05cd2a", new CheckoutRules(""));
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
294
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
295 checkPatchResult(output.toByteArray());
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
296 }
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
297
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
298 public void test_full_patch_from_branch_with_checkout_rules() throws IOException, VcsException {
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
299 setName("patch3_checkout_rules1");
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
300 VcsRootImpl vcsRoot = createVcsRoot(simpleRepo(), "test_branch");
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
301
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
302 ByteArrayOutputStream output = buildPatch(vcsRoot, null, "7:376dcf05cd2a", new CheckoutRules("+:.=>path"));
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
303
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
304 checkPatchResult(output.toByteArray());
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
305 }
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
306
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
307 public void test_full_patch_from_branch_with_checkout_rules_mapped_and_skipped() throws IOException, VcsException {
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
308 setName("patch3_checkout_rules2");
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
309 VcsRootImpl vcsRoot = createVcsRoot(simpleRepo(), "test_branch");
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
310
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
311 ByteArrayOutputStream output = buildPatch(vcsRoot, null, "7:376dcf05cd2a", new CheckoutRules("+:dir1=>path/dir1\n+:dir with space"));
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
312
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
313 checkPatchResult(output.toByteArray());
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
314 }
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
315
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
316 public void test_incremental_patch_from_branch() throws IOException, VcsException {
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
317 setName("patch4");
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
318 VcsRootImpl vcsRoot = createVcsRoot(simpleRepo(), "test_branch");
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
319
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
320 ByteArrayOutputStream output = buildPatch(vcsRoot, "7:376dcf05cd2a", "8:04c3ae4c6312", new CheckoutRules(""));
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
321
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
322 checkPatchResult(output.toByteArray());
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
323 }
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
324
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
325 @Test(enabled = false)
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
326 public void support_anchor_branch_notation() throws IOException {
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
327 VcsRootImpl vcsRoot = createVcsRoot(simpleRepo());
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
328 String repPath = vcsRoot.getProperty(Constants.REPOSITORY_PROP);
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
329 vcsRoot.addProperty(Constants.REPOSITORY_PROP, repPath + "#test_branch");
181
0ea2ad14ce97 Add local mirrors for agent checkout. To turn them on set agent property teamcity.hg.use.local.mirrors = true.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 174
diff changeset
330 Settings settings = new Settings(vcsRoot);
174
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
331 assertEquals("test_branch", settings.getBranchName());
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
332
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
333 vcsRoot.addProperty(Constants.REPOSITORY_PROP, repPath + "#");
181
0ea2ad14ce97 Add local mirrors for agent checkout. To turn them on set agent property teamcity.hg.use.local.mirrors = true.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 174
diff changeset
334 settings = new Settings(vcsRoot);
174
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
335 assertEquals("default", settings.getBranchName());
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
336
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
337 vcsRoot.addProperty(Constants.REPOSITORY_PROP, repPath);
181
0ea2ad14ce97 Add local mirrors for agent checkout. To turn them on set agent property teamcity.hg.use.local.mirrors = true.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 174
diff changeset
338 settings = new Settings(vcsRoot);
174
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
339 assertEquals("default", settings.getBranchName());
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
340 }
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
341
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
342 public void build_patch_using_custom_clone_path() throws IOException, VcsException {
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
343 setName("cleanPatch1");
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
344 VcsRootImpl vcsRoot = createVcsRoot(simpleRepo());
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
345 File cloneDir = myTempFiles.createTempDir();
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
346 vcsRoot.addProperty(Constants.SERVER_CLONE_PATH_PROP, cloneDir.getAbsolutePath());
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
347
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
348 ByteArrayOutputStream output = buildPatch(vcsRoot, null, "4:b06a290a363b", new CheckoutRules(""));
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
349
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
350 checkPatchResult(output.toByteArray());
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
351
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
352 assertTrue(new File(cloneDir, new File(vcsRoot.getProperty(Constants.REPOSITORY_PROP)).getName()).isDirectory());
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
353 }
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
354
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
355 private String mergeCommittsRepo() {
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
356 return new File("mercurial-tests/testData/rep2").getAbsolutePath();
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
357 }
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
358
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
359 public void test_collect_changes_between_two_different_roots() throws Exception {
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
360 VcsRootImpl defaultRoot = createVcsRoot(mergeCommittsRepo());
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
361 VcsRootImpl branchRoot = createVcsRoot(mergeCommittsRepo(), "test");
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
362 List<ModificationData> changes = myVcs.collectChanges(defaultRoot, "11:48177654181c", branchRoot, "10:fc524efc2bc4", CheckoutRules.DEFAULT);
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
363 assertEquals(changes.size(), 2);
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
364
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
365 assertEquals("9:8c44244d6645", changes.get(0).getVersion());
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
366 assertEquals("10:fc524efc2bc4", changes.get(1).getVersion());
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
367 }
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
368
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
369 public void test_collect_changes_merge() throws Exception {
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
370 VcsRootImpl vcsRoot = createVcsRoot(mergeCommittsRepo());
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
371
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
372 List<ModificationData> changes = collectChanges(vcsRoot, "1:a3d15477d297", "4:6eeb8974fe67", CheckoutRules.DEFAULT);
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
373 assertEquals(changes.size(), 3);
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
374
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
375 assertEquals("2:db8a04d262f3", changes.get(0).getVersion());
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
376 assertEquals("3:2538c02bafeb", changes.get(1).getVersion());
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
377 assertEquals("4:6eeb8974fe67", changes.get(2).getVersion());
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
378
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
379 assertFiles(Arrays.asList("A dir1/file1.txt"), changes.get(0));
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
380 assertFiles(Arrays.asList("A dir2/file2.txt"), changes.get(1));
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
381 assertFiles(Arrays.asList("A dir1/file1.txt", "A dir2/file2.txt"), changes.get(2));
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
382 }
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
383
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
384 public void test_collect_changes_merge_conflict() throws Exception {
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
385 VcsRootImpl vcsRoot = createVcsRoot(mergeCommittsRepo());
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
386
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
387 List<ModificationData> changes = collectChanges(vcsRoot, "6:6066b677d026", "8:b6e2d176fe8e", CheckoutRules.DEFAULT);
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
388 assertEquals(changes.size(), 2);
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
389
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
390 assertFiles(Arrays.asList("A dir4/file41.txt"), changes.get(0));
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
391 assertFiles(Arrays.asList("M dir4/file41.txt", "A dir4/file42.txt", "A dir4/file43.txt", "R dir3/file3.txt"), changes.get(1));
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
392 }
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
393
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
394 public void test_collect_changes_merge_conflict_named_branch() throws Exception {
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
395 VcsRootImpl vcsRoot = createVcsRoot(mergeCommittsRepo());
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
396
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
397 List<ModificationData> changes = collectChanges(vcsRoot, "8:b6e2d176fe8e", "12:1e620196c4b6", CheckoutRules.DEFAULT);
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
398 assertEquals(changes.size(), 2);
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
399
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
400 assertFiles(Arrays.asList("A dir6/file6.txt"), changes.get(0));
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
401 assertFiles(Arrays.asList("M dir6/file6.txt", "A dir5/file5.txt"), changes.get(1));
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
402 }
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
403
260
62f9389a4095 TW-17530
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 256
diff changeset
404 //TW-17530
62f9389a4095 TW-17530
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 256
diff changeset
405 public void test_collect_changes_with_exclude_checkout_rules() throws Exception {
62f9389a4095 TW-17530
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 256
diff changeset
406 VcsRootImpl root = createVcsRoot(simpleRepo());
62f9389a4095 TW-17530
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 256
diff changeset
407 collectChanges(root, "0:9875b412a788", "10:9c6a6b4aede0", new CheckoutRules("-:dir1\n" +
62f9389a4095 TW-17530
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 256
diff changeset
408 "-:dir with space"));
62f9389a4095 TW-17530
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 256
diff changeset
409 }
62f9389a4095 TW-17530
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 256
diff changeset
410
174
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
411 //TW-10172
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
412 public void should_not_fill_server_clone_path() {
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
413 assertFalse(myVcs.getDefaultVcsProperties().containsKey(Constants.SERVER_CLONE_PATH_PROP));
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
414
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
415 Map<String, String> rootProperties = new HashMap<String, String>() {{
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
416 put(Constants.HG_COMMAND_PATH_PROP, "hg");
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
417 put(Constants.REPOSITORY_PROP, "http://somewhere.com/path");
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
418 }};
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
419
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
420 assertFalse(rootProperties.containsKey(Constants.SERVER_CLONE_PATH_PROP));
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
421 myVcs.getVcsPropertiesProcessor().process(rootProperties);
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
422 assertFalse(rootProperties.containsKey(Constants.SERVER_CLONE_PATH_PROP));
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
423 }
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
424
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
425 public void use_compressed_transfer_by_default() {
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
426 VcsRootImpl root = new VcsRootImpl(1, Constants.VCS_NAME);
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
427 root.addAllProperties(myVcs.getDefaultVcsProperties());
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
428 root.addProperty(Constants.REPOSITORY_PROP, "http://host.com/path");
181
0ea2ad14ce97 Add local mirrors for agent checkout. To turn them on set agent property teamcity.hg.use.local.mirrors = true.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 174
diff changeset
429 Settings settings = new Settings(root);
174
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
430 assertFalse(settings.isUncompressedTransfer());
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
431 }
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
432
183
58f712889f59 Add test to reproduce TW-15672
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 181
diff changeset
433
58f712889f59 Add test to reproduce TW-15672
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 181
diff changeset
434 //TW-15762
58f712889f59 Add test to reproduce TW-15672
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 181
diff changeset
435 public void should_use_clone_to_root_parameter() throws IOException, VcsException {
58f712889f59 Add test to reproduce TW-15672
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 181
diff changeset
436 VcsRootImpl vcsRoot = createVcsRoot(simpleRepo());
58f712889f59 Add test to reproduce TW-15672
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 181
diff changeset
437 File cloneDir = myTempFiles.createTempDir();
58f712889f59 Add test to reproduce TW-15672
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 181
diff changeset
438 vcsRoot.addProperty(Constants.SERVER_CLONE_PATH_PROP, cloneDir.getAbsolutePath());
58f712889f59 Add test to reproduce TW-15672
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 181
diff changeset
439 myVcs.getCurrentVersion(vcsRoot);
58f712889f59 Add test to reproduce TW-15672
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 181
diff changeset
440 }
58f712889f59 Add test to reproduce TW-15672
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 181
diff changeset
441
58f712889f59 Add test to reproduce TW-15672
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 181
diff changeset
442
251
75765a16ac7e Implement method getPersonalBranchDescription()
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 241
diff changeset
443 public void test_getPersonalBranchDescription_when_branch_contains_commits() throws Exception {
75765a16ac7e Implement method getPersonalBranchDescription()
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 241
diff changeset
444 VcsRootImpl originalRoot = createVcsRoot(simpleRepo());
75765a16ac7e Implement method getPersonalBranchDescription()
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 241
diff changeset
445 PersonalBranchDescription description = myVcs.getPersonalBranchDescription(originalRoot, "name with space");
75765a16ac7e Implement method getPersonalBranchDescription()
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 241
diff changeset
446 assertNotNull(description);
75765a16ac7e Implement method getPersonalBranchDescription()
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 241
diff changeset
447 assertEquals(description.getBranchId(), "376dcf05cd2a");
75765a16ac7e Implement method getPersonalBranchDescription()
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 241
diff changeset
448 assertEquals(description.getUsername(), "Pavel.Sher");
75765a16ac7e Implement method getPersonalBranchDescription()
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 241
diff changeset
449 }
75765a16ac7e Implement method getPersonalBranchDescription()
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 241
diff changeset
450
75765a16ac7e Implement method getPersonalBranchDescription()
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 241
diff changeset
451
75765a16ac7e Implement method getPersonalBranchDescription()
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 241
diff changeset
452 public void test_getPersonalBranchDescription_when_branch_doesnot_contain_commits() throws Exception {
75765a16ac7e Implement method getPersonalBranchDescription()
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 241
diff changeset
453 VcsRootImpl originalRoot = createVcsRoot(simpleRepo());
75765a16ac7e Implement method getPersonalBranchDescription()
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 241
diff changeset
454 PersonalBranchDescription description = myVcs.getPersonalBranchDescription(originalRoot, "default");
75765a16ac7e Implement method getPersonalBranchDescription()
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 241
diff changeset
455 assertNull(description);
75765a16ac7e Implement method getPersonalBranchDescription()
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 241
diff changeset
456 }
75765a16ac7e Implement method getPersonalBranchDescription()
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 241
diff changeset
457
75765a16ac7e Implement method getPersonalBranchDescription()
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 241
diff changeset
458
174
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
459 private void assertFiles(final List<String> expectedFiles, final ModificationData modificationData) {
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
460 List<String> actualFiles = new ArrayList<String>();
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
461 for (VcsChange vc: modificationData.getChanges()) {
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
462 actualFiles.add(toFileStatus(vc.getType()) + " " + vc.getRelativeFileName());
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
463 }
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
464 Assert.assertEquals("Actual files: " + actualFiles.toString(), expectedFiles, actualFiles);
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
465 }
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
466
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
467 private String toFileStatus(VcsChange.Type type) {
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
468 switch (type) {
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
469 case ADDED:
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
470 return "A";
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
471 case REMOVED:
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
472 return "R";
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
473 case CHANGED:
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
474 return "M";
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
475 }
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
476 return "?";
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
477 }
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
478
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
479 private Object normalizePath(final String path) {
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
480 return path.replace(File.separatorChar, '/');
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
481 }
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
482
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
483
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
484 public void test_collect_changes_using_checkout_rules() {
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
485 assertTrue(myVcs.getCollectChangesPolicy() instanceof CollectChangesByCheckoutRules);
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
486 }
256
73708ca4521f Add ability to disable pull protocol
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 251
diff changeset
487
73708ca4521f Add ability to disable pull protocol
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 251
diff changeset
488 private PluginConfig createPluginConfig() {
73708ca4521f Add ability to disable pull protocol
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 251
diff changeset
489 return new PluginConfig() {
73708ca4521f Add ability to disable pull protocol
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 251
diff changeset
490 public boolean isUsePullProtocol() {
73708ca4521f Add ability to disable pull protocol
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 251
diff changeset
491 return true;
73708ca4521f Add ability to disable pull protocol
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 251
diff changeset
492 }
73708ca4521f Add ability to disable pull protocol
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 251
diff changeset
493 };
73708ca4521f Add ability to disable pull protocol
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 251
diff changeset
494 }
174
2faaa84c0896 Fix TW-15195: Add option in UI to do --uncompressed clone.
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 165 172
diff changeset
495 }
251
75765a16ac7e Implement method getPersonalBranchDescription()
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 241
diff changeset
496