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 }