threads / discuss / 13708

Problem fetching the git homepage

Subject: Problem fetching the git homepage

## tl;dr

4 messages between May 28, 2008 and May 28, 2008.

replies: 3people: 2as markdown or json

Gustaf Hendeby· May 28, 2008, 15:45 UTC · lore
I'm trying to fetch the repo of the git homepage but get this error:
$ git version
git version 1.5.6.rc0.140.ga9675
$ git fetch origin
Getting alternates list for http://repo.or.cz/r/git-homepage.git
Getting pack list for http://repo.or.cz/r/git-homepage.git
Getting index for pack d4404a860edd30b154e8cd5b8c66ec35cf682dae
Getting pack d4404a860edd30b154e8cd5b8c66ec35cf682dae
  which contains 50819d376acb03429ab2628ef3d07893c7f0e22c
error: packfile 
.git/objects/pack/pack-d4404a860edd30b154e8cd5b8c66ec35cf682dae.pack 
size changed
fatal: packfile 
.git/objects/pack/pack-d4404a860edd30b154e8cd5b8c66ec35cf682dae.pack 
cannot be accessed

The last commit I have is "Automated update: [2008-04-20] v1.5.5 -> v1.5.5.1" (2b7e2d6a).

Is this due to something I've done? (Not even sure from the error message if it is a local error, or a remote error.) Or a sign of something more serious?

/Gustaf
Junio C Hamano· May 28, 2008, 16:39 UTC · re: Gustaf Hendeby · lore

Re: Problem fetching the git homepage

Gustaf Hendeby <hendeby@isy.liu.se> writes:
Show 23 quoted lines
> I'm trying to fetch the repo of the git homepage but get this error:
>
> $ git version
> git version 1.5.6.rc0.140.ga9675
> $ git fetch origin
> Getting alternates list for http://repo.or.cz/r/git-homepage.git
> Getting pack list for http://repo.or.cz/r/git-homepage.git
> Getting index for pack d4404a860edd30b154e8cd5b8c66ec35cf682dae
> Getting pack d4404a860edd30b154e8cd5b8c66ec35cf682dae
>  which contains 50819d376acb03429ab2628ef3d07893c7f0e22c
> error: packfile
> .git/objects/pack/pack-d4404a860edd30b154e8cd5b8c66ec35cf682dae.pack
> size changed
> fatal: packfile
> .git/objects/pack/pack-d4404a860edd30b154e8cd5b8c66ec35cf682dae.pack
> cannot be accessed
>
> The last commit I have is "Automated update: [2008-04-20] v1.5.5 ->
> v1.5.5.1" (2b7e2d6a).
>
> Is this due to something I've done?  (Not even sure from the error
> message if it is a local error, or a remote error.) Or a sign of
> something more serious?

Thanks for reporting. This is a breakage in 633f43e (Remove redundant code, eliminate one static variable, 2008-05-24).

Junio C Hamano· May 28, 2008, 16:47 UTC · re: Junio C Hamano · lore

[PATCH] fix sha1_pack_index_name()

An earlier commit 633f43e (Remove redundant code, eliminate one static variable, 2008-05-24) had a thinko (perhaps an eyeno) that broke sha1_pack_index_name() function. One symptom of this was that the http walker is now completely broken.

This should fix it.
Signed-off-by: Junio C Hamano <gitster@pobox.com>
---
 sha1_file.c |    9 +++++----
 1 files changed, 5 insertions(+), 4 deletions(-)
