git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] Transaction.push_patch(): Set self.head only when we have a merge conflict
@ 2009-05-19 10:07 Karl Hasselström
  0 siblings, 0 replies; only message in thread
From: Karl Hasselström @ 2009-05-19 10:07 UTC (permalink / raw)
  To: Catalin Marinas; +Cc: David Kågedal, git

Setting self.head when we don't have a merge conflict is a harmless
no-op---as long as we set it to the commit that was going to be the
stack top anyway---so this patch should not change the behavior. But
it's not really nice to do it unconditionally, especially considering
that we want people to be able to understand what the code does ...

Also add a comment that explains why we set it, since the logic is
rather more hairy than I'd like.

Signed-off-by: Karl Hasselström <kha@treskal.com>

---

This patch came out of a discussion I just had with David regarding
his --set-tree patch.

 stgit/lib/transaction.py |    8 +++++++-
 1 files changed, 7 insertions(+), 1 deletions(-)


diff --git a/stgit/lib/transaction.py b/stgit/lib/transaction.py
index 4148ff3..5c662bb 100644
--- a/stgit/lib/transaction.py
+++ b/stgit/lib/transaction.py
@@ -342,7 +342,13 @@ class StackTransaction(object):
         if any(getattr(cd, a) != getattr(orig_cd, a) for a in
                ['parent', 'tree', 'author', 'message']):
             comm = self.__stack.repository.commit(cd)
-            self.head = comm
+            if merge_conflict:
+                # When we produce a conflict, we'll run the update()
+                # function defined below _after_ having done the
+                # checkout in run(). To make sure that we check out
+                # the real stack top (as it will look after update()
+                # has been run), set it hard here.
+                self.head = comm
         else:
             comm = None
             s = ' (unmodified)'

^ permalink raw reply related	[flat|nested] only message in thread

only message in thread, other threads:[~2009-05-19 10:40 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-05-19 10:07 [PATCH] Transaction.push_patch(): Set self.head only when we have a merge conflict Karl Hasselström

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).