aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xlocal/git.gentoo.org/pre-receive.gentoo-news12
1 files changed, 12 insertions, 0 deletions
diff --git a/local/git.gentoo.org/pre-receive.gentoo-news b/local/git.gentoo.org/pre-receive.gentoo-news
index 2285310..3690d31 100755
--- a/local/git.gentoo.org/pre-receive.gentoo-news
+++ b/local/git.gentoo.org/pre-receive.gentoo-news
@@ -50,6 +50,18 @@ def validate(oldrev, newrev, refname):
if newrev == ZEROS:
return 0
+ # New branch or tag, find where it forked from master
+ if oldrev == ZEROS:
+ proc = subprocess.Popen( \
+ ['git', 'merge-base', \
+ 'refs/heads/master', newrev],
+ stdout=subprocess.PIPE)
+ merge_base = proc.communicate()[0].rstrip()
+ if isinstance(merge_base, bytes):
+ merge_base = merge_base.decode()
+ if len(merge_base) > 0:
+ oldrev = merge_base
+
proc = subprocess.Popen( \
['git', 'diff', \
'--name-only', '--diff-filter=A', \