diff --git a/sha1_file.c b/sha1_file.c
index 9679040..adcf37c 100644
--- a/sha1_file.c
+++ b/sha1_file.c
@@ -177,7 +177,7 @@ char *sha1_file_name(const unsigned char *sha1)
 }
 
 static char *sha1_get_pack_name(const unsigned char *sha1,
-				char **name, char **base)
+				char **name, char **base, const char *which)
 {
 	static const char hex[] = "0123456789abcdef";
 	char *buf;
@@ -187,7 +187,8 @@ static char *sha1_get_pack_name(const unsigned char *sha1,
 		const char *sha1_file_directory = get_object_directory();
 		int len = strlen(sha1_file_directory);
 		*base = xmalloc(len + 60);
-		sprintf(*base, "%s/pack/pack-1234567890123456789012345678901234567890.pack", sha1_file_directory);
+		sprintf(*base, "%s/pack/pack-1234567890123456789012345678901234567890.%s",
+			sha1_file_directory, which);
 		*name = *base + len + 11;
 	}
 
@@ -206,14 +207,14 @@ char *sha1_pack_name(const unsigned char *sha1)
 {
 	static char *name, *base;
 
-	return sha1_get_pack_name(sha1, &name, &base);
+	return sha1_get_pack_name(sha1, &name, &base, "pack");
 }
 
 char *sha1_pack_index_name(const unsigned char *sha1)
 {
 	static char *name, *base;
 
-	return sha1_get_pack_name(sha1, &name, &base);
+	return sha1_get_pack_name(sha1, &name, &base, "idx");
 }
 
 struct alternate_object_database *alt_odb_list;
Gustaf Hendeby· May 28, 2008, 16:59 UTC · re: Junio C Hamano · lore

Re: [PATCH] fix sha1_pack_index_name()

On 05/28/2008 06:47 PM, Junio C Hamano wrote:
Show 8 quoted lines
> An earlier commit 633f43e (Remove redundant code, eliminate one static
> variable, 2008-05-24) had a thinko (perhaps an eyeno) that broke
> sha1_pack_index_name() function.  One symptom of this was that the http
> walker is now completely broken.
> 
> This should fix it.
> 
> Signed-off-by: Junio C Hamano <gitster@pobox.com>

This did - applied on top of next - not fix my problem but changed the error message somewhat:

$ git version git version 1.5.6.rc0.141.g55e0e $ git fetch origin Getting alternates list for http://repo.or.cz/r/git-homepage.git Getting pack list for http://repo.or.cz/r/git-homepage.git error: Unable to find 50819d376acb03429ab2628ef3d07893c7f0e22c under http://repo.or.cz/r/git-homepage.git Cannot obtain needed object 50819d376acb03429ab2628ef3d07893c7f0e22c fatal: Fetch failed.

/Gustaf
Show 44 quoted lines
> ---
>  sha1_file.c |    9 +++++----
>  1 files changed, 5 insertions(+), 4 deletions(-)
> 
> diff --git a/sha1_file.c b/sha1_file.c
> index 9679040..adcf37c 100644
> --- a/sha1_file.c
> +++ b/sha1_file.c
> @@ -177,7 +177,7 @@ char *sha1_file_name(const unsigned char *sha1)
>  }
>  
>  static char *sha1_get_pack_name(const unsigned char *sha1,
> -				char **name, char **base)
> +				char **name, char **base, const char *which)
>  {
>  	static const char hex[] = "0123456789abcdef";
>  	char *buf;
> @@ -187,7 +187,8 @@ static char *sha1_get_pack_name(const unsigned char *sha1,
>  		const char *sha1_file_directory = get_object_directory();
>  		int len = strlen(sha1_file_directory);
>  		*base = xmalloc(len + 60);
> -		sprintf(*base, "%s/pack/pack-1234567890123456789012345678901234567890.pack", sha1_file_directory);
> +		sprintf(*base, "%s/pack/pack-1234567890123456789012345678901234567890.%s",
> +			sha1_file_directory, which);
>  		*name = *base + len + 11;
>  	}
>  
> @@ -206,14 +207,14 @@ char *sha1_pack_name(const unsigned char *sha1)
>  {
>  	static char *name, *base;
>  
> -	return sha1_get_pack_name(sha1, &name, &base);
> +	return sha1_get_pack_name(sha1, &name, &base, "pack");
>  }
>  
>  char *sha1_pack_index_name(const unsigned char *sha1)
>  {
>  	static char *name, *base;
>  
> -	return sha1_get_pack_name(sha1, &name, &base);
> +	return sha1_get_pack_name(sha1, &name, &base, "idx");
>  }
>  
>  struct alternate_object_database *alt_odb_list;

← back to recent threads