Mercurial > hg4j
comparison src/org/tmatesoft/hg/core/HgIncomingCommand.java @ 698:822f3a83ff57
in, out and clone tests pass for ssh repositories. Infrastructure to decouple HgRemoteRepository from specific Connector implementation
author | Artem Tikhomirov <tikhomirov.artem@gmail.com> |
---|---|
date | Tue, 06 Aug 2013 21:18:33 +0200 |
parents | 6526d8adbc0f |
children |
comparison
equal
deleted
inserted
replaced
697:24f4efedc9d5 | 698:822f3a83ff57 |
---|---|
153 localIndex = localRepo.getChangelog().getRevisionCount(); | 153 localIndex = localRepo.getChangelog().getRevisionCount(); |
154 } | 154 } |
155 | 155 |
156 public void next(int revisionNumber, Nodeid nodeid, RawChangeset cset) throws HgRuntimeException { | 156 public void next(int revisionNumber, Nodeid nodeid, RawChangeset cset) throws HgRuntimeException { |
157 if (parentHelper.knownNode(nodeid)) { | 157 if (parentHelper.knownNode(nodeid)) { |
158 if (!common.contains(nodeid)) { | 158 // FIXME getCommon() and remote.changegroup do not work together nicely. |
159 throw new HgInvalidStateException("Bundle shall not report known nodes other than roots we've supplied"); | 159 // e.g. for hgtest-annotate-merge repository and TestIncoming, common reports r0 and r5 (ancestor of r5) |
160 } | 160 // because there's a distinct branch from r0 (in addition to those after r5). |
161 // remote.changegroup however answers with revisions that are children of either, | |
162 /// so revisions 0..5 are reported as well and the next check fails. Instead, shall pass | |
163 // not common, but 'first to load' to remote.changegroup() or use another method (e.g. getbundle) | |
164 // Note, sending r5 only (i.e. checking for ancestors in common) won't help, changegroup sends children of | |
165 // requested roots only, and doesn't look for anything else | |
166 // if (!common.contains(nodeid)) { | |
167 // throw new HgInvalidStateException("Bundle shall not report known nodes other than roots we've supplied"); | |
168 // } | |
161 return; | 169 return; |
162 } | 170 } |
163 transformer.next(localIndex++, nodeid, cset); | 171 transformer.next(localIndex++, nodeid, cset); |
164 } | 172 } |
165 }); | 173 }); |