Re: Questions about git-push for huge repositories
- From
- Levin Du <zslevin@gmail.com>
- Date
- Sep 7, 2015, 01:05 UTC
- Message-ID
- <CAN6cQGMf089ERn2kZbFpHJ6vyJ4BnjCm-m-E+hQsduH55XFvKw@mail.gmail.com>
- In-Reply-To
- <xmqq4mj7bfsf.fsf@gitster.mtv.corp.google.com>
> Instead, the object transfer is optimized by comparing what commits > each side has and sending trees and blobs that are reachable from > the commits that the receiving side does not have.
The sender A sends all the commits that the receiver B does not have. The commits contains trees and blobs. In my situation, branch in A has only one commit. It seems that B has received lots of duplicate blobs, concluded from the GC result.
What I do not understand is, how duplicate blobs happen in a git repository? Git repository is famous for its content addressing storage system. I guess that A sends its packed file to B directly, no matter what are already in B.