[PATCH 3 of 5] Fixing newertarget to report changesets in a better
order
Eric Hopper
hopper at omnifarious.org
Fri Sep 30 12:10:56 CDT 2005
# HG changeset patch
# User Eric Hopper <hopper at omnifarious.org>
# Node ID d41c5138f6bdb8ebaf7a2caa5eb1c2ffb455d1ba
# Parent e91ea9bb945d76c0f58fcc030d501e650904fddb
Fixing newertarget to report changesets in a better order.
diff -r e91ea9bb945d -r d41c5138f6bd mercurial/localrepo.py
--- a/mercurial/localrepo.py Fri Sep 30 15:36:18 2005
+++ b/mercurial/localrepo.py Fri Sep 30 16:44:37 2005
@@ -759,16 +759,25 @@
self.ui.debug("No outgoing nodes needed.\n")
return []
+ orderedselected = []
for i in xrange(lowestrev, targetrev):
n = cl.node(i)
if n not in prunedset:
continue
if n not in selected: # not listed yet
+ wasselected = False
for p in cl.parents(n):
if p in selected: # parent listed
selected[n] = 1
- self.ui.debug('Sending %u changesets.\n' % (len(selected),))
- return selected.keys()
+ wasselected = True
+ if wasselected:
+ orderedselected.append(n)
+ else:
+ orderedselected.append(n)
+ orderedselected.append(targetnode)
+ assert len(selected) == len(orderedselected)
+ self.ui.debug('Sending %u changesets.\n' % (len(orderedselected),))
+ return orderedselected
def findincoming(self, remote, base=None, heads=None):
m = self.changelog.nodemap
More information about the Mercurial
mailing list