Pavel Roskin <proski@xxxxxxx> writes: > diff --git a/git-cvsserver.perl b/git-cvsserver.perl > index ecded3b..409b301 100755 > --- a/git-cvsserver.perl > +++ b/git-cvsserver.perl > @@ -2427,9 +2427,6 @@ sub update > # first lets get the commit list > $ENV{GIT_DIR} = $self->{git_path}; > > - my $commitsha1 = `git rev-parse $self->{module}`; > - chomp $commitsha1; > - > my $commitinfo = `git cat-file commit $self->{module} 2>&1`; > unless ( $commitinfo =~ /tree\s+[a-zA-Z0-9]{40}/ ) > { Hmm. The first rev-parse could be squelched with 2>/dev/null and then you can check if it does not match [a-f0-9]{40} and die early before running "cat-file commit", can't you? Also the regexp to check "tree" object name above seems quite wrong ;-) If the purpose of this check is to make sure if the ref points at a commit object, perhaps... my $commitsha1 = `git rev-parse --verify $self->{module}^0 2>&1`; chomp($commitsha1); if ($commitsha1 !~ /^[0-9a-f]{40}$/) { die "no such module $self->{module}"; } Then the other hunk below would become unnecessary, I think. > @@ -2440,8 +2437,13 @@ sub update > my $git_log; > my $lastcommit = $self->_get_prop("last_commit"); > > - if (defined $lastcommit && $lastcommit eq $commitsha1) { # up-to-date > - return 1; > + if (defined $lastcommit) { > + my $commitsha1 = `git rev-parse $self->{module}`; > + chomp $commitsha1; > + > + if ($lastcommit eq $commitsha1) { # up-to-date > + return 1; > + } > } > > # Start exclusive lock here... - To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html