Mercurial > jhg
comparison src/org/tmatesoft/hg/internal/RepositoryComparator.java @ 184:ec1820f64d2b
Complete incoming cmdline client, with both lite (revisions) and complete (full changeset) information dump
| author | Artem Tikhomirov <tikhomirov.artem@gmail.com> | 
|---|---|
| date | Wed, 13 Apr 2011 19:09:10 +0200 | 
| parents | cd3371670f0b | 
| children | e5407b5a586a | 
   comparison
  equal
  deleted
  inserted
  replaced
| 183:9807bf8f3a9c | 184:ec1820f64d2b | 
|---|---|
| 179 BranchChain chainElement = head2chain.get(rb.head); | 179 BranchChain chainElement = head2chain.get(rb.head); | 
| 180 if (chainElement == null) { | 180 if (chainElement == null) { | 
| 181 chainElement = new BranchChain(rb.head); | 181 chainElement = new BranchChain(rb.head); | 
| 182 // record this unknown branch to download later | 182 // record this unknown branch to download later | 
| 183 branches2load.add(chainElement); | 183 branches2load.add(chainElement); | 
| 184 // the only chance we'll need chainElement in the head2chain is when we know this branch's root | |
| 185 head2chain.put(rb.head, chainElement); | |
| 184 } | 186 } | 
| 185 if (localRepo.knownNode(rb.root)) { | 187 if (localRepo.knownNode(rb.root)) { | 
| 186 // we known branch start, common head is somewhere in its descendants line | 188 // we known branch start, common head is somewhere in its descendants line | 
| 187 checkUp2Head.add(rb); | 189 checkUp2Head.add(rb); | 
| 188 } else { | 190 } else { | 
| 201 } | 203 } | 
| 202 for (RemoteBranch rb : checkUp2Head) { | 204 for (RemoteBranch rb : checkUp2Head) { | 
| 203 Nodeid h = rb.head; | 205 Nodeid h = rb.head; | 
| 204 Nodeid r = rb.root; | 206 Nodeid r = rb.root; | 
| 205 int watchdog = 1000; | 207 int watchdog = 1000; | 
| 208 assert head2chain.containsKey(h); | |
| 206 BranchChain bc = head2chain.get(h); | 209 BranchChain bc = head2chain.get(h); | 
| 207 assert bc != null; | 210 assert bc != null : h.toString(); | 
| 208 // if we know branch root locally, there could be no parent branch chain elements. | 211 // if we know branch root locally, there could be no parent branch chain elements. | 
| 209 assert bc.p1 == null; | 212 assert bc.p1 == null; | 
| 210 assert bc.p2 == null; | 213 assert bc.p2 == null; | 
| 211 do { | 214 do { | 
| 212 List<Nodeid> between = remoteRepo.between(h, r); | 215 List<Nodeid> between = remoteRepo.between(h, r); | 
