Mercurial > hg > mercurial
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 | 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 } |