Mercurial > hg4j
comparison src/org/tmatesoft/hg/core/HgIncomingCommand.java @ 194:344e8d7e4d6e
Use common low to hi-level changeset api transformer
| author | Artem Tikhomirov <tikhomirov.artem@gmail.com> |
|---|---|
| date | Fri, 15 Apr 2011 03:35:08 +0200 |
| parents | e5407b5a586a |
| children | c9b305df0b89 |
comparison
equal
deleted
inserted
replaced
| 193:37f3d4a596e4 | 194:344e8d7e4d6e |
|---|---|
| 19 import java.io.IOException; | 19 import java.io.IOException; |
| 20 import java.util.ArrayList; | 20 import java.util.ArrayList; |
| 21 import java.util.LinkedHashSet; | 21 import java.util.LinkedHashSet; |
| 22 import java.util.LinkedList; | 22 import java.util.LinkedList; |
| 23 import java.util.List; | 23 import java.util.List; |
| 24 import java.util.Set; | |
| 25 import java.util.TreeSet; | |
| 24 | 26 |
| 25 import org.tmatesoft.hg.internal.RepositoryComparator; | 27 import org.tmatesoft.hg.internal.RepositoryComparator; |
| 26 import org.tmatesoft.hg.internal.RepositoryComparator.BranchChain; | 28 import org.tmatesoft.hg.internal.RepositoryComparator.BranchChain; |
| 27 import org.tmatesoft.hg.repo.HgBundle; | 29 import org.tmatesoft.hg.repo.HgBundle; |
| 28 import org.tmatesoft.hg.repo.HgChangelog; | 30 import org.tmatesoft.hg.repo.HgChangelog; |
| 43 private HgRemoteRepository remoteRepo; | 45 private HgRemoteRepository remoteRepo; |
| 44 private boolean includeSubrepo; | 46 private boolean includeSubrepo; |
| 45 private RepositoryComparator comparator; | 47 private RepositoryComparator comparator; |
| 46 private List<BranchChain> missingBranches; | 48 private List<BranchChain> missingBranches; |
| 47 private HgChangelog.ParentWalker parentHelper; | 49 private HgChangelog.ParentWalker parentHelper; |
| 50 private Set<String> branches; | |
| 48 | 51 |
| 49 public HgIncomingCommand(HgRepository hgRepo) { | 52 public HgIncomingCommand(HgRepository hgRepo) { |
| 50 localRepo = hgRepo; | 53 localRepo = hgRepo; |
| 51 } | 54 } |
| 52 | 55 |
| 56 missingBranches = null; | 59 missingBranches = null; |
| 57 return this; | 60 return this; |
| 58 } | 61 } |
| 59 | 62 |
| 60 /** | 63 /** |
| 61 * PLACEHOLDER, NOT IMPLEMENTED YET. | 64 * Select specific branch to push. |
| 65 * Multiple branch specification possible (changeset from any of these would be included in result). | |
| 66 * Note, {@link #executeLite(Object)} does not respect this setting. | |
| 62 * | 67 * |
| 63 * Select specific branch to pull | 68 * @param branch - branch name, case-sensitive, non-null. |
| 64 * @return <code>this</code> for convenience | 69 * @return <code>this</code> for convenience |
| 70 * @throws IllegalArgumentException when branch argument is null | |
| 65 */ | 71 */ |
| 66 public HgIncomingCommand branch(String branch) { | 72 public HgIncomingCommand branch(String branch) { |
| 67 throw HgRepository.notImplemented(); | 73 if (branch == null) { |
| 74 throw new IllegalArgumentException(); | |
| 75 } | |
| 76 if (branches == null) { | |
| 77 branches = new TreeSet<String>(); | |
| 78 } | |
| 79 branches.add(branch); | |
| 80 return this; | |
| 68 } | 81 } |
| 69 | 82 |
| 70 /** | 83 /** |
| 71 * PLACEHOLDER, NOT IMPLEMENTED YET. | 84 * PLACEHOLDER, NOT IMPLEMENTED YET. |
| 72 * | 85 * |
| 77 includeSubrepo = include; | 90 includeSubrepo = include; |
| 78 throw HgRepository.notImplemented(); | 91 throw HgRepository.notImplemented(); |
| 79 } | 92 } |
| 80 | 93 |
| 81 /** | 94 /** |
| 82 * Lightweight check for incoming changes, gives only list of revisions to pull. | 95 * Lightweight check for incoming changes, gives only list of revisions to pull. |
| 96 * Reported changes are from any branch (limits set by {@link #branch(String)} are not taken into account. | |
| 83 * | 97 * |
| 84 * @param context anything hg4j can use to get progress and/or cancel support | 98 * @param context anything hg4j can use to get progress and/or cancel support |
| 85 * @return list of nodes present at remote and missing locally | 99 * @return list of nodes present at remote and missing locally |
| 86 * @throws HgException | 100 * @throws HgException |
| 87 * @throws CancelledException | 101 * @throws CancelledException |
| 118 private final ChangesetTransformer transformer; | 132 private final ChangesetTransformer transformer; |
| 119 private final HgChangelog changelog; | 133 private final HgChangelog changelog; |
| 120 | 134 |
| 121 { | 135 { |
| 122 transformer = new ChangesetTransformer(localRepo, handler); | 136 transformer = new ChangesetTransformer(localRepo, handler); |
| 137 transformer.limitBranches(branches); | |
| 123 parentHelper = getParentHelper(); | 138 parentHelper = getParentHelper(); |
| 124 changelog = localRepo.getChangelog(); | 139 changelog = localRepo.getChangelog(); |
| 125 } | 140 } |
| 126 | 141 |
| 127 public void next(int revisionNumber, Nodeid nodeid, RawChangeset cset) { | 142 public void next(int revisionNumber, Nodeid nodeid, RawChangeset cset) { |
