git-update: Add comments

Add some comments to explain the major steps performed in the update
hook.

Signed-off-by: Lukas Fleischer <lfleischer@archlinux.org>
This commit is contained in:
Lukas Fleischer 2015-08-14 12:52:32 +02:00
parent 80e06e5fc3
commit da875276d4

View file

@ -212,6 +212,7 @@ walker = repo.walk(sha1_new, pygit2.GIT_SORT_TOPOLOGICAL)
if sha1_old != "0000000000000000000000000000000000000000": if sha1_old != "0000000000000000000000000000000000000000":
walker.hide(sha1_old) walker.hide(sha1_old)
# Validate all new commits.
for commit in walker: for commit in walker:
for fname in ('.SRCINFO', 'PKGBUILD'): for fname in ('.SRCINFO', 'PKGBUILD'):
if not fname in commit.tree: if not fname in commit.tree:
@ -278,14 +279,17 @@ for commit in walker:
if not fname in commit.tree: if not fname in commit.tree:
die_commit('missing source file: {:s}'.format(fname), str(commit.id)) die_commit('missing source file: {:s}'.format(fname), str(commit.id))
# Read .SRCINFO from the HEAD commit.
srcinfo_raw = repo[repo[sha1_new].tree['.SRCINFO'].id].data.decode() srcinfo_raw = repo[repo[sha1_new].tree['.SRCINFO'].id].data.decode()
srcinfo_raw = srcinfo_raw.split('\n') srcinfo_raw = srcinfo_raw.split('\n')
srcinfo = aurinfo.ParseAurinfoFromIterable(srcinfo_raw) srcinfo = aurinfo.ParseAurinfoFromIterable(srcinfo_raw)
# Ensure that the package base name matches the repository name.
srcinfo_pkgbase = srcinfo._pkgbase['pkgname'] srcinfo_pkgbase = srcinfo._pkgbase['pkgname']
if srcinfo_pkgbase != pkgbase: if srcinfo_pkgbase != pkgbase:
die('invalid pkgbase: {:s}, expected {:s}'.format(srcinfo_pkgbase, pkgbase)) die('invalid pkgbase: {:s}, expected {:s}'.format(srcinfo_pkgbase, pkgbase))
# Ensure that packages are neither blacklisted nor overwritten.
cur.execute("SELECT ID FROM PackageBases WHERE Name = %s", [pkgbase]) cur.execute("SELECT ID FROM PackageBases WHERE Name = %s", [pkgbase])
pkgbase_id = cur.fetchone()[0] pkgbase_id = cur.fetchone()[0]
@ -304,6 +308,7 @@ for pkgname in srcinfo.GetPackageNames():
if cur.fetchone()[0] > 0: if cur.fetchone()[0] > 0:
die('cannot overwrite package: {:s}'.format(pkgname)) die('cannot overwrite package: {:s}'.format(pkgname))
# Store package base details in the database.
save_srcinfo(srcinfo, db, cur, user) save_srcinfo(srcinfo, db, cur, user)
db.close() db.close()