annotate mercurial-tests/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/VcsRootBuilder.java @ 966:c0f3096cfff6 Indore-2017.1.x

Ability to disable custom hg path and config
author Dmitry Neverov <dmitry.neverov@gmail.com>
date Tue, 16 May 2017 11:28:27 +0200
parents 80ae3dc66685
children 7bf4d943d5bb
rev   line source
732
31a1aca3305c Update copyright
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 704
diff changeset
1 /*
31a1aca3305c Update copyright
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 704
diff changeset
2 * Copyright 2000-2014 JetBrains s.r.o.
31a1aca3305c Update copyright
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 704
diff changeset
3 *
31a1aca3305c Update copyright
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 704
diff changeset
4 * Licensed under the Apache License, Version 2.0 (the "License");
31a1aca3305c Update copyright
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 704
diff changeset
5 * you may not use this file except in compliance with the License.
31a1aca3305c Update copyright
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 704
diff changeset
6 * You may obtain a copy of the License at
31a1aca3305c Update copyright
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 704
diff changeset
7 *
31a1aca3305c Update copyright
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 704
diff changeset
8 * http://www.apache.org/licenses/LICENSE-2.0
31a1aca3305c Update copyright
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 704
diff changeset
9 *
31a1aca3305c Update copyright
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 704
diff changeset
10 * Unless required by applicable law or agreed to in writing, software
31a1aca3305c Update copyright
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 704
diff changeset
11 * distributed under the License is distributed on an "AS IS" BASIS,
31a1aca3305c Update copyright
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 704
diff changeset
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
31a1aca3305c Update copyright
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 704
diff changeset
13 * See the License for the specific language governing permissions and
31a1aca3305c Update copyright
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 704
diff changeset
14 * limitations under the License.
31a1aca3305c Update copyright
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 704
diff changeset
15 */
31a1aca3305c Update copyright
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 704
diff changeset
16
275
13f3e7d0c42c Implement VersionCommand
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff changeset
17 package jetbrains.buildServer.buildTriggers.vcs.mercurial;
13f3e7d0c42c Implement VersionCommand
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff changeset
18
834
80ae3dc66685 TW-18605 add support for 'hg purge'
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 775
diff changeset
19 import jetbrains.buildServer.buildTriggers.vcs.mercurial.command.HgVcsRoot;
775
dd3a471a1188 test added
eugene.petrenko@jetbrains.com
parents: 732
diff changeset
20 import jetbrains.buildServer.util.StringUtil;
275
13f3e7d0c42c Implement VersionCommand
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff changeset
21 import jetbrains.buildServer.vcs.impl.VcsRootImpl;
13f3e7d0c42c Implement VersionCommand
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff changeset
22 import org.jetbrains.annotations.NotNull;
13f3e7d0c42c Implement VersionCommand
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff changeset
23
649
0b50d7952a7d TW-23468 support tags as branches
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 638
diff changeset
24 import java.io.File;
0b50d7952a7d TW-23468 support tags as branches
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 638
diff changeset
25 import java.io.IOException;
0b50d7952a7d TW-23468 support tags as branches
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 638
diff changeset
26
275
13f3e7d0c42c Implement VersionCommand
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff changeset
27 /**
13f3e7d0c42c Implement VersionCommand
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff changeset
28 * @author dmitry.neverov
13f3e7d0c42c Implement VersionCommand
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff changeset
29 */
13f3e7d0c42c Implement VersionCommand
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff changeset
30 public class VcsRootBuilder {
13f3e7d0c42c Implement VersionCommand
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff changeset
31
775
dd3a471a1188 test added
eugene.petrenko@jetbrains.com
parents: 732
diff changeset
32 private String myExtensions;
275
13f3e7d0c42c Implement VersionCommand
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff changeset
33 private String myRepository;
13f3e7d0c42c Implement VersionCommand
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff changeset
34 private String myUsername;
13f3e7d0c42c Implement VersionCommand
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff changeset
35 private String myPassword;
276
8c10f5cec37d TW-17797 Fix merge-base calculation
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 275
diff changeset
36 private String myBranch;
275
13f3e7d0c42c Implement VersionCommand
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff changeset
37 private long myRootId = 1L;
280
8c1fd2e565ae Implement mercurial detection on the agents
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 276
diff changeset
38 private String myHgPath;
371
24d926f22e85 TW-16045 allow specify username for tags
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 356
diff changeset
39 private String myUserForTag;
502
2755266b7dd5 Use uncompressed transfer explicitly
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 371
diff changeset
40 private boolean myUncompressed = true;
531
81fa236998d4 TW-25057 custom clone dir should not contains password
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 502
diff changeset
41 private File myCloneRepositoryTo;
544
4ff88460fb5d UI option for subrepo changes
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 536
diff changeset
42 private boolean myDetectSubrepoChanges = false;
649
0b50d7952a7d TW-23468 support tags as branches
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 638
diff changeset
43 private boolean myTagsAsBranches = false;
686
1efd1846f00a Add an option for using tar archive for building a full patch
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 649
diff changeset
44 private boolean myIncludeSubreposInPatch = true;
1efd1846f00a Add an option for using tar archive for building a full patch
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 649
diff changeset
45 private boolean myUseArchiveForPatch = false;
834
80ae3dc66685 TW-18605 add support for 'hg purge'
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 775
diff changeset
46 private HgVcsRoot.PurgePolicy myPurgePolicy;
966
c0f3096cfff6 Ability to disable custom hg path and config
Dmitry Neverov <dmitry.neverov@gmail.com>
parents: 834
diff changeset
47 private String myCustomConfig;
371
24d926f22e85 TW-16045 allow specify username for tags
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 356
diff changeset
48
24d926f22e85 TW-16045 allow specify username for tags
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 356
diff changeset
49 public static VcsRootBuilder vcsRoot() {
24d926f22e85 TW-16045 allow specify username for tags
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 356
diff changeset
50 return new VcsRootBuilder();
24d926f22e85 TW-16045 allow specify username for tags
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 356
diff changeset
51 }
275
13f3e7d0c42c Implement VersionCommand
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff changeset
52
13f3e7d0c42c Implement VersionCommand
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff changeset
53 public VcsRootImpl build() throws IOException {
309
33305b2022c2 Take caches and plugin data dirs from PluginConfig
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 280
diff changeset
54 VcsRootImpl vcsRoot = new VcsRootImpl(myRootId, Constants.VCS_NAME);
275
13f3e7d0c42c Implement VersionCommand
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff changeset
55 vcsRoot.addProperty(Constants.REPOSITORY_PROP, myRepository);
280
8c1fd2e565ae Implement mercurial detection on the agents
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 276
diff changeset
56 vcsRoot.addProperty(Constants.HG_COMMAND_PATH_PROP, myHgPath != null ? myHgPath : Util.getHgPath());
275
13f3e7d0c42c Implement VersionCommand
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff changeset
57 vcsRoot.addProperty(Constants.USERNAME, myUsername);
13f3e7d0c42c Implement VersionCommand
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff changeset
58 vcsRoot.addProperty(Constants.PASSWORD, myPassword);
276
8c10f5cec37d TW-17797 Fix merge-base calculation
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 275
diff changeset
59 vcsRoot.addProperty(Constants.BRANCH_NAME_PROP, myBranch);
371
24d926f22e85 TW-16045 allow specify username for tags
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 356
diff changeset
60 vcsRoot.addProperty(Constants.USER_FOR_TAG, myUserForTag);
502
2755266b7dd5 Use uncompressed transfer explicitly
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 371
diff changeset
61 vcsRoot.addProperty(Constants.UNCOMPRESSED_TRANSFER, String.valueOf(myUncompressed));
544
4ff88460fb5d UI option for subrepo changes
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 536
diff changeset
62 vcsRoot.addProperty(Constants.DETECT_SUBREPO_CHANGES, String.valueOf(myDetectSubrepoChanges));
686
1efd1846f00a Add an option for using tar archive for building a full patch
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 649
diff changeset
63 vcsRoot.addProperty(Constants.INCLUDE_SUBREPOS_IN_PATCH, String.valueOf(myIncludeSubreposInPatch));
1efd1846f00a Add an option for using tar archive for building a full patch
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 649
diff changeset
64 vcsRoot.addProperty(Constants.USE_ARCHIVE_FOR_PATCH, String.valueOf(myUseArchiveForPatch));
775
dd3a471a1188 test added
eugene.petrenko@jetbrains.com
parents: 732
diff changeset
65 vcsRoot.addProperty(Constants.HG_EXTENSIONS, myExtensions);
531
81fa236998d4 TW-25057 custom clone dir should not contains password
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 502
diff changeset
66 if (myCloneRepositoryTo != null)
81fa236998d4 TW-25057 custom clone dir should not contains password
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 502
diff changeset
67 vcsRoot.addProperty(Constants.SERVER_CLONE_PATH_PROP, String.valueOf(myCloneRepositoryTo.getAbsolutePath()));
649
0b50d7952a7d TW-23468 support tags as branches
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 638
diff changeset
68 vcsRoot.addProperty(Constants.USE_TAGS_AS_BRANCHES, String.valueOf(myTagsAsBranches));
834
80ae3dc66685 TW-18605 add support for 'hg purge'
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 775
diff changeset
69 if (myPurgePolicy != null)
80ae3dc66685 TW-18605 add support for 'hg purge'
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 775
diff changeset
70 vcsRoot.addProperty(Constants.PURGE_POLICY, myPurgePolicy.name());
966
c0f3096cfff6 Ability to disable custom hg path and config
Dmitry Neverov <dmitry.neverov@gmail.com>
parents: 834
diff changeset
71 if (myCustomConfig != null)
c0f3096cfff6 Ability to disable custom hg path and config
Dmitry Neverov <dmitry.neverov@gmail.com>
parents: 834
diff changeset
72 vcsRoot.addProperty(Constants.CUSTOM_HG_CONFIG_PROP, myCustomConfig);
275
13f3e7d0c42c Implement VersionCommand
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff changeset
73 return vcsRoot;
13f3e7d0c42c Implement VersionCommand
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff changeset
74 }
13f3e7d0c42c Implement VersionCommand
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff changeset
75
13f3e7d0c42c Implement VersionCommand
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff changeset
76
356
53b430731041 TW-19984 ensure map file cleaned as well
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 309
diff changeset
77 public VcsRootBuilder withUrl(@NotNull String repository) {
275
13f3e7d0c42c Implement VersionCommand
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff changeset
78 myRepository = repository;
13f3e7d0c42c Implement VersionCommand
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff changeset
79 return this;
13f3e7d0c42c Implement VersionCommand
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff changeset
80 }
13f3e7d0c42c Implement VersionCommand
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff changeset
81
775
dd3a471a1188 test added
eugene.petrenko@jetbrains.com
parents: 732
diff changeset
82 @NotNull
dd3a471a1188 test added
eugene.petrenko@jetbrains.com
parents: 732
diff changeset
83 public VcsRootBuilder withExtensions(@NotNull String... extensions) {
dd3a471a1188 test added
eugene.petrenko@jetbrains.com
parents: 732
diff changeset
84 myExtensions = StringUtil.join(extensions, "\n");
dd3a471a1188 test added
eugene.petrenko@jetbrains.com
parents: 732
diff changeset
85 return this;
dd3a471a1188 test added
eugene.petrenko@jetbrains.com
parents: 732
diff changeset
86 }
dd3a471a1188 test added
eugene.petrenko@jetbrains.com
parents: 732
diff changeset
87
275
13f3e7d0c42c Implement VersionCommand
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff changeset
88
704
5ee94ee69b29 helper method
eugene.petrenko@jetbrains.com
parents: 686
diff changeset
89 public VcsRootBuilder withLocalRepository(@NotNull final File repo) {
5ee94ee69b29 helper method
eugene.petrenko@jetbrains.com
parents: 686
diff changeset
90 return withUrl(repo.getPath()).withCloneRepositoryTo(repo.getParentFile());
5ee94ee69b29 helper method
eugene.petrenko@jetbrains.com
parents: 686
diff changeset
91 }
5ee94ee69b29 helper method
eugene.petrenko@jetbrains.com
parents: 686
diff changeset
92
5ee94ee69b29 helper method
eugene.petrenko@jetbrains.com
parents: 686
diff changeset
93
638
7c017b6aa438 Tests for merge support
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 544
diff changeset
94 public VcsRootBuilder withUrl(@NotNull File repository) {
7c017b6aa438 Tests for merge support
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 544
diff changeset
95 myRepository = repository.getAbsolutePath();
7c017b6aa438 Tests for merge support
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 544
diff changeset
96 return this;
7c017b6aa438 Tests for merge support
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 544
diff changeset
97 }
7c017b6aa438 Tests for merge support
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 544
diff changeset
98
7c017b6aa438 Tests for merge support
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 544
diff changeset
99
356
53b430731041 TW-19984 ensure map file cleaned as well
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 309
diff changeset
100 public VcsRootBuilder withUserName(@NotNull String username) {
275
13f3e7d0c42c Implement VersionCommand
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff changeset
101 myUsername = username;
13f3e7d0c42c Implement VersionCommand
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff changeset
102 return this;
13f3e7d0c42c Implement VersionCommand
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff changeset
103 }
13f3e7d0c42c Implement VersionCommand
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff changeset
104
13f3e7d0c42c Implement VersionCommand
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff changeset
105
356
53b430731041 TW-19984 ensure map file cleaned as well
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 309
diff changeset
106 public VcsRootBuilder withPassword(@NotNull String password) {
275
13f3e7d0c42c Implement VersionCommand
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff changeset
107 myPassword = password;
13f3e7d0c42c Implement VersionCommand
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff changeset
108 return this;
13f3e7d0c42c Implement VersionCommand
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff changeset
109 }
13f3e7d0c42c Implement VersionCommand
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff changeset
110
13f3e7d0c42c Implement VersionCommand
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff changeset
111
356
53b430731041 TW-19984 ensure map file cleaned as well
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 309
diff changeset
112 public VcsRootBuilder withBranch(@NotNull String branch) {
276
8c10f5cec37d TW-17797 Fix merge-base calculation
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 275
diff changeset
113 myBranch = branch;
8c10f5cec37d TW-17797 Fix merge-base calculation
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 275
diff changeset
114 return this;
8c10f5cec37d TW-17797 Fix merge-base calculation
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 275
diff changeset
115 }
8c10f5cec37d TW-17797 Fix merge-base calculation
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 275
diff changeset
116
8c10f5cec37d TW-17797 Fix merge-base calculation
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 275
diff changeset
117
356
53b430731041 TW-19984 ensure map file cleaned as well
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 309
diff changeset
118 public VcsRootBuilder withId(long rootId) {
275
13f3e7d0c42c Implement VersionCommand
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff changeset
119 myRootId = rootId;
13f3e7d0c42c Implement VersionCommand
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff changeset
120 return this;
13f3e7d0c42c Implement VersionCommand
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff changeset
121 }
280
8c1fd2e565ae Implement mercurial detection on the agents
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 276
diff changeset
122
8c1fd2e565ae Implement mercurial detection on the agents
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 276
diff changeset
123
356
53b430731041 TW-19984 ensure map file cleaned as well
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 309
diff changeset
124 public VcsRootBuilder withHgPath(String hgPath) {
280
8c1fd2e565ae Implement mercurial detection on the agents
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 276
diff changeset
125 myHgPath = hgPath;
8c1fd2e565ae Implement mercurial detection on the agents
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 276
diff changeset
126 return this;
8c1fd2e565ae Implement mercurial detection on the agents
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 276
diff changeset
127 }
371
24d926f22e85 TW-16045 allow specify username for tags
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 356
diff changeset
128
24d926f22e85 TW-16045 allow specify username for tags
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 356
diff changeset
129
24d926f22e85 TW-16045 allow specify username for tags
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 356
diff changeset
130 public VcsRootBuilder withUserForTag(String username) {
24d926f22e85 TW-16045 allow specify username for tags
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 356
diff changeset
131 myUserForTag = username;
24d926f22e85 TW-16045 allow specify username for tags
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 356
diff changeset
132 return this;
24d926f22e85 TW-16045 allow specify username for tags
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 356
diff changeset
133 }
531
81fa236998d4 TW-25057 custom clone dir should not contains password
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 502
diff changeset
134
81fa236998d4 TW-25057 custom clone dir should not contains password
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 502
diff changeset
135
81fa236998d4 TW-25057 custom clone dir should not contains password
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 502
diff changeset
136 public VcsRootBuilder withCloneRepositoryTo(File cloneTo) {
81fa236998d4 TW-25057 custom clone dir should not contains password
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 502
diff changeset
137 myCloneRepositoryTo = cloneTo;
81fa236998d4 TW-25057 custom clone dir should not contains password
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 502
diff changeset
138 return this;
81fa236998d4 TW-25057 custom clone dir should not contains password
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 502
diff changeset
139 }
544
4ff88460fb5d UI option for subrepo changes
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 536
diff changeset
140
4ff88460fb5d UI option for subrepo changes
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 536
diff changeset
141
4ff88460fb5d UI option for subrepo changes
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 536
diff changeset
142 public VcsRootBuilder withSubrepoChanges(boolean detectSubrepoChanges) {
4ff88460fb5d UI option for subrepo changes
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 536
diff changeset
143 myDetectSubrepoChanges = detectSubrepoChanges;
4ff88460fb5d UI option for subrepo changes
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 536
diff changeset
144 return this;
4ff88460fb5d UI option for subrepo changes
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 536
diff changeset
145 }
649
0b50d7952a7d TW-23468 support tags as branches
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 638
diff changeset
146
0b50d7952a7d TW-23468 support tags as branches
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 638
diff changeset
147
686
1efd1846f00a Add an option for using tar archive for building a full patch
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 649
diff changeset
148 public VcsRootBuilder withSubreposInPatch(boolean includeSubreposInPatch) {
1efd1846f00a Add an option for using tar archive for building a full patch
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 649
diff changeset
149 myIncludeSubreposInPatch = includeSubreposInPatch;
1efd1846f00a Add an option for using tar archive for building a full patch
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 649
diff changeset
150 return this;
1efd1846f00a Add an option for using tar archive for building a full patch
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 649
diff changeset
151 }
1efd1846f00a Add an option for using tar archive for building a full patch
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 649
diff changeset
152
1efd1846f00a Add an option for using tar archive for building a full patch
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 649
diff changeset
153
1efd1846f00a Add an option for using tar archive for building a full patch
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 649
diff changeset
154 public VcsRootBuilder withArchiveForPatch(boolean useArchiveForPatch) {
1efd1846f00a Add an option for using tar archive for building a full patch
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 649
diff changeset
155 myUseArchiveForPatch = useArchiveForPatch;
1efd1846f00a Add an option for using tar archive for building a full patch
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 649
diff changeset
156 return this;
1efd1846f00a Add an option for using tar archive for building a full patch
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 649
diff changeset
157 }
1efd1846f00a Add an option for using tar archive for building a full patch
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 649
diff changeset
158
1efd1846f00a Add an option for using tar archive for building a full patch
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 649
diff changeset
159
649
0b50d7952a7d TW-23468 support tags as branches
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 638
diff changeset
160 public VcsRootBuilder withTagsEnabled(boolean useTagsAsBranches) {
0b50d7952a7d TW-23468 support tags as branches
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 638
diff changeset
161 myTagsAsBranches = useTagsAsBranches;
0b50d7952a7d TW-23468 support tags as branches
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 638
diff changeset
162 return this;
0b50d7952a7d TW-23468 support tags as branches
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 638
diff changeset
163 }
834
80ae3dc66685 TW-18605 add support for 'hg purge'
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 775
diff changeset
164
80ae3dc66685 TW-18605 add support for 'hg purge'
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 775
diff changeset
165
80ae3dc66685 TW-18605 add support for 'hg purge'
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 775
diff changeset
166 public VcsRootBuilder withPurgePolicy(HgVcsRoot.PurgePolicy policy) {
80ae3dc66685 TW-18605 add support for 'hg purge'
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 775
diff changeset
167 myPurgePolicy = policy;
80ae3dc66685 TW-18605 add support for 'hg purge'
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 775
diff changeset
168 return this;
80ae3dc66685 TW-18605 add support for 'hg purge'
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 775
diff changeset
169 }
966
c0f3096cfff6 Ability to disable custom hg path and config
Dmitry Neverov <dmitry.neverov@gmail.com>
parents: 834
diff changeset
170
c0f3096cfff6 Ability to disable custom hg path and config
Dmitry Neverov <dmitry.neverov@gmail.com>
parents: 834
diff changeset
171
c0f3096cfff6 Ability to disable custom hg path and config
Dmitry Neverov <dmitry.neverov@gmail.com>
parents: 834
diff changeset
172 public VcsRootBuilder withCustomConfig(String customConfig) {
c0f3096cfff6 Ability to disable custom hg path and config
Dmitry Neverov <dmitry.neverov@gmail.com>
parents: 834
diff changeset
173 myCustomConfig = customConfig;
c0f3096cfff6 Ability to disable custom hg path and config
Dmitry Neverov <dmitry.neverov@gmail.com>
parents: 834
diff changeset
174 return this;
c0f3096cfff6 Ability to disable custom hg path and config
Dmitry Neverov <dmitry.neverov@gmail.com>
parents: 834
diff changeset
175 }
275
13f3e7d0c42c Implement VersionCommand
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff changeset
176 }