Re: [PATCH v3] bulk-checkin: only support blobs in index_bulk_checkin
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Sep 27, 2023, 16:26 UTC
- Message-ID
- <xmqq7cobmvjt.fsf@gitster.g>
- In-Reply-To
- <ZRQ9aSeu/wpJERuV@nand.local>
Taylor Blau <me@ttaylorr.com> writes:
> I am not sure that I follow. If we have an address in memory from which > we want to stream raw bytes directly to the packfile, that should work > for all objects regardless of type, no?
For a single hash world, yes. For keeping track of "the other hash" and correspondence, you need to (1) interpret the contents of the object (e.g., if you received a tree contents for SHA-1 repository, you'd need to split them into tree entries and know which parts of the bytestream are SHA-1 hashes of the tree contebnts), (2) come up with the corresponding tree contents in the SHA-256 world (you should be able to do that now you know SHA-1 names of the objects directly referred to by the tree) and hash that using SHA-256, and (3) remember the SHA-1 and the SHA-256 name correspondence of the tree object you just hashed, in addition to the usual (4) hashing the contents using SHA-1 hash algorithm without caring what the byte stream represents.