Mercurial > hg > mercurial
annotate mercurial-common/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/command/TagCommand.java @ 710:efd1d23a3ae6
disable local test
author | eugene.petrenko@jetbrains.com |
---|---|
date | Wed, 08 Jan 2014 22:47:35 +0100 |
parents | efba721f9a1d |
children | 31a1aca3305c |
rev | line source |
---|---|
266
643fa1236f4e
Fix file encoding
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
181
diff
changeset
|
1 /* |
643fa1236f4e
Fix file encoding
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
181
diff
changeset
|
2 * Copyright 2000-2011 JetBrains s.r.o. |
643fa1236f4e
Fix file encoding
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
181
diff
changeset
|
3 * |
643fa1236f4e
Fix file encoding
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
181
diff
changeset
|
4 * Licensed under the Apache License, Version 2.0 (the "License"); |
643fa1236f4e
Fix file encoding
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
181
diff
changeset
|
5 * you may not use this file except in compliance with the License. |
643fa1236f4e
Fix file encoding
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
181
diff
changeset
|
6 * You may obtain a copy of the License at |
643fa1236f4e
Fix file encoding
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
181
diff
changeset
|
7 * |
643fa1236f4e
Fix file encoding
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
181
diff
changeset
|
8 * http://www.apache.org/licenses/LICENSE-2.0 |
643fa1236f4e
Fix file encoding
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
181
diff
changeset
|
9 * |
643fa1236f4e
Fix file encoding
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
181
diff
changeset
|
10 * Unless required by applicable law or agreed to in writing, software |
643fa1236f4e
Fix file encoding
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
181
diff
changeset
|
11 * distributed under the License is distributed on an "AS IS" BASIS, |
643fa1236f4e
Fix file encoding
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
181
diff
changeset
|
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
643fa1236f4e
Fix file encoding
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
181
diff
changeset
|
13 * See the License for the specific language governing permissions and |
643fa1236f4e
Fix file encoding
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
181
diff
changeset
|
14 * limitations under the License. |
643fa1236f4e
Fix file encoding
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
181
diff
changeset
|
15 */ |
643fa1236f4e
Fix file encoding
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
181
diff
changeset
|
16 package jetbrains.buildServer.buildTriggers.vcs.mercurial.command; |
643fa1236f4e
Fix file encoding
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
181
diff
changeset
|
17 |
643fa1236f4e
Fix file encoding
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
181
diff
changeset
|
18 import com.intellij.execution.configurations.GeneralCommandLine; |
643fa1236f4e
Fix file encoding
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
181
diff
changeset
|
19 import jetbrains.buildServer.vcs.VcsException; |
643fa1236f4e
Fix file encoding
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
181
diff
changeset
|
20 import org.jetbrains.annotations.NotNull; |
399
45f25ca68312
Support local mirrors for subrepos
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
371
diff
changeset
|
21 import org.jetbrains.annotations.Nullable; |
266
643fa1236f4e
Fix file encoding
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
181
diff
changeset
|
22 |
643fa1236f4e
Fix file encoding
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
181
diff
changeset
|
23 import java.io.File; |
643fa1236f4e
Fix file encoding
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
181
diff
changeset
|
24 |
280
8c1fd2e565ae
Implement mercurial detection on the agents
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
266
diff
changeset
|
25 public class TagCommand extends VcsRootCommand { |
266
643fa1236f4e
Fix file encoding
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
181
diff
changeset
|
26 private String myTag; |
643fa1236f4e
Fix file encoding
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
181
diff
changeset
|
27 private String myRevId; |
371
24d926f22e85
TW-16045 allow specify username for tags
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
280
diff
changeset
|
28 private String myUsername; |
266
643fa1236f4e
Fix file encoding
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
181
diff
changeset
|
29 |
480
efba721f9a1d
TW-23382 agent logs with info, server logs with debug
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
399
diff
changeset
|
30 public TagCommand(@NotNull CommandSettings commandSettings, |
efba721f9a1d
TW-23382 agent logs with info, server logs with debug
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
399
diff
changeset
|
31 @NotNull String hgPath, |
efba721f9a1d
TW-23382 agent logs with info, server logs with debug
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
399
diff
changeset
|
32 @NotNull File workingDir, |
efba721f9a1d
TW-23382 agent logs with info, server logs with debug
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
399
diff
changeset
|
33 @NotNull AuthSettings authSettings) { |
efba721f9a1d
TW-23382 agent logs with info, server logs with debug
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
399
diff
changeset
|
34 super(commandSettings, hgPath, workingDir, authSettings); |
266
643fa1236f4e
Fix file encoding
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
181
diff
changeset
|
35 } |
643fa1236f4e
Fix file encoding
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
181
diff
changeset
|
36 |
399
45f25ca68312
Support local mirrors for subrepos
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
371
diff
changeset
|
37 public TagCommand tagName(@NotNull String tagName) { |
45f25ca68312
Support local mirrors for subrepos
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
371
diff
changeset
|
38 myTag = tagName; |
45f25ca68312
Support local mirrors for subrepos
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
371
diff
changeset
|
39 return this; |
266
643fa1236f4e
Fix file encoding
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
181
diff
changeset
|
40 } |
643fa1236f4e
Fix file encoding
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
181
diff
changeset
|
41 |
399
45f25ca68312
Support local mirrors for subrepos
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
371
diff
changeset
|
42 public TagCommand revision(@NotNull String revision) { |
45f25ca68312
Support local mirrors for subrepos
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
371
diff
changeset
|
43 myRevId = new ChangeSet(revision).getId(); |
45f25ca68312
Support local mirrors for subrepos
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
371
diff
changeset
|
44 return this; |
371
24d926f22e85
TW-16045 allow specify username for tags
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
280
diff
changeset
|
45 } |
24d926f22e85
TW-16045 allow specify username for tags
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
280
diff
changeset
|
46 |
399
45f25ca68312
Support local mirrors for subrepos
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
371
diff
changeset
|
47 public TagCommand byUser(@Nullable final String username) { |
45f25ca68312
Support local mirrors for subrepos
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
371
diff
changeset
|
48 myUsername = username; |
45f25ca68312
Support local mirrors for subrepos
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
371
diff
changeset
|
49 return this; |
45f25ca68312
Support local mirrors for subrepos
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
371
diff
changeset
|
50 } |
45f25ca68312
Support local mirrors for subrepos
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
371
diff
changeset
|
51 |
45f25ca68312
Support local mirrors for subrepos
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
371
diff
changeset
|
52 public void call() throws VcsException { |
480
efba721f9a1d
TW-23382 agent logs with info, server logs with debug
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
399
diff
changeset
|
53 MercurialCommandLine cli = createCommandLine(); |
266
643fa1236f4e
Fix file encoding
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
181
diff
changeset
|
54 cli.addParameter("tag"); |
371
24d926f22e85
TW-16045 allow specify username for tags
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
280
diff
changeset
|
55 setUser(cli); |
266
643fa1236f4e
Fix file encoding
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
181
diff
changeset
|
56 cli.addParameter("-r"); |
643fa1236f4e
Fix file encoding
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
181
diff
changeset
|
57 cli.addParameter(myRevId); |
643fa1236f4e
Fix file encoding
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
181
diff
changeset
|
58 cli.addParameter(myTag); |
643fa1236f4e
Fix file encoding
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
181
diff
changeset
|
59 runCommand(cli); |
643fa1236f4e
Fix file encoding
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
181
diff
changeset
|
60 } |
371
24d926f22e85
TW-16045 allow specify username for tags
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
280
diff
changeset
|
61 |
24d926f22e85
TW-16045 allow specify username for tags
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
280
diff
changeset
|
62 private void setUser(GeneralCommandLine cli) { |
24d926f22e85
TW-16045 allow specify username for tags
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
280
diff
changeset
|
63 if (myUsername != null) |
24d926f22e85
TW-16045 allow specify username for tags
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
280
diff
changeset
|
64 cli.addParameters("--user", myUsername); |
24d926f22e85
TW-16045 allow specify username for tags
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
280
diff
changeset
|
65 } |
266
643fa1236f4e
Fix file encoding
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
181
diff
changeset
|
66 } |