From 6c052b023837579aab6dcb030ffdcea4a88e37ed Mon Sep 17 00:00:00 2001 Message-Id: <6c052b023837579aab6dcb030ffdcea4a88e37ed.1747094563.git.mdw@distorted.org.uk> From: Mark Wooding Date: Wed, 30 Sep 2009 21:52:35 +0100 Subject: [PATCH] Fast-forward the published head when possible Organization: Straylight/Edgeware From: Catalin Marinas This is to avoid a merge commit when fast-forwarding is possible. Signed-off-by: Catalin Marinas --- stgit/commands/publish.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/stgit/commands/publish.py b/stgit/commands/publish.py index d829916..71b8118 100644 --- a/stgit/commands/publish.py +++ b/stgit/commands/publish.py @@ -109,6 +109,11 @@ def func(parser, options, args): # check for rebased stack. In this case we emulate a merge with the stack # base by setting two parents. merge_bases = repository.get_merge_bases(public_head, stack.base) + if public_head in merge_bases: + # fast-forward the public ref + repository.refs.set(public_ref, stack.head, 'publish') + out.info('Fast-forwarded "%s"' % public_ref) + return if not stack.base in merge_bases: message = 'Merge %s into %s' % (repository.describe(stack.base).strip(), utils.strip_prefix('refs/heads/', -- [mdw]