From f8646105e8c2e109a5def70c6ffa61af382a17e5 Mon Sep 17 00:00:00 2001 From: Petr Baudis Date: Sat, 31 Oct 2009 17:45:46 +0100 Subject: [PATCH] Store last_*, owner, base_url and homepage in git config --- Girocco/Project.pm | 6 +++--- daemons/clone.sh | 6 +++--- daemons/gc.sh | 2 +- daemons/update.sh | 6 +++--- shlib.sh | 10 ++++++++++ 5 files changed, 20 insertions(+), 10 deletions(-) diff --git a/Girocco/Project.pm b/Girocco/Project.pm index 79e0e9c..148e5e6 100644 --- a/Girocco/Project.pm +++ b/Girocco/Project.pm @@ -31,11 +31,11 @@ sub _mkdir_forkees { } our %propmap = ( - url => 'base_url', - email => 'owner', + url => ':base_url', + email => ':owner', desc => 'description', README => 'README.html', - hp => 'homepage', + hp => ':homepage', ); sub _property_path { diff --git a/daemons/clone.sh b/daemons/clone.sh index 271cef3..1a5d590 100755 --- a/daemons/clone.sh +++ b/daemons/clone.sh @@ -11,13 +11,13 @@ proj="${projdir%.git}" cd "$cfg_reporoot/$projdir" trap "echo '@OVER@'; touch .clone_failed" EXIT -url="$(cat base_url)" +url="$(config_get base_url)" if [ "$cfg_project_owners" = "source" ]; then - echo "$(stat -c %U "$url" 2>/dev/null)" >owner + config_set owner "$(stat -c %U "$url" 2>/dev/null)" fi -mail="$(cat owner)" +mail="$(config_get owner)" # Initial mirror echo "Initiating mirroring..." diff --git a/daemons/gc.sh b/daemons/gc.sh index bf92d69..0d33b66 100755 --- a/daemons/gc.sh +++ b/daemons/gc.sh @@ -29,6 +29,6 @@ quiet=; [ -n "$show_progress" ] || quiet=-q git repack -A -d --window-memory=3G -l $quiet git prune git update-server-info -date -R >.last_gc +config_set last_gc "$(date -R)" progress "- `date` garbage check: $proj" diff --git a/daemons/update.sh b/daemons/update.sh index 906634c..f939f1f 100755 --- a/daemons/update.sh +++ b/daemons/update.sh @@ -13,8 +13,8 @@ bang_setup bang_once=1 bang_action="update" -url="$(cat base_url)" -mail="$(cat owner)" +url="$(config_get base_url)" +mail="$(config_get owner)" case "$url" in svn://*) @@ -28,7 +28,7 @@ case "$url" in esac bang git update-server-info -date -R >.last_refresh +bang config_set last_refresh "$(date -R)" if [ -e .banged ]; then echo "$proj update succeeded - failure recovery" | mail -s "[$cfg_name] $proj update succeeded" "$mail,$cfg_admin" diff --git a/shlib.sh b/shlib.sh index 0edf2bf..6323a83 100644 --- a/shlib.sh +++ b/shlib.sh @@ -63,6 +63,16 @@ progress() { } +# Project config accessors +config_get() { + git config "gitweb.$1" +} + +config_set() { + git config "gitweb.$1" "$2" +} + + # List all Git repositories, with given prefix if specified, one-per-line get_repo_list() { if [ -n "$1" ]; then -- 2.11.4.GIT