Mercurial > hg > mercurial
annotate mercurial-common/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/command/ChangeSet.java @ 999:1b1cc811e1b6 Jaipur-2018.1.x
Jaipur-2018.1.x branch created
author | pavel.sher |
---|---|
date | Thu, 21 Jun 2018 17:37:32 +0200 |
parents | 7bf4d943d5bb |
children | 10dc26b32c35 |
rev | line source |
---|---|
266
643fa1236f4e
Fix file encoding
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
160
diff
changeset
|
1 /* |
976 | 2 * Copyright 2000-2018 JetBrains s.r.o. |
266
643fa1236f4e
Fix file encoding
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
160
diff
changeset
|
3 * |
643fa1236f4e
Fix file encoding
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
160
diff
changeset
|
4 * Licensed under the Apache License, Version 2.0 (the "License"); |
643fa1236f4e
Fix file encoding
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
160
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:
160
diff
changeset
|
6 * You may obtain a copy of the License at |
643fa1236f4e
Fix file encoding
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
160
diff
changeset
|
7 * |
643fa1236f4e
Fix file encoding
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
160
diff
changeset
|
8 * http://www.apache.org/licenses/LICENSE-2.0 |
643fa1236f4e
Fix file encoding
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
160
diff
changeset
|
9 * |
643fa1236f4e
Fix file encoding
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
160
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:
160
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:
160
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:
160
diff
changeset
|
13 * See the License for the specific language governing permissions and |
643fa1236f4e
Fix file encoding
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
160
diff
changeset
|
14 * limitations under the License. |
643fa1236f4e
Fix file encoding
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
160
diff
changeset
|
15 */ |
643fa1236f4e
Fix file encoding
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
160
diff
changeset
|
16 package jetbrains.buildServer.buildTriggers.vcs.mercurial.command; |
643fa1236f4e
Fix file encoding
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
160
diff
changeset
|
17 |
643fa1236f4e
Fix file encoding
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
160
diff
changeset
|
18 import org.jetbrains.annotations.NotNull; |
654
3daa8e36f8f1
include branch name into log commands
eugene.petrenko@gmail.com
parents:
425
diff
changeset
|
19 import org.jetbrains.annotations.Nullable; |
266
643fa1236f4e
Fix file encoding
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
160
diff
changeset
|
20 |
643fa1236f4e
Fix file encoding
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
160
diff
changeset
|
21 import java.util.ArrayList; |
643fa1236f4e
Fix file encoding
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
160
diff
changeset
|
22 import java.util.Date; |
643fa1236f4e
Fix file encoding
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
160
diff
changeset
|
23 import java.util.List; |
643fa1236f4e
Fix file encoding
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
160
diff
changeset
|
24 |
654
3daa8e36f8f1
include branch name into log commands
eugene.petrenko@gmail.com
parents:
425
diff
changeset
|
25 import static jetbrains.buildServer.buildTriggers.vcs.mercurial.command.HgVcsRoot.DEFAULT_BRANCH_NAME; |
3daa8e36f8f1
include branch name into log commands
eugene.petrenko@gmail.com
parents:
425
diff
changeset
|
26 |
266
643fa1236f4e
Fix file encoding
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
160
diff
changeset
|
27 /** |
643fa1236f4e
Fix file encoding
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
160
diff
changeset
|
28 * Represents Mercurial change set |
643fa1236f4e
Fix file encoding
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
160
diff
changeset
|
29 */ |
643fa1236f4e
Fix file encoding
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
160
diff
changeset
|
30 public class ChangeSet extends ChangeSetRevision { |
643fa1236f4e
Fix file encoding
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
160
diff
changeset
|
31 @NotNull private String myUser; |
643fa1236f4e
Fix file encoding
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
160
diff
changeset
|
32 @NotNull private Date myTimestamp; |
643fa1236f4e
Fix file encoding
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
160
diff
changeset
|
33 private String myDescription; |
654
3daa8e36f8f1
include branch name into log commands
eugene.petrenko@gmail.com
parents:
425
diff
changeset
|
34 private String myBranch = DEFAULT_BRANCH_NAME; |
276
8c10f5cec37d
TW-17797 Fix merge-base calculation
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
271
diff
changeset
|
35 private List<ChangeSetRevision> myParents = new ArrayList<ChangeSetRevision>(); |
425
e33c3e4918f5
Add list files support
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
322
diff
changeset
|
36 private List<FileStatus> myModifiedFiles = new ArrayList<FileStatus>(); |
266
643fa1236f4e
Fix file encoding
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
160
diff
changeset
|
37 |
643fa1236f4e
Fix file encoding
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
160
diff
changeset
|
38 public ChangeSet(final int revNumber, @NotNull final String id) { |
643fa1236f4e
Fix file encoding
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
160
diff
changeset
|
39 super(revNumber, id); |
643fa1236f4e
Fix file encoding
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
160
diff
changeset
|
40 } |
643fa1236f4e
Fix file encoding
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
160
diff
changeset
|
41 |
643fa1236f4e
Fix file encoding
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
160
diff
changeset
|
42 /** |
643fa1236f4e
Fix file encoding
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
160
diff
changeset
|
43 * Constructor for version in the form revnum:changeset_id or just changeset_id (in this case rev number is set to -1) |
643fa1236f4e
Fix file encoding
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
160
diff
changeset
|
44 * @param fullVersion full changeset version as reported by hg log command |
643fa1236f4e
Fix file encoding
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
160
diff
changeset
|
45 */ |
643fa1236f4e
Fix file encoding
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
160
diff
changeset
|
46 public ChangeSet(@NotNull final String fullVersion) { |
643fa1236f4e
Fix file encoding
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
160
diff
changeset
|
47 super(fullVersion); |
643fa1236f4e
Fix file encoding
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
160
diff
changeset
|
48 } |
643fa1236f4e
Fix file encoding
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
160
diff
changeset
|
49 |
643fa1236f4e
Fix file encoding
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
160
diff
changeset
|
50 public void setUser(@NotNull final String user) { |
643fa1236f4e
Fix file encoding
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
160
diff
changeset
|
51 myUser = user; |
643fa1236f4e
Fix file encoding
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
160
diff
changeset
|
52 } |
643fa1236f4e
Fix file encoding
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
160
diff
changeset
|
53 |
643fa1236f4e
Fix file encoding
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
160
diff
changeset
|
54 public void setTimestamp(@NotNull final Date timestamp) { |
643fa1236f4e
Fix file encoding
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
160
diff
changeset
|
55 myTimestamp = timestamp; |
643fa1236f4e
Fix file encoding
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
160
diff
changeset
|
56 } |
643fa1236f4e
Fix file encoding
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
160
diff
changeset
|
57 |
643fa1236f4e
Fix file encoding
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
160
diff
changeset
|
58 public void setDescription(final String description) { |
643fa1236f4e
Fix file encoding
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
160
diff
changeset
|
59 myDescription = description; |
643fa1236f4e
Fix file encoding
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
160
diff
changeset
|
60 } |
643fa1236f4e
Fix file encoding
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
160
diff
changeset
|
61 |
643fa1236f4e
Fix file encoding
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
160
diff
changeset
|
62 public void addParent(@NotNull ChangeSetRevision rev) { |
643fa1236f4e
Fix file encoding
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
160
diff
changeset
|
63 myParents.add(rev); |
643fa1236f4e
Fix file encoding
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
160
diff
changeset
|
64 } |
643fa1236f4e
Fix file encoding
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
160
diff
changeset
|
65 |
643fa1236f4e
Fix file encoding
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
160
diff
changeset
|
66 /** |
643fa1236f4e
Fix file encoding
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
160
diff
changeset
|
67 * Returns user who made changeset |
643fa1236f4e
Fix file encoding
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
160
diff
changeset
|
68 * @return user who made changeset |
643fa1236f4e
Fix file encoding
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
160
diff
changeset
|
69 */ |
643fa1236f4e
Fix file encoding
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
160
diff
changeset
|
70 @NotNull |
643fa1236f4e
Fix file encoding
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
160
diff
changeset
|
71 public String getUser() { |
643fa1236f4e
Fix file encoding
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
160
diff
changeset
|
72 return myUser; |
643fa1236f4e
Fix file encoding
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
160
diff
changeset
|
73 } |
643fa1236f4e
Fix file encoding
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
160
diff
changeset
|
74 |
643fa1236f4e
Fix file encoding
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
160
diff
changeset
|
75 /** |
643fa1236f4e
Fix file encoding
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
160
diff
changeset
|
76 * Returns changeset timestamp |
643fa1236f4e
Fix file encoding
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
160
diff
changeset
|
77 * @return changeset timestamp |
643fa1236f4e
Fix file encoding
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
160
diff
changeset
|
78 */ |
643fa1236f4e
Fix file encoding
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
160
diff
changeset
|
79 @NotNull |
643fa1236f4e
Fix file encoding
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
160
diff
changeset
|
80 public Date getTimestamp() { |
643fa1236f4e
Fix file encoding
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
160
diff
changeset
|
81 return myTimestamp; |
643fa1236f4e
Fix file encoding
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
160
diff
changeset
|
82 } |
643fa1236f4e
Fix file encoding
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
160
diff
changeset
|
83 |
643fa1236f4e
Fix file encoding
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
160
diff
changeset
|
84 /** |
643fa1236f4e
Fix file encoding
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
160
diff
changeset
|
85 * Returns changeset summary specified by user |
643fa1236f4e
Fix file encoding
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
160
diff
changeset
|
86 * @return changeset summary |
643fa1236f4e
Fix file encoding
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
160
diff
changeset
|
87 */ |
643fa1236f4e
Fix file encoding
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
160
diff
changeset
|
88 public String getDescription() { |
643fa1236f4e
Fix file encoding
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
160
diff
changeset
|
89 return myDescription; |
643fa1236f4e
Fix file encoding
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
160
diff
changeset
|
90 } |
643fa1236f4e
Fix file encoding
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
160
diff
changeset
|
91 |
643fa1236f4e
Fix file encoding
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
160
diff
changeset
|
92 /** |
276
8c10f5cec37d
TW-17797 Fix merge-base calculation
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
271
diff
changeset
|
93 * Returns parrents of this change set |
266
643fa1236f4e
Fix file encoding
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
160
diff
changeset
|
94 * @return see above |
643fa1236f4e
Fix file encoding
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
160
diff
changeset
|
95 */ |
276
8c10f5cec37d
TW-17797 Fix merge-base calculation
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
271
diff
changeset
|
96 @NotNull |
266
643fa1236f4e
Fix file encoding
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
160
diff
changeset
|
97 public List<ChangeSetRevision> getParents() { |
643fa1236f4e
Fix file encoding
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
160
diff
changeset
|
98 return myParents; |
643fa1236f4e
Fix file encoding
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
160
diff
changeset
|
99 } |
643fa1236f4e
Fix file encoding
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
160
diff
changeset
|
100 |
643fa1236f4e
Fix file encoding
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
160
diff
changeset
|
101 /** |
643fa1236f4e
Fix file encoding
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
160
diff
changeset
|
102 * Check if changeset is initial changeset (has no parents) |
643fa1236f4e
Fix file encoding
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
160
diff
changeset
|
103 * @return true if changeset is initial changeset |
643fa1236f4e
Fix file encoding
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
160
diff
changeset
|
104 */ |
643fa1236f4e
Fix file encoding
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
160
diff
changeset
|
105 public boolean isInitial() { |
299
e9e7d9fcf57d
Use customized xml output from the 'hg log' command instead of running 'hg status' for every commit
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
276
diff
changeset
|
106 return getParents().isEmpty(); |
e9e7d9fcf57d
Use customized xml output from the 'hg log' command instead of running 'hg status' for every commit
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
276
diff
changeset
|
107 } |
e9e7d9fcf57d
Use customized xml output from the 'hg log' command instead of running 'hg status' for every commit
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
276
diff
changeset
|
108 |
425
e33c3e4918f5
Add list files support
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
322
diff
changeset
|
109 public void setModifiedFiles(@NotNull final List<FileStatus> files) { |
299
e9e7d9fcf57d
Use customized xml output from the 'hg log' command instead of running 'hg status' for every commit
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
276
diff
changeset
|
110 myModifiedFiles = files; |
e9e7d9fcf57d
Use customized xml output from the 'hg log' command instead of running 'hg status' for every commit
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
276
diff
changeset
|
111 } |
e9e7d9fcf57d
Use customized xml output from the 'hg log' command instead of running 'hg status' for every commit
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
276
diff
changeset
|
112 |
e9e7d9fcf57d
Use customized xml output from the 'hg log' command instead of running 'hg status' for every commit
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
276
diff
changeset
|
113 @NotNull |
425
e33c3e4918f5
Add list files support
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
322
diff
changeset
|
114 public List<FileStatus> getModifiedFiles() { |
299
e9e7d9fcf57d
Use customized xml output from the 'hg log' command instead of running 'hg status' for every commit
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
276
diff
changeset
|
115 return myModifiedFiles; |
266
643fa1236f4e
Fix file encoding
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
160
diff
changeset
|
116 } |
654
3daa8e36f8f1
include branch name into log commands
eugene.petrenko@gmail.com
parents:
425
diff
changeset
|
117 |
3daa8e36f8f1
include branch name into log commands
eugene.petrenko@gmail.com
parents:
425
diff
changeset
|
118 @NotNull |
3daa8e36f8f1
include branch name into log commands
eugene.petrenko@gmail.com
parents:
425
diff
changeset
|
119 public String getBranch() { |
3daa8e36f8f1
include branch name into log commands
eugene.petrenko@gmail.com
parents:
425
diff
changeset
|
120 return myBranch; |
3daa8e36f8f1
include branch name into log commands
eugene.petrenko@gmail.com
parents:
425
diff
changeset
|
121 } |
3daa8e36f8f1
include branch name into log commands
eugene.petrenko@gmail.com
parents:
425
diff
changeset
|
122 |
3daa8e36f8f1
include branch name into log commands
eugene.petrenko@gmail.com
parents:
425
diff
changeset
|
123 public void setBranch(@Nullable String branch) { |
3daa8e36f8f1
include branch name into log commands
eugene.petrenko@gmail.com
parents:
425
diff
changeset
|
124 if (branch == null || branch.trim().isEmpty() || DEFAULT_BRANCH_NAME.equals(branch)) branch = DEFAULT_BRANCH_NAME; |
3daa8e36f8f1
include branch name into log commands
eugene.petrenko@gmail.com
parents:
425
diff
changeset
|
125 myBranch = branch; |
3daa8e36f8f1
include branch name into log commands
eugene.petrenko@gmail.com
parents:
425
diff
changeset
|
126 } |
266
643fa1236f4e
Fix file encoding
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
160
diff
changeset
|
127 } |