Mercurial > hg > mercurial
annotate mercurial-tests/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/VcsRootBuilder.java @ 834:80ae3dc66685
TW-18605 add support for 'hg purge'
author | Dmitry Neverov <dmitry.neverov@jetbrains.com> |
---|---|
date | Sun, 01 Jun 2014 22:16:18 +0200 |
parents | dd3a471a1188 |
children | c0f3096cfff6 38adef4f1b8f |
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 | 20 import jetbrains.buildServer.util.StringUtil; |
356
53b430731041
TW-19984 ensure map file cleaned as well
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
309
diff
changeset
|
21 import jetbrains.buildServer.vcs.SVcsRoot; |
275
13f3e7d0c42c
Implement VersionCommand
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff
changeset
|
22 import jetbrains.buildServer.vcs.impl.VcsRootImpl; |
13f3e7d0c42c
Implement VersionCommand
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff
changeset
|
23 import org.jetbrains.annotations.NotNull; |
356
53b430731041
TW-19984 ensure map file cleaned as well
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
309
diff
changeset
|
24 import org.jmock.Expectations; |
53b430731041
TW-19984 ensure map file cleaned as well
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
309
diff
changeset
|
25 import org.jmock.Mockery; |
275
13f3e7d0c42c
Implement VersionCommand
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff
changeset
|
26 |
649
0b50d7952a7d
TW-23468 support tags as branches
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
638
diff
changeset
|
27 import java.io.File; |
0b50d7952a7d
TW-23468 support tags as branches
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
638
diff
changeset
|
28 import java.io.IOException; |
0b50d7952a7d
TW-23468 support tags as branches
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
638
diff
changeset
|
29 |
275
13f3e7d0c42c
Implement VersionCommand
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff
changeset
|
30 /** |
13f3e7d0c42c
Implement VersionCommand
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff
changeset
|
31 * @author dmitry.neverov |
13f3e7d0c42c
Implement VersionCommand
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff
changeset
|
32 */ |
13f3e7d0c42c
Implement VersionCommand
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff
changeset
|
33 public class VcsRootBuilder { |
13f3e7d0c42c
Implement VersionCommand
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff
changeset
|
34 |
775 | 35 private String myExtensions; |
275
13f3e7d0c42c
Implement VersionCommand
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff
changeset
|
36 private String myRepository; |
13f3e7d0c42c
Implement VersionCommand
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff
changeset
|
37 private String myUsername; |
13f3e7d0c42c
Implement VersionCommand
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff
changeset
|
38 private String myPassword; |
276
8c10f5cec37d
TW-17797 Fix merge-base calculation
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
275
diff
changeset
|
39 private String myBranch; |
275
13f3e7d0c42c
Implement VersionCommand
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff
changeset
|
40 private long myRootId = 1L; |
280
8c1fd2e565ae
Implement mercurial detection on the agents
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
276
diff
changeset
|
41 private String myHgPath; |
371
24d926f22e85
TW-16045 allow specify username for tags
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
356
diff
changeset
|
42 private String myUserForTag; |
502
2755266b7dd5
Use uncompressed transfer explicitly
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
371
diff
changeset
|
43 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
|
44 private File myCloneRepositoryTo; |
544
4ff88460fb5d
UI option for subrepo changes
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
536
diff
changeset
|
45 private boolean myDetectSubrepoChanges = false; |
649
0b50d7952a7d
TW-23468 support tags as branches
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
638
diff
changeset
|
46 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
|
47 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
|
48 private boolean myUseArchiveForPatch = false; |
834
80ae3dc66685
TW-18605 add support for 'hg purge'
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
775
diff
changeset
|
49 private HgVcsRoot.PurgePolicy myPurgePolicy; |
371
24d926f22e85
TW-16045 allow specify username for tags
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
356
diff
changeset
|
50 |
24d926f22e85
TW-16045 allow specify username for tags
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
356
diff
changeset
|
51 public static VcsRootBuilder vcsRoot() { |
24d926f22e85
TW-16045 allow specify username for tags
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
356
diff
changeset
|
52 return new VcsRootBuilder(); |
24d926f22e85
TW-16045 allow specify username for tags
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
356
diff
changeset
|
53 } |
275
13f3e7d0c42c
Implement VersionCommand
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff
changeset
|
54 |
13f3e7d0c42c
Implement VersionCommand
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff
changeset
|
55 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
|
56 VcsRootImpl vcsRoot = new VcsRootImpl(myRootId, Constants.VCS_NAME); |
275
13f3e7d0c42c
Implement VersionCommand
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff
changeset
|
57 vcsRoot.addProperty(Constants.REPOSITORY_PROP, myRepository); |
280
8c1fd2e565ae
Implement mercurial detection on the agents
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
276
diff
changeset
|
58 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
|
59 vcsRoot.addProperty(Constants.USERNAME, myUsername); |
13f3e7d0c42c
Implement VersionCommand
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff
changeset
|
60 vcsRoot.addProperty(Constants.PASSWORD, myPassword); |
276
8c10f5cec37d
TW-17797 Fix merge-base calculation
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
275
diff
changeset
|
61 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
|
62 vcsRoot.addProperty(Constants.USER_FOR_TAG, myUserForTag); |
502
2755266b7dd5
Use uncompressed transfer explicitly
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
371
diff
changeset
|
63 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
|
64 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
|
65 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
|
66 vcsRoot.addProperty(Constants.USE_ARCHIVE_FOR_PATCH, String.valueOf(myUseArchiveForPatch)); |
775 | 67 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
|
68 if (myCloneRepositoryTo != null) |
81fa236998d4
TW-25057 custom clone dir should not contains password
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
502
diff
changeset
|
69 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
|
70 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
|
71 if (myPurgePolicy != null) |
80ae3dc66685
TW-18605 add support for 'hg purge'
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
775
diff
changeset
|
72 vcsRoot.addProperty(Constants.PURGE_POLICY, myPurgePolicy.name()); |
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 SVcsRoot build(Mockery context) { |
53b430731041
TW-19984 ensure map file cleaned as well
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
309
diff
changeset
|
78 final SVcsRoot root = context.mock(SVcsRoot.class, "SVcsRoot" + myRootId); |
53b430731041
TW-19984 ensure map file cleaned as well
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
309
diff
changeset
|
79 context.checking(new Expectations() {{ |
536 | 80 allowing(root).describe(false); will(returnValue("toString")); |
356
53b430731041
TW-19984 ensure map file cleaned as well
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
309
diff
changeset
|
81 allowing(root).getVcsName(); will(returnValue(Constants.VCS_NAME)); |
53b430731041
TW-19984 ensure map file cleaned as well
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
309
diff
changeset
|
82 allowing(root).getProperty(with(Constants.REPOSITORY_PROP)); will(returnValue(myRepository)); |
53b430731041
TW-19984 ensure map file cleaned as well
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
309
diff
changeset
|
83 allowing(root).getProperty(with(Constants.HG_COMMAND_PATH_PROP)); will(returnValue(myHgPath)); |
53b430731041
TW-19984 ensure map file cleaned as well
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
309
diff
changeset
|
84 allowing(root).getProperty(with(Constants.BRANCH_NAME_PROP)); will(returnValue(myBranch)); |
53b430731041
TW-19984 ensure map file cleaned as well
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
309
diff
changeset
|
85 allowing(root).getProperty(with(Constants.SERVER_CLONE_PATH_PROP)); will(returnValue(null)); |
53b430731041
TW-19984 ensure map file cleaned as well
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
309
diff
changeset
|
86 allowing(root).getProperty(with(Constants.USERNAME)); will(returnValue(myUsername)); |
53b430731041
TW-19984 ensure map file cleaned as well
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
309
diff
changeset
|
87 allowing(root).getProperty(with(Constants.PASSWORD)); will(returnValue(myPassword)); |
53b430731041
TW-19984 ensure map file cleaned as well
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
309
diff
changeset
|
88 allowing(root).getProperty(with(Constants.UNCOMPRESSED_TRANSFER)); will(returnValue(null)); |
371
24d926f22e85
TW-16045 allow specify username for tags
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
356
diff
changeset
|
89 allowing(root).getProperty(with(Constants.USER_FOR_TAG)); will(returnValue(myUserForTag)); |
544
4ff88460fb5d
UI option for subrepo changes
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
536
diff
changeset
|
90 allowing(root).getProperty(with(Constants.DETECT_SUBREPO_CHANGES)); will(returnValue(String.valueOf(myDetectSubrepoChanges))); |
649
0b50d7952a7d
TW-23468 support tags as branches
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
638
diff
changeset
|
91 allowing(root).getProperty(with(Constants.USE_TAGS_AS_BRANCHES)); will(returnValue(String.valueOf(myTagsAsBranches))); |
775 | 92 allowing(root).getProperty(with(Constants.HG_EXTENSIONS)); will(returnValue(myExtensions)); |
356
53b430731041
TW-19984 ensure map file cleaned as well
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
309
diff
changeset
|
93 }}); |
531
81fa236998d4
TW-25057 custom clone dir should not contains password
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
502
diff
changeset
|
94 if (myCloneRepositoryTo != null) { |
81fa236998d4
TW-25057 custom clone dir should not contains password
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
502
diff
changeset
|
95 context.checking(new Expectations() {{ |
81fa236998d4
TW-25057 custom clone dir should not contains password
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
502
diff
changeset
|
96 allowing(root).getProperty(with(Constants.SERVER_CLONE_PATH_PROP)); will(returnValue(myCloneRepositoryTo.getAbsolutePath())); |
81fa236998d4
TW-25057 custom clone dir should not contains password
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
502
diff
changeset
|
97 }}); |
81fa236998d4
TW-25057 custom clone dir should not contains password
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
502
diff
changeset
|
98 } |
356
53b430731041
TW-19984 ensure map file cleaned as well
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
309
diff
changeset
|
99 return root; |
53b430731041
TW-19984 ensure map file cleaned as well
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
309
diff
changeset
|
100 } |
53b430731041
TW-19984 ensure map file cleaned as well
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
309
diff
changeset
|
101 |
53b430731041
TW-19984 ensure map file cleaned as well
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
309
diff
changeset
|
102 |
53b430731041
TW-19984 ensure map file cleaned as well
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
309
diff
changeset
|
103 public VcsRootBuilder withUrl(@NotNull String repository) { |
275
13f3e7d0c42c
Implement VersionCommand
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff
changeset
|
104 myRepository = repository; |
13f3e7d0c42c
Implement VersionCommand
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff
changeset
|
105 return this; |
13f3e7d0c42c
Implement VersionCommand
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff
changeset
|
106 } |
13f3e7d0c42c
Implement VersionCommand
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff
changeset
|
107 |
775 | 108 @NotNull |
109 public VcsRootBuilder withExtensions(@NotNull String... extensions) { | |
110 myExtensions = StringUtil.join(extensions, "\n"); | |
111 return this; | |
112 } | |
113 | |
275
13f3e7d0c42c
Implement VersionCommand
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff
changeset
|
114 |
704 | 115 public VcsRootBuilder withLocalRepository(@NotNull final File repo) { |
116 return withUrl(repo.getPath()).withCloneRepositoryTo(repo.getParentFile()); | |
117 } | |
118 | |
119 | |
638
7c017b6aa438
Tests for merge support
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
544
diff
changeset
|
120 public VcsRootBuilder withUrl(@NotNull File repository) { |
7c017b6aa438
Tests for merge support
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
544
diff
changeset
|
121 myRepository = repository.getAbsolutePath(); |
7c017b6aa438
Tests for merge support
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
544
diff
changeset
|
122 return this; |
7c017b6aa438
Tests for merge support
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
544
diff
changeset
|
123 } |
7c017b6aa438
Tests for merge support
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
544
diff
changeset
|
124 |
7c017b6aa438
Tests for merge support
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
544
diff
changeset
|
125 |
356
53b430731041
TW-19984 ensure map file cleaned as well
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
309
diff
changeset
|
126 public VcsRootBuilder withUserName(@NotNull String username) { |
275
13f3e7d0c42c
Implement VersionCommand
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff
changeset
|
127 myUsername = username; |
13f3e7d0c42c
Implement VersionCommand
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff
changeset
|
128 return this; |
13f3e7d0c42c
Implement VersionCommand
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff
changeset
|
129 } |
13f3e7d0c42c
Implement VersionCommand
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff
changeset
|
130 |
13f3e7d0c42c
Implement VersionCommand
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff
changeset
|
131 |
356
53b430731041
TW-19984 ensure map file cleaned as well
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
309
diff
changeset
|
132 public VcsRootBuilder withPassword(@NotNull String password) { |
275
13f3e7d0c42c
Implement VersionCommand
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff
changeset
|
133 myPassword = password; |
13f3e7d0c42c
Implement VersionCommand
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff
changeset
|
134 return this; |
13f3e7d0c42c
Implement VersionCommand
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff
changeset
|
135 } |
13f3e7d0c42c
Implement VersionCommand
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff
changeset
|
136 |
13f3e7d0c42c
Implement VersionCommand
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff
changeset
|
137 |
356
53b430731041
TW-19984 ensure map file cleaned as well
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
309
diff
changeset
|
138 public VcsRootBuilder withBranch(@NotNull String branch) { |
276
8c10f5cec37d
TW-17797 Fix merge-base calculation
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
275
diff
changeset
|
139 myBranch = branch; |
8c10f5cec37d
TW-17797 Fix merge-base calculation
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
275
diff
changeset
|
140 return this; |
8c10f5cec37d
TW-17797 Fix merge-base calculation
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
275
diff
changeset
|
141 } |
8c10f5cec37d
TW-17797 Fix merge-base calculation
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
275
diff
changeset
|
142 |
8c10f5cec37d
TW-17797 Fix merge-base calculation
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
275
diff
changeset
|
143 |
356
53b430731041
TW-19984 ensure map file cleaned as well
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
309
diff
changeset
|
144 public VcsRootBuilder withId(long rootId) { |
275
13f3e7d0c42c
Implement VersionCommand
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff
changeset
|
145 myRootId = rootId; |
13f3e7d0c42c
Implement VersionCommand
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff
changeset
|
146 return this; |
13f3e7d0c42c
Implement VersionCommand
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff
changeset
|
147 } |
280
8c1fd2e565ae
Implement mercurial detection on the agents
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
276
diff
changeset
|
148 |
8c1fd2e565ae
Implement mercurial detection on the agents
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
276
diff
changeset
|
149 |
356
53b430731041
TW-19984 ensure map file cleaned as well
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
309
diff
changeset
|
150 public VcsRootBuilder withHgPath(String hgPath) { |
280
8c1fd2e565ae
Implement mercurial detection on the agents
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
276
diff
changeset
|
151 myHgPath = hgPath; |
8c1fd2e565ae
Implement mercurial detection on the agents
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
276
diff
changeset
|
152 return this; |
8c1fd2e565ae
Implement mercurial detection on the agents
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
276
diff
changeset
|
153 } |
371
24d926f22e85
TW-16045 allow specify username for tags
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
356
diff
changeset
|
154 |
24d926f22e85
TW-16045 allow specify username for tags
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
356
diff
changeset
|
155 |
24d926f22e85
TW-16045 allow specify username for tags
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
356
diff
changeset
|
156 public VcsRootBuilder withUserForTag(String username) { |
24d926f22e85
TW-16045 allow specify username for tags
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
356
diff
changeset
|
157 myUserForTag = username; |
24d926f22e85
TW-16045 allow specify username for tags
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
356
diff
changeset
|
158 return this; |
24d926f22e85
TW-16045 allow specify username for tags
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
356
diff
changeset
|
159 } |
531
81fa236998d4
TW-25057 custom clone dir should not contains password
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
502
diff
changeset
|
160 |
81fa236998d4
TW-25057 custom clone dir should not contains password
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
502
diff
changeset
|
161 |
81fa236998d4
TW-25057 custom clone dir should not contains password
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
502
diff
changeset
|
162 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
|
163 myCloneRepositoryTo = cloneTo; |
81fa236998d4
TW-25057 custom clone dir should not contains password
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
502
diff
changeset
|
164 return this; |
81fa236998d4
TW-25057 custom clone dir should not contains password
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
502
diff
changeset
|
165 } |
544
4ff88460fb5d
UI option for subrepo changes
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
536
diff
changeset
|
166 |
4ff88460fb5d
UI option for subrepo changes
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
536
diff
changeset
|
167 |
4ff88460fb5d
UI option for subrepo changes
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
536
diff
changeset
|
168 public VcsRootBuilder withSubrepoChanges(boolean detectSubrepoChanges) { |
4ff88460fb5d
UI option for subrepo changes
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
536
diff
changeset
|
169 myDetectSubrepoChanges = detectSubrepoChanges; |
4ff88460fb5d
UI option for subrepo changes
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
536
diff
changeset
|
170 return this; |
4ff88460fb5d
UI option for subrepo changes
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
536
diff
changeset
|
171 } |
649
0b50d7952a7d
TW-23468 support tags as branches
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
638
diff
changeset
|
172 |
0b50d7952a7d
TW-23468 support tags as branches
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
638
diff
changeset
|
173 |
686
1efd1846f00a
Add an option for using tar archive for building a full patch
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
649
diff
changeset
|
174 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
|
175 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
|
176 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
|
177 } |
1efd1846f00a
Add an option for using tar archive for building a full patch
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
649
diff
changeset
|
178 |
1efd1846f00a
Add an option for using tar archive for building a full patch
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
649
diff
changeset
|
179 |
1efd1846f00a
Add an option for using tar archive for building a full patch
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
649
diff
changeset
|
180 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
|
181 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
|
182 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
|
183 } |
1efd1846f00a
Add an option for using tar archive for building a full patch
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
649
diff
changeset
|
184 |
1efd1846f00a
Add an option for using tar archive for building a full patch
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
649
diff
changeset
|
185 |
649
0b50d7952a7d
TW-23468 support tags as branches
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
638
diff
changeset
|
186 public VcsRootBuilder withTagsEnabled(boolean useTagsAsBranches) { |
0b50d7952a7d
TW-23468 support tags as branches
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
638
diff
changeset
|
187 myTagsAsBranches = useTagsAsBranches; |
0b50d7952a7d
TW-23468 support tags as branches
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
638
diff
changeset
|
188 return this; |
0b50d7952a7d
TW-23468 support tags as branches
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
638
diff
changeset
|
189 } |
834
80ae3dc66685
TW-18605 add support for 'hg purge'
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
775
diff
changeset
|
190 |
80ae3dc66685
TW-18605 add support for 'hg purge'
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
775
diff
changeset
|
191 |
80ae3dc66685
TW-18605 add support for 'hg purge'
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
775
diff
changeset
|
192 public VcsRootBuilder withPurgePolicy(HgVcsRoot.PurgePolicy policy) { |
80ae3dc66685
TW-18605 add support for 'hg purge'
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
775
diff
changeset
|
193 myPurgePolicy = policy; |
80ae3dc66685
TW-18605 add support for 'hg purge'
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
775
diff
changeset
|
194 return this; |
80ae3dc66685
TW-18605 add support for 'hg purge'
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
775
diff
changeset
|
195 } |
275
13f3e7d0c42c
Implement VersionCommand
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff
changeset
|
196 } |