From 5b3ed647eb1fb3f40c018d282beb5c901ffd1624 Mon Sep 17 00:00:00 2001 From: "Kyle J. McKay" Date: Tue, 14 May 2013 20:27:09 -0700 Subject: [PATCH] Update project index on project deletion or edit --- Girocco/Project.pm | 12 +++++++++++- gitweb/genindex.sh | 2 +- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/Girocco/Project.pm b/Girocco/Project.pm index 95bbb9d..09786ad 100644 --- a/Girocco/Project.pm +++ b/Girocco/Project.pm @@ -44,6 +44,10 @@ our %propmap = ( notifycia => '%hooks.cianame', ); +sub _update_index { + system($Girocco::Config::basedir . '/gitweb/genindex.sh'); +} + sub _property_path { my $self = shift; my ($name) = @_; @@ -271,6 +275,7 @@ sub ghost { my $self = $class->_new($name, $Girocco::Config::reporoot); $self->{users} = []; $self->{mirror} = $mirror; + $self->{email} = $self->{orig_email} = ''; $self; } @@ -302,6 +307,7 @@ sub load { $self->{ccrypt} = $self->{crypt}; $self->_properties_load; + $self->{orig_email} = $self->{email}; return $self; } close F; @@ -445,7 +451,7 @@ sub _setup { $self->_group_add($pushers); $self->_hooks_install; #$self->perm_initialize; - system($Girocco::Config::basedir . '/gitweb/genindex.sh'); + $self->_update_index; } sub premirror { @@ -497,6 +503,9 @@ sub update { $self->perm_user_add($_, Girocco::User::resolve_uid($_)) foreach (@users_add); $self->perm_user_del($_, Girocco::User::resolve_uid($_)) foreach (@users_del); + $self->_update_index if $self->{email} ne $self->{orig_email}; + $self->{orig_email} = $self->{email}; + 1; } @@ -517,6 +526,7 @@ sub delete { or die "rm -rf $self->{path} failed: $?"; } $self->_group_remove; + $self->_update_index; } sub has_forks { diff --git a/gitweb/genindex.sh b/gitweb/genindex.sh index 05709ca..fea670d 100755 --- a/gitweb/genindex.sh +++ b/gitweb/genindex.sh @@ -9,4 +9,4 @@ set -e get_repo_list | while read proj; do echo "$proj.git $(cd "$cfg_reporoot/$proj.git" && config_get owner)" done >/tmp/gitweb.list.$$ -mv /tmp/gitweb.list.$$ "$cfg_chroot/etc/gitweb.list" +mv -f /tmp/gitweb.list.$$ "$cfg_chroot/etc/gitweb.list" -- 2.11.4.GIT