annotate mercurial-common/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/command/PushCommand.java @ 976:7bf4d943d5bb

Update copyright
author pavel.sher
date Mon, 22 Jan 2018 11:39:20 +0100
parents 771ae1b2f0b1
children
rev   line source
266
643fa1236f4e Fix file encoding
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 181
diff changeset
1 /*
976
7bf4d943d5bb Update copyright
pavel.sher
parents: 890
diff changeset
2 * Copyright 2000-2018 JetBrains s.r.o.
266
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 jetbrains.buildServer.vcs.VcsException;
643fa1236f4e Fix file encoding
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 181
diff changeset
19 import org.jetbrains.annotations.NotNull;
643fa1236f4e Fix file encoding
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 181
diff changeset
20
643fa1236f4e Fix file encoding
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 181
diff changeset
21 import java.io.File;
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 /**
643fa1236f4e Fix file encoding
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 181
diff changeset
24 * @author pavel
643fa1236f4e Fix file encoding
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 181
diff changeset
25 */
497
ed098534dab4 TW-15304 disable interactive user prompt
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 480
diff changeset
26 public class PushCommand extends AuthCommand {
266
643fa1236f4e Fix file encoding
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 181
diff changeset
27
749
63babe8e01a1 support auto-merge for bookmarks
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 732
diff changeset
28 private String myBookmark;
399
45f25ca68312 Support local mirrors for subrepos
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 367
diff changeset
29 private String myRepositoryUrl;
45f25ca68312 Support local mirrors for subrepos
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 367
diff changeset
30
480
efba721f9a1d TW-23382 agent logs with info, server logs with debug
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 399
diff changeset
31 public PushCommand(@NotNull CommandSettings commandSettings,
efba721f9a1d TW-23382 agent logs with info, server logs with debug
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 399
diff changeset
32 @NotNull String hgPath,
efba721f9a1d TW-23382 agent logs with info, server logs with debug
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 399
diff changeset
33 @NotNull File workingDir,
efba721f9a1d TW-23382 agent logs with info, server logs with debug
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 399
diff changeset
34 @NotNull AuthSettings authSettings) {
efba721f9a1d TW-23382 agent logs with info, server logs with debug
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 399
diff changeset
35 super(commandSettings, hgPath, workingDir, authSettings);
266
643fa1236f4e Fix file encoding
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 181
diff changeset
36 }
643fa1236f4e Fix file encoding
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 181
diff changeset
37
749
63babe8e01a1 support auto-merge for bookmarks
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 732
diff changeset
38 public PushCommand bookmark(@NotNull String bookmark) {
63babe8e01a1 support auto-merge for bookmarks
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 732
diff changeset
39 myBookmark = bookmark;
63babe8e01a1 support auto-merge for bookmarks
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 732
diff changeset
40 return this;
63babe8e01a1 support auto-merge for bookmarks
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 732
diff changeset
41 }
63babe8e01a1 support auto-merge for bookmarks
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 732
diff changeset
42
399
45f25ca68312 Support local mirrors for subrepos
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 367
diff changeset
43 public PushCommand toRepository(@NotNull String repositoryUrl) {
45f25ca68312 Support local mirrors for subrepos
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 367
diff changeset
44 myRepositoryUrl = repositoryUrl;
45f25ca68312 Support local mirrors for subrepos
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 367
diff changeset
45 return this;
266
643fa1236f4e Fix file encoding
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 181
diff changeset
46 }
643fa1236f4e Fix file encoding
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 181
diff changeset
47
399
45f25ca68312 Support local mirrors for subrepos
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 367
diff changeset
48 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
49 MercurialCommandLine cli = createCommandLine();
266
643fa1236f4e Fix file encoding
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 181
diff changeset
50 cli.addParameter("push");
749
63babe8e01a1 support auto-merge for bookmarks
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 732
diff changeset
51 if (myBookmark != null) {
63babe8e01a1 support auto-merge for bookmarks
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 732
diff changeset
52 cli.addParameters("-B", myBookmark);
63babe8e01a1 support auto-merge for bookmarks
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 732
diff changeset
53 }
515
d4c6c9ebbe8a TW-21014 do not use http url with credentials for push
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 497
diff changeset
54 if (myRepositoryUrl.startsWith("http")) {
d4c6c9ebbe8a TW-21014 do not use http url with credentials for push
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 497
diff changeset
55 addHttpAuthParams(cli);
d4c6c9ebbe8a TW-21014 do not use http url with credentials for push
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 497
diff changeset
56 cli.addParameter(myRepositoryUrl);
d4c6c9ebbe8a TW-21014 do not use http url with credentials for push
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 497
diff changeset
57 } else {
d4c6c9ebbe8a TW-21014 do not use http url with credentials for push
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 497
diff changeset
58 cli.addParameter(myAuthSettings.getRepositoryUrlWithCredentials(myRepositoryUrl));
d4c6c9ebbe8a TW-21014 do not use http url with credentials for push
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 497
diff changeset
59 }
858
61a373476058 TW-37277 don't fail id and push commands if stderr is not empty
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 749
diff changeset
60 runCommand(cli, myCommandSettings);
266
643fa1236f4e Fix file encoding
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 181
diff changeset
61 }
890
771ae1b2f0b1 More command descriptions
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 858
diff changeset
62
771ae1b2f0b1 More command descriptions
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 858
diff changeset
63 @NotNull
771ae1b2f0b1 More command descriptions
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 858
diff changeset
64 @Override
771ae1b2f0b1 More command descriptions
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 858
diff changeset
65 protected String getDescription() {
771ae1b2f0b1 More command descriptions
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 858
diff changeset
66 return "hg push " + myAuthSettings.getRepositoryUrlWithHiddenPassword(myRepositoryUrl);
771ae1b2f0b1 More command descriptions
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 858
diff changeset
67 }
266
643fa1236f4e Fix file encoding
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 181
diff changeset
68 }