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

Re: git-http-pull broken in latest git

From
Petr Baudis <pasky@suse.cz>
Date
Aug 12, 2005, 02:45 UTC
Message-ID
<20050812024552.GO25280@pasky.ji.cz>
In-Reply-To
<7v4q9wf4ad.fsf@assigned-by-dhcp.cox.net>

Dear diary, on Fri, Aug 12, 2005 at 01:21:46AM CEST, I got a letter where Junio C Hamano <junkio@cox.net> told me that...

Show 17 quoted lines
> Petr Baudis <pasky@suse.cz> writes:
> 
> > $ git-cat-file commit bf570303153902ec3d85570ed24515bcf8948848 | grep tree
> > tree 41f10531f1799bbb31a1e0f7652363154ce96f45
> > $ git-read-tree 41f10531f1799bbb31a1e0f7652363154ce96f45
> > fatal: failed to unpack tree object 41f10531f1799bbb31a1e0f7652363154ce96f45
> 
> > Kaboom. I think the issue might be that the reference dependency tree
> > building is broken and it should've pulled the other pack as well.
> 
> Last time I checked, git-http-pull did not utilize the pack
> dependency information, which indeed is wrong.  When it decides
> to fetch a pack instead of an asked-for object, it should check
> which commits the pack expects to have in your local repository
> and add them to its list of things to slurp.
> 
> A good news is that "git clone" as a whole works fine.

Yes, but cg-clone doesn't - it naively depended on the core git tools actually, er.. working. ;-)

This became a nightmare to me by now - on two machines I tried to pull to over HTTP, that failed miserably, and I got stuck until I applied Daniel's patch there (and cleaned up after previous git-http-pulls).

So I have this packless git-pb repository and suspecting no evil, I pull from you (thankfully I have .git/objects/pack there from some historical pulls). I do a merge commit:

	packed
	 ... J
	packed \
		 > M
	       /
	 ... P

Now I want to pull on another machine. That pulls M and then fails since I have no .git/objects/pack there, bummer. So I mkdir it, but get no further w/o Daniel's patch - for git-*-pull, J is missing and that's it. So I apply the patch, and get friendly

	error: Unable to determine requirements of type (null) for M

and only after I delete M from the database, I finally succeed with git-http-pull. (That was with --repair.) That's not good since this might occur even naturally when the pull is interrupted.

With git-ssh-pull, the situation is even more vexing - it refuses to fetch the packs for some reason yet unknown to me (I will debug it tomorrow).

The git-*-pull tools appear yet rather fragile. :/
-- 
				Petr "Pasky" Baudis
Stuff: http://pasky.or.cz/
If you want the holes in your knowledge showing up try teaching
someone.  -- Alan Cox
Previous: Junio C HamanoNext: Daniel Barkalow
Message 8 of 11 in “cg-clone http://www.kernel.org/pub/scm/git/git.git fails”
  1. Dirk BehmeAug 9, 2005
  2. git-http-pull broken in latest gitPetr Baudis, Aug 11, 2005
  3. Junio C HamanoAug 11, 2005
  4. Re: git-http-pull broken in latest gitDaniel Barkalow, Aug 11, 2005
  5. Junio C HamanoAug 12, 2005
  6. Daniel BarkalowAug 12, 2005
  7. Junio C HamanoAug 11, 2005
  8. Petr BaudisAug 12, 2005
  9. Re: git-http-pull broken in latest gitDaniel Barkalow, Aug 12, 2005
  10. Junio C HamanoAug 12, 2005
  11. Daniel BarkalowAug 12, 2005

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.