Mercurial > hg > mercurial
annotate mercurial-common/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/command/CatCommand.java @ 600:6c480513e5c2
Optimize subrepo changes calculation: reuse subrepo revision table calculated for parent commit
author | Dmitry Neverov <dmitry.neverov@jetbrains.com> |
---|---|
date | Thu, 30 May 2013 15:09:10 +0400 |
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 |
417
74487e2c6356
Use shorter temp directory names
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
399
diff
changeset
|
18 import jetbrains.buildServer.buildTriggers.vcs.mercurial.HgFileUtil; |
478
0a33f3dbd261
Ensure temp dirs are deleted
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
476
diff
changeset
|
19 import jetbrains.buildServer.log.Loggers; |
266
643fa1236f4e
Fix file encoding
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
181
diff
changeset
|
20 import jetbrains.buildServer.vcs.VcsException; |
643fa1236f4e
Fix file encoding
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
181
diff
changeset
|
21 import org.jetbrains.annotations.NotNull; |
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 import java.io.IOException; |
399
45f25ca68312
Support local mirrors for subrepos
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
367
diff
changeset
|
25 import java.util.ArrayList; |
266
643fa1236f4e
Fix file encoding
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
181
diff
changeset
|
26 import java.util.LinkedList; |
643fa1236f4e
Fix file encoding
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
181
diff
changeset
|
27 import java.util.List; |
643fa1236f4e
Fix file encoding
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
181
diff
changeset
|
28 import java.util.Queue; |
643fa1236f4e
Fix file encoding
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
181
diff
changeset
|
29 |
399
45f25ca68312
Support local mirrors for subrepos
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
367
diff
changeset
|
30 import static java.util.Collections.singletonList; |
478
0a33f3dbd261
Ensure temp dirs are deleted
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
476
diff
changeset
|
31 import static jetbrains.buildServer.buildTriggers.vcs.mercurial.HgFileUtil.deleteDir; |
352
1b3be513520e
TW-13178 clean tmp dir when cat command fails
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
339
diff
changeset
|
32 |
280
8c1fd2e565ae
Implement mercurial detection on the agents
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
266
diff
changeset
|
33 public class CatCommand extends VcsRootCommand { |
266
643fa1236f4e
Fix file encoding
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
181
diff
changeset
|
34 private String myRevId; |
643fa1236f4e
Fix file encoding
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
181
diff
changeset
|
35 private final static int MAX_CMD_LEN = 900; |
399
45f25ca68312
Support local mirrors for subrepos
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
367
diff
changeset
|
36 private List<String> myRelativePaths = new ArrayList<String>(); |
45f25ca68312
Support local mirrors for subrepos
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
367
diff
changeset
|
37 private boolean myCheckForFailure = true; |
266
643fa1236f4e
Fix file encoding
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
181
diff
changeset
|
38 |
480
efba721f9a1d
TW-23382 agent logs with info, server logs with debug
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
478
diff
changeset
|
39 public CatCommand(@NotNull CommandSettings commandSettings, |
efba721f9a1d
TW-23382 agent logs with info, server logs with debug
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
478
diff
changeset
|
40 @NotNull String hgPath, |
efba721f9a1d
TW-23382 agent logs with info, server logs with debug
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
478
diff
changeset
|
41 @NotNull File workingDir, |
efba721f9a1d
TW-23382 agent logs with info, server logs with debug
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
478
diff
changeset
|
42 @NotNull AuthSettings authSettings) { |
efba721f9a1d
TW-23382 agent logs with info, server logs with debug
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
478
diff
changeset
|
43 super(commandSettings, hgPath, workingDir, authSettings); |
266
643fa1236f4e
Fix file encoding
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
181
diff
changeset
|
44 } |
643fa1236f4e
Fix file encoding
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
181
diff
changeset
|
45 |
399
45f25ca68312
Support local mirrors for subrepos
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
367
diff
changeset
|
46 public CatCommand files(@NotNull String relativePath) { |
45f25ca68312
Support local mirrors for subrepos
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
367
diff
changeset
|
47 myRelativePaths = singletonList(relativePath); |
45f25ca68312
Support local mirrors for subrepos
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
367
diff
changeset
|
48 return this; |
45f25ca68312
Support local mirrors for subrepos
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
367
diff
changeset
|
49 } |
45f25ca68312
Support local mirrors for subrepos
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
367
diff
changeset
|
50 |
45f25ca68312
Support local mirrors for subrepos
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
367
diff
changeset
|
51 public CatCommand files(@NotNull List<String> relativePaths) { |
45f25ca68312
Support local mirrors for subrepos
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
367
diff
changeset
|
52 myRelativePaths = relativePaths; |
45f25ca68312
Support local mirrors for subrepos
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
367
diff
changeset
|
53 return this; |
45f25ca68312
Support local mirrors for subrepos
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
367
diff
changeset
|
54 } |
45f25ca68312
Support local mirrors for subrepos
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
367
diff
changeset
|
55 |
45f25ca68312
Support local mirrors for subrepos
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
367
diff
changeset
|
56 public CatCommand setRevId(final String revId) { |
266
643fa1236f4e
Fix file encoding
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
181
diff
changeset
|
57 myRevId = revId; |
399
45f25ca68312
Support local mirrors for subrepos
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
367
diff
changeset
|
58 return this; |
45f25ca68312
Support local mirrors for subrepos
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
367
diff
changeset
|
59 } |
45f25ca68312
Support local mirrors for subrepos
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
367
diff
changeset
|
60 |
45f25ca68312
Support local mirrors for subrepos
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
367
diff
changeset
|
61 public CatCommand atRevision(@NotNull ChangeSet cset) { |
45f25ca68312
Support local mirrors for subrepos
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
367
diff
changeset
|
62 myRevId = cset.getId(); |
45f25ca68312
Support local mirrors for subrepos
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
367
diff
changeset
|
63 return this; |
45f25ca68312
Support local mirrors for subrepos
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
367
diff
changeset
|
64 } |
45f25ca68312
Support local mirrors for subrepos
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
367
diff
changeset
|
65 |
45f25ca68312
Support local mirrors for subrepos
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
367
diff
changeset
|
66 public CatCommand checkForFailure(boolean doCheckForFailure) { |
45f25ca68312
Support local mirrors for subrepos
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
367
diff
changeset
|
67 myCheckForFailure = doCheckForFailure; |
45f25ca68312
Support local mirrors for subrepos
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
367
diff
changeset
|
68 return this; |
45f25ca68312
Support local mirrors for subrepos
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
367
diff
changeset
|
69 } |
45f25ca68312
Support local mirrors for subrepos
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
367
diff
changeset
|
70 |
45f25ca68312
Support local mirrors for subrepos
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
367
diff
changeset
|
71 public File call() throws VcsException { |
45f25ca68312
Support local mirrors for subrepos
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
367
diff
changeset
|
72 return execute(myRelativePaths, myCheckForFailure); |
266
643fa1236f4e
Fix file encoding
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
181
diff
changeset
|
73 } |
643fa1236f4e
Fix file encoding
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
181
diff
changeset
|
74 |
643fa1236f4e
Fix file encoding
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
181
diff
changeset
|
75 public File execute(List<String> relPaths) throws VcsException { |
304
e9cdb499350d
Do clean checkout if subrepository URL changed
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
280
diff
changeset
|
76 return execute(relPaths, true); |
e9cdb499350d
Do clean checkout if subrepository URL changed
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
280
diff
changeset
|
77 } |
e9cdb499350d
Do clean checkout if subrepository URL changed
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
280
diff
changeset
|
78 |
e9cdb499350d
Do clean checkout if subrepository URL changed
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
280
diff
changeset
|
79 public File execute(List<String> relPaths, boolean checkFailure) throws VcsException { |
352
1b3be513520e
TW-13178 clean tmp dir when cat command fails
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
339
diff
changeset
|
80 File tempDir = null; |
266
643fa1236f4e
Fix file encoding
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
181
diff
changeset
|
81 try { |
352
1b3be513520e
TW-13178 clean tmp dir when cat command fails
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
339
diff
changeset
|
82 tempDir = createTmpDir(); |
1b3be513520e
TW-13178 clean tmp dir when cat command fails
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
339
diff
changeset
|
83 createDirectories(relPaths, tempDir); |
1b3be513520e
TW-13178 clean tmp dir when cat command fails
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
339
diff
changeset
|
84 catFiles(relPaths, checkFailure, tempDir); |
1b3be513520e
TW-13178 clean tmp dir when cat command fails
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
339
diff
changeset
|
85 return tempDir; |
1b3be513520e
TW-13178 clean tmp dir when cat command fails
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
339
diff
changeset
|
86 } catch (VcsException e) { |
478
0a33f3dbd261
Ensure temp dirs are deleted
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
476
diff
changeset
|
87 deleteDir(tempDir, Loggers.VCS); |
352
1b3be513520e
TW-13178 clean tmp dir when cat command fails
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
339
diff
changeset
|
88 throw e; |
1b3be513520e
TW-13178 clean tmp dir when cat command fails
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
339
diff
changeset
|
89 } |
1b3be513520e
TW-13178 clean tmp dir when cat command fails
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
339
diff
changeset
|
90 } |
1b3be513520e
TW-13178 clean tmp dir when cat command fails
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
339
diff
changeset
|
91 |
1b3be513520e
TW-13178 clean tmp dir when cat command fails
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
339
diff
changeset
|
92 private File createTmpDir() throws VcsException { |
1b3be513520e
TW-13178 clean tmp dir when cat command fails
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
339
diff
changeset
|
93 try { |
417
74487e2c6356
Use shorter temp directory names
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
399
diff
changeset
|
94 return HgFileUtil.createTempDir(); |
266
643fa1236f4e
Fix file encoding
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
181
diff
changeset
|
95 } catch (IOException e) { |
476
aa19481a91c3
Include cause of the error
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
417
diff
changeset
|
96 throw new VcsException("Unable to create temporary directory", e); |
266
643fa1236f4e
Fix file encoding
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
181
diff
changeset
|
97 } |
352
1b3be513520e
TW-13178 clean tmp dir when cat command fails
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
339
diff
changeset
|
98 } |
1b3be513520e
TW-13178 clean tmp dir when cat command fails
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
339
diff
changeset
|
99 |
1b3be513520e
TW-13178 clean tmp dir when cat command fails
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
339
diff
changeset
|
100 private void createDirectories(List<String> relPaths, File tempDir) throws VcsException { |
266
643fa1236f4e
Fix file encoding
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
181
diff
changeset
|
101 for (String path: relPaths) { |
352
1b3be513520e
TW-13178 clean tmp dir when cat command fails
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
339
diff
changeset
|
102 File parentFile = new File(tempDir, path).getParentFile(); |
1b3be513520e
TW-13178 clean tmp dir when cat command fails
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
339
diff
changeset
|
103 if (!parentFile.isDirectory() && !parentFile.mkdirs()) |
266
643fa1236f4e
Fix file encoding
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
181
diff
changeset
|
104 throw new VcsException("Failed to create directory: " + parentFile.getAbsolutePath()); |
643fa1236f4e
Fix file encoding
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
181
diff
changeset
|
105 } |
352
1b3be513520e
TW-13178 clean tmp dir when cat command fails
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
339
diff
changeset
|
106 } |
266
643fa1236f4e
Fix file encoding
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
181
diff
changeset
|
107 |
352
1b3be513520e
TW-13178 clean tmp dir when cat command fails
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
339
diff
changeset
|
108 private void catFiles(List<String> relPaths, boolean checkFailure, File tempDir) throws VcsException { |
266
643fa1236f4e
Fix file encoding
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
181
diff
changeset
|
109 Queue<String> paths = new LinkedList<String>(relPaths); |
643fa1236f4e
Fix file encoding
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
181
diff
changeset
|
110 while (!paths.isEmpty()) { |
480
efba721f9a1d
TW-23382 agent logs with info, server logs with debug
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
478
diff
changeset
|
111 MercurialCommandLine cli = createCommandLine(tempDir); |
266
643fa1236f4e
Fix file encoding
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
181
diff
changeset
|
112 int cmdSize = cli.getCommandLineString().length(); |
643fa1236f4e
Fix file encoding
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
181
diff
changeset
|
113 |
643fa1236f4e
Fix file encoding
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
181
diff
changeset
|
114 do { |
643fa1236f4e
Fix file encoding
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
181
diff
changeset
|
115 String path = paths.poll(); |
643fa1236f4e
Fix file encoding
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
181
diff
changeset
|
116 cli.addParameter(path); |
643fa1236f4e
Fix file encoding
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
181
diff
changeset
|
117 cmdSize += path.length(); |
643fa1236f4e
Fix file encoding
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
181
diff
changeset
|
118 } while (cmdSize < MAX_CMD_LEN && !paths.isEmpty()); |
643fa1236f4e
Fix file encoding
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
181
diff
changeset
|
119 |
480
efba721f9a1d
TW-23382 agent logs with info, server logs with debug
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
478
diff
changeset
|
120 runCommand(cli, myCommandSettings.setCheckForFailure(checkFailure)); |
266
643fa1236f4e
Fix file encoding
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
181
diff
changeset
|
121 } |
643fa1236f4e
Fix file encoding
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
181
diff
changeset
|
122 } |
643fa1236f4e
Fix file encoding
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
181
diff
changeset
|
123 |
480
efba721f9a1d
TW-23382 agent logs with info, server logs with debug
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
478
diff
changeset
|
124 private MercurialCommandLine createCommandLine(final File tempDir) { |
efba721f9a1d
TW-23382 agent logs with info, server logs with debug
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
478
diff
changeset
|
125 MercurialCommandLine cli = createCommandLine(); |
266
643fa1236f4e
Fix file encoding
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
181
diff
changeset
|
126 cli.addParameter("cat"); |
643fa1236f4e
Fix file encoding
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
181
diff
changeset
|
127 cli.addParameter("-o"); |
643fa1236f4e
Fix file encoding
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
181
diff
changeset
|
128 cli.addParameter(tempDir.getAbsolutePath() + File.separator + "%p"); |
643fa1236f4e
Fix file encoding
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
181
diff
changeset
|
129 if (myRevId != null) { |
643fa1236f4e
Fix file encoding
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
181
diff
changeset
|
130 cli.addParameter("-r"); |
643fa1236f4e
Fix file encoding
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
181
diff
changeset
|
131 cli.addParameter(myRevId); |
643fa1236f4e
Fix file encoding
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
181
diff
changeset
|
132 } |
643fa1236f4e
Fix file encoding
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
181
diff
changeset
|
133 return cli; |
643fa1236f4e
Fix file encoding
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
181
diff
changeset
|
134 } |
643fa1236f4e
Fix file encoding
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
181
diff
changeset
|
135 } |