Taylor Blau <me@xxxxxxxxxxxx> 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.