diff options
author | Sitaram Chamarty <sitaram@atc.tcs.com> | 2017-09-25 15:57:47 +0530 |
---|---|---|
committer | Sitaram Chamarty <sitaram@atc.tcs.com> | 2017-09-25 15:58:55 +0530 |
commit | c3ae5995f7d439dde8e764229865a37f0764e544 (patch) | |
tree | 3be30b5154a8bba5004f4d4d16e17d1a4bb3ce65 /src/triggers/post-compile/update-gitweb-access-list | |
parent | cf423a6a74b398eaa1dd67966ab2e02ff422274a (diff) |
optimise the single-repo POST_CREATE cases a bit...
...I was lazily letting them run over ALL repos. (And I am still lazy
because I did not do one of them yet; see comments in that file).
Diffstat (limited to 'src/triggers/post-compile/update-gitweb-access-list')
-rwxr-xr-x | src/triggers/post-compile/update-gitweb-access-list | 22 |
1 files changed, 17 insertions, 5 deletions
diff --git a/src/triggers/post-compile/update-gitweb-access-list b/src/triggers/post-compile/update-gitweb-access-list index e3dae80..4085d59 100755 --- a/src/triggers/post-compile/update-gitweb-access-list +++ b/src/triggers/post-compile/update-gitweb-access-list @@ -18,11 +18,23 @@ plf=`gitolite query-rc GITWEB_PROJECTS_LIST` tmpfile=`mktemp $plf.tmp_XXXXXXXX` rm -f $tmpfile; -( - gitolite list-phy-repos | gitolite access % gitweb R any | grep -v DENIED - gitolite list-phy-repos | gitolite git-config -r % gitweb\\. -) | - cut -f1 | sort -u | sed -e 's/$/.git/' > $tmpfile +if [ "$1" = "POST_CREATE" ] && [ -n "$2" ] +then + # just one to be done + repo="$2" + grep -v "^$repo.git$" $plf > $tmpfile + if gitolite access -q $repo gitweb R any || gitolite git-config -q -r $repo gitweb\\. + then + echo "$repo.git" >> $tmpfile + fi +else + # all of them + ( + gitolite list-phy-repos | gitolite access % gitweb R any | grep -v DENIED + gitolite list-phy-repos | gitolite git-config -r % gitweb\\. + ) | + cut -f1 | sort -u | sed -e 's/$/.git/' > $tmpfile +fi [ -f $plf ] && perl -e "chmod ( ( (stat('$plf'))[2] & 07777 ), '$tmpfile')" mv $tmpfile $plf |