aboutsummaryrefslogtreecommitdiffhomepage
path: root/examples
diff options
context:
space:
mode:
authorGuido Günther <agx@sigxcpu.org>2012-01-13 22:45:03 +0100
committerGuido Günther <agx@sigxcpu.org>2012-01-13 22:46:13 +0100
commiteb618608ceb061b4a06e6eceb6c589a7b6340822 (patch)
tree2cc66614751cca1f4011105f0af9db8864624b1f /examples
parentbe118deec89340480dc41d5ee74c9b99a394c16e (diff)
gbp-posttag-push: check if upstream is up to date per remote
This isn't perfect since someone else might have already pushed that ref and we might not have pulled it yet.
Diffstat (limited to 'examples')
-rwxr-xr-xexamples/gbp-posttag-push7
1 files changed, 3 insertions, 4 deletions
diff --git a/examples/gbp-posttag-push b/examples/gbp-posttag-push
index 12039835..5b5b5bfa 100755
--- a/examples/gbp-posttag-push
+++ b/examples/gbp-posttag-push
@@ -124,9 +124,7 @@ def main(argv):
upstream_tag = get_upstream_tag(repo, env.tag, options.upstream_tag)
if upstream_tag:
- sha1 = repo.rev_parse("%s^{}" % upstream_tag)
- if not repo.branch_contains(options.upstream_branch, sha1, remote=True):
- upstream_sha1 = sha1
+ upstream_sha1 = repo.rev_parse("%s^{}" % upstream_tag)
if not repo.verify_tag(env.tag):
print >>sys.stderr, "Not pushing unsigned tag $GBP_TAG."
@@ -138,7 +136,8 @@ def main(argv):
repo.push(dest, env.sha1, dests[dest])
if options.push_upstream and upstream_tag:
repo.push_tag(dest, upstream_tag)
- if upstream_sha1:
+ if not repo.branch_contains("%s/%s" % (dest, options.upstream_branch),
+ upstream_sha1, remote=True):
repo.push(dest, upstream_sha1, options.upstream_branch)
print "done."