I recently upgraded to 2.4.2 from 2.3.
The repo in question besides the master branch, has an "upstream"
branch, which is pushed to hourly from a cronjob (the "upstream"
branch is a git-svn maintained mirror). All updates to the repo happen
via Gerrit.
Each morning, I perform a merge in a local clone:
1. git fetch
2. git checkout master
3. git reset --hard origin/master
4. git merge <some commit from origin/upstream>
5. git push origin HEAD:refs/for/master
Meanwhile, if "upstream" has been updated via the cronjob, then I'll
get an unpacker error when attempting to push:
$ git push origin HEAD:refs/for/master
Counting objects: 2736, done.
Delta compression using up to 2 threads.
Compressing objects: 100% (658/658), done.
Writing objects: 100% (1928/1928), 815.00 KiB, done.
Total 1928 (delta 1478), reused 1636 (delta 1214)
remote: Resolving deltas: 100% (1478/1478)
error: unpack failed: error Missing tree
489b803c87abd8c7b87158d89bcb87a47f3bbf93
fatal: Unpack error, check server log
To ssh://git/repo
! [remote rejected] HEAD -> refs/for/master (n/a (unpacker error))
error: failed to push some refs to 'ssh://git/repo'
The "fix" is just to do a git fetch, then I can push successfully:
$ git fetch
remote: Counting objects: 19, done
remote: Finding sources: 100% (12/12)
remote: Total 12 (delta 9), reused 12 (delta 9)
Unpacking objects: 100% (12/12), done.
From ssh://git/repo
3182a2d9ad..3ab70c3050 upstream -> origin/upstream
$ git push origin HEAD:refs/for/master
Counting objects: 248, done.
Delta compression using up to 2 threads.
Compressing objects: 100% (85/85), done.
Writing objects: 100% (85/85), 11.97 KiB, done.
Total 85 (delta 83), reused 0 (delta 0)
remote: Resolving deltas: 100% (83/83)
remote: Processing changes: new: 1, done
remote:
remote: New Changes:
remote:
http://git/r/18331
remote:
To ssh://git/repo
* [new branch] HEAD -> refs/for/master
This is very reproducible. Any idea what's going on here?
j.