Jonathan Nieder <jrnieder@xxxxxxxxx> writes: > 2. Hard-coded object ids in tests: As Stefan hinted, many tests beyond > t00* make assumptions about the exact values of object ids. That's > bad for maintainability for other reasons beyond the hash function > transition, too. > > It should be possible to suss them out by patching git's sha1 > routine to use the ones-complement of sha1 (~sha1) instead and > seeing which tests fail. One particularly nasty one is t1512-rev-parse-disambiguation that ensures that the abbreviation and disambiguation works correctly. It uses a set of objects (tags, commits, trees and blobs) whose object names all begin with number of "0"; which will of course become useless once we change the hash function. No matter what new hash function is chosen, we'd need a similar test to ensure that disambiguation works correctly, so one of the tasks for hash migration is to port (not drop) this test.