git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH] Calculate $commitsha1 in update() only when needed

From
PRPavel Roskin <proski@gnu.org>
Date
Dec 8, 2007, 05:07 UTC
Message-ID
<20071208050745.29462.74137.stgit@dv.roinet.com>

This suppresses unhelpful error messages from git rev-parse during checkout if the module doesn't exist.

Signed-off-by: Pavel Roskin <proski@gnu.org>
---
 git-cvsserver.perl |   12 +++++++-----
 1 files changed, 7 insertions(+), 5 deletions(-)
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}/ )
     {
@@ -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...
Next: Junio C Hamano
Message 1 of 3 in “Calculate $commitsha1 in update() only when needed”
  1. Calculate $commitsha1 in update() only when neededPavel Roskin, Dec 8, 2007
  2. Junio C HamanoDec 8, 2007
  3. Pavel RoskinDec 8, 2007

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.