Thread (10 messages) flat view 10 messages, 3 authors, 2016-06-15

Re: [RFC PATCH] Record a single transaction for conflicting push operations

From: Catalin Marinas <hidden>
Date: 2016-06-15 22:47:55

2009/12/19 Karl Wiberg [off-list ref]:
On Fri, Dec 18, 2009 at 4:49 PM, Catalin Marinas
[off-list ref] wrote:
quoted
@@ -371,12 +369,10 @@ class StackTransaction(object):
            # We've just caused conflicts, so we must allow them in
            # the final checkout.
            self.__allow_conflicts = lambda trans: True
-
-            # Save this update so that we can run it a little later.
-            self.__conflicting_push = update
+            self.__patches = _TransPatchMap(self.__stack)
+            update()
            self.__halt("%d merge conflict(s)" % len(self.__conflicts))
        else:
-            # Update immediately.
            update()

    def push_tree(self, pn):
Better. But couldn't you remove the update function completely and
just inline the code in it, since it's called immediately?
Of course, I tried, but couldn't get it to work. I get HEAD and top
not equal unless I call update() between _TransPatchMap and
self.__halt(). For the non-conflicting case we need to call update
before or after this "if merge_conflict".

One solution is to split the "if merge_conflict" in two but maybe you
have a better idea.

Thanks,

-- 
Catalin
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help