# HG changeset patch
# User Wagner Bruna <wbr...@softwareexpress.com.br>
# Date 1265393660 7200
# Node ID 4c461c75be7b3372bd20e6044c46ffb32301fc7f
# Parent  10e86fd2a5d8f5f358fbd3d8e8b1b5cc77311c59
history: fix wrong removal of outgoing marks on push

Makes sure that only ancestors of the pushed revision are
removed from the outgoing list.

diff --git a/tortoisehg/hgtk/history.py b/tortoisehg/hgtk/history.py
--- a/tortoisehg/hgtk/history.py
+++ b/tortoisehg/hgtk/history.py
@@ -2461,8 +2461,16 @@
         def callback(return_code, *args):
             if return_code == 0:
                 if self.outgoing:
-                    d = self.outgoing.index(node)
-                    self.outgoing = self.outgoing[d + 1:]
+                    ancestors = set([self.repo[node].rev()])
+                    while ancestors:
+                        n = self.repo[ancestors.pop()]
+                        try:
+                            d = self.outgoing.index(n.node())
+                        except ValueError:
+                            continue
+                        del self.outgoing[d]
+                        for p in n.parents():
+                            ancestors.add(p.rev())
                     self.reload_log()
                 text = _('Finished push to revision %s') % rev
             else:

------------------------------------------------------------------------------
The Planet: dedicated and managed hosting, cloud storage, colocation
Stay online with enterprise data centers and the best network in the business
Choose flexible plans and management services without long-term contracts
Personal 24x7 support from experience hosting pros just a phone call away.
http://p.sf.net/sfu/theplanet-com
_______________________________________________
Tortoisehg-develop mailing list
Tortoisehg-develop@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/tortoisehg-develop

Reply via email to