comparison cmdline/org/tmatesoft/hg/console/Outgoing.java @ 178:62665d8f0686

Complete logic to discover all branches missing locally. Most of wire protocol in HgRemoteRepository
author Artem Tikhomirov <tikhomirov.artem@gmail.com>
date Wed, 06 Apr 2011 01:34:16 +0200
parents a8df7162ec75
children cd3371670f0b
comparison
equal deleted inserted replaced
177:e10225daface 178:62665d8f0686
118 } 118 }
119 // can't check nodes between checkUp2Head element and local heads, remote might have distinct descendants sequence 119 // can't check nodes between checkUp2Head element and local heads, remote might have distinct descendants sequence
120 for (RemoteBranch rb : checkUp2Head) { 120 for (RemoteBranch rb : checkUp2Head) {
121 // rb.root is known locally 121 // rb.root is known locally
122 List<Nodeid> remoteRevisions = hgRemote.between(rb.head, rb.root); 122 List<Nodeid> remoteRevisions = hgRemote.between(rb.head, rb.root);
123 // between gives result from head to root, I'd like to go in reverse direction
124 Collections.reverse(remoteRevisions);
125 if (remoteRevisions.isEmpty()) { 123 if (remoteRevisions.isEmpty()) {
126 // head is immediate child 124 // head is immediate child
127 common.add(rb.root); 125 common.add(rb.root);
128 } else { 126 } else {
127 // between gives result from head to root, I'd like to go in reverse direction
128 Collections.reverse(remoteRevisions);
129 Nodeid root = rb.root; 129 Nodeid root = rb.root;
130 while(!remoteRevisions.isEmpty()) { 130 while(!remoteRevisions.isEmpty()) {
131 Nodeid n = remoteRevisions.remove(0); 131 Nodeid n = remoteRevisions.remove(0);
132 if (pwLocal.knownNode(n)) { 132 if (pwLocal.knownNode(n)) {
133 if (remoteRevisions.isEmpty()) { 133 if (remoteRevisions.isEmpty()) {