diff options
Diffstat (limited to 'git-interface')
-rwxr-xr-x | git-interface/git-serve.py | 17 | ||||
-rwxr-xr-x | git-interface/git-update.py | 10 |
2 files changed, 10 insertions, 17 deletions
diff --git a/git-interface/git-serve.py b/git-interface/git-serve.py index cfd3e340..9812acba 100755 --- a/git-interface/git-serve.py +++ b/git-interface/git-serve.py @@ -3,7 +3,6 @@ import configparser import mysql.connector import os -import pygit2 import re import shlex import sys @@ -78,21 +77,6 @@ def create_pkgbase(pkgbase, user): db.commit() db.close() -def setup_repo(pkgbase): - if not re.match(repo_regex, pkgbase): - die('%s: invalid repository name: %s' % (action, pkgbase)) - - repo = pygit2.Repository(repo_path) - refs = repo.listall_references() - - if not 'refs/heads/' + pkgbase in refs: - repo.create_reference('refs/heads/' + pkgbase, 'refs/namespaces/' + - pkgbase + '/refs/heads/master') - if not 'refs/namespaces/' + pkgbase + '/HEAD' in refs: - repo.create_reference('refs/namespaces/' + pkgbase + '/HEAD', - 'refs/namespaces/' + pkgbase + - '/refs/heads/master') - def check_permissions(pkgbase, user): db = mysql.connector.connect(host=aur_db_host, user=aur_db_user, passwd=aur_db_pass, db=aur_db_name, @@ -139,7 +123,6 @@ if action == 'git-upload-pack' or action == 'git-receive-pack': if not pkgbase_exists(pkgbase): create_pkgbase(pkgbase, user) - setup_repo(pkgbase); if action == 'git-receive-pack': if not check_permissions(pkgbase, user): diff --git a/git-interface/git-update.py b/git-interface/git-update.py index 958fa7a3..7898f39d 100755 --- a/git-interface/git-update.py +++ b/git-interface/git-update.py @@ -285,3 +285,13 @@ for pkgname in srcinfo.GetPackageNames(): save_srcinfo(srcinfo, db, cur, user) db.close() + +# Create (or update) a branch with the name of the package base for better +# accessibility. +repo.create_reference('refs/heads/' + pkgbase, sha1_new, True) + +# Work around a Git bug: The HEAD ref is not updated when using gitnamespaces. +# This can be removed once the bug fix is included in Git mainline. See +# http://git.661346.n2.nabble.com/PATCH-receive-pack-Create-a-HEAD-ref-for-ref-namespace-td7632149.html +# for details. +repo.create_reference('refs/namespaces/' + pkgbase + '/HEAD', sha1_new, True) |