I take care of the Git repositories of the company. We use Gitosis to manage the Git repositories. I clone one repository via git clone git@gitserver:repo
, and some commits are not found at all. git show <commit>
returns fatal: bad object f723e2ea9af0e380158d90c36e21a60991760d31
.
The objects are below, there are only one pack file:
$ tree .git/objects/
.git/objects/
|-- info
| `-- packs
`-- pack
|-- pack-4d930eca23ad902fc4a4809d01b86c4217b0b262.idx
`-- pack-4d930eca23ad902fc4a4809d01b86c4217b0b262.pack
2 directories, 3 files
I cannot find the commit in the pack file:
$ git verify-pack -v .git/objects/pack/pack-4d930eca23ad902fc4a4809d01b86c4217b0b262.idx | grep f723e2e
$
When I clone the repository on the Git server using local file system, the commits are there and can be checked out.
I can find the commit (the first one):
$ ls .git/objects/f7/
23e2ea9af0e380158d90c36e21a60991760d31 84f33d44863cbe6ca4ae03cddcc673048f04bb
3b1ef7031d634b4aa443925dd29cc779356caa 9807359a1c65f312a1d4642e5191416443e20b
6fbd26fccc5a8e89f221c9196eb8083e73632e
How can my users get all the commits when cloning via SSH?