Subject: git push problem with v1.5.0-rc1

From: Bart Trojanowski <[email-masked]>
Date: Thu, 18 Jan 2007 16:26:15 -0500

I just stared using 1.5.0-rc yesterday, and ran into a problem with
git-push.

I am running vanilla 2.6.19 on amd64 SMP box.  For this project I am
working in a 32bit chroot -- the 64/32bit setup is part of the problem.

There are 3 repositories involved here:

linux-2.6.git      
    - clone of a few branches from kernel.org

klips-vault.git
    - linux tree from project upstream
    - alternates = /.../linux-2.6.git/.git/objects

working dir:
    - clone of klips-vault.git
    - alternates = /.../klips-vault.git/.git/objects

    - I made a new branch
    - applied ~100 patches

    - went to push and...

      $ git version 
      git version 1.5.0.rc1.gdf1b 
       
      $ cat .git/config 
      [core] 
              repositoryformatversion = 0 
              filemode = true 
              logallrefupdates = true 
      [remote "origin"] 
              url = /home/jukie/bart/work/xelerance/klips-vault.git/.git 
              fetch = +refs/heads/*:refs/remotes/origin/* 
              push = refs/heads/my-ocf+fsm_v2.6.18:refs/heads/my-ocf+fsm_v2.6.18 
      [branch "master"] 
              remote = origin 
              merge = refs/heads/master 
       
      $ git branch 
        master 
      * my-ocf+fsm_v2.6.18 
       
      $ git push origin 
      updating 'refs/heads/my-ocf+fsm_v2.6.18' 
        from 0000000000000000000000000000000000000000 
        to   380541e91358d7a5e2fe37c81c520c92a3094951 
      Generating pack... 
      Done counting 727 objects. 
      Result has 708 objects. 
      Deltifying 708 objects. 
       100% (708/708) done 
      Writing 708 objects. 
       100% (708/708) done 
      Total 708 (delta 535), reused 275 (delta 218) 
      fatal: cannot fstat packfile: Value too large for defined data type 
      unpack index-pack exited with error code 
      ng refs/heads/my-ocf+fsm_v2.6.18 n/a (unpacker error) 

There was some question as to why fstat fails in the chroot... I don't
have any 2TB pack files.  The above repos are relatively small.  All
.git directories sum up to about 500M.

I got some help from Shawn Pearce on #git.  He told me to set the
[receive] unpackLimit=5000 in .git/config on the remote.  That did
work, and I could push.

The conclusion was that my "chroot is broken".  It's Ubuntu, so it
should Just Work(TM) :D

I have tested a few configurations:

git 1.4.4.4                       - push OK
git 1.4.4.4 w/unpackLimit=100     - push fails

git 1.5.0-rc0                     - push fails
git 1.5.0-rc1                     - push fails
git 1.5.0-rc1 w/unpackLimit=5000  - push OK

I am not sure why 1.4.4.4 works w/o limit changes.

I will try not to touch anything for a while, and would be glad to help
further if I can.

-Bart

-- 
				WebSig: http://www.jukie.net/~bart/sig/