Hi Junio, On Wed, 28 Mar 2018, Junio C Hamano wrote: > Johannes Schindelin <Johannes.Schindelin@xxxxxx> writes: > > >> Ideally, the existing one be annotated with prereq SHA1, and also > >> duplicated with a tweak to cause the same kind of (half-)collision > >> under the NewHash and be annotated with prereq NewHash. > > > > That's a good idea. I wonder whether we want to be a bit more specific, > > though, so that we have something grep'able for the future? Something like > > SHA1_SHORT_COLLISION or some such? > > Sorry, you lost me. > > What I meant was that a test, for example, that expects the object > name for an empty blob begins with e69de29 is valid ONLY when Git is > using SHA-1 to name objects, so such a test should be run only when > Git is using SHA-1 and no other hash. All tests in t1512 that > expects the sequence of events in it would yield blobs and trees > whose names have many leading "0"s are the same way. > > I think it would do to have a single prerequisite to cover all such > tests: "Run this piece of test only when Git is using SHA-1 hash". > I do not think you need a set of prerequisites to say "Run this with > SHA-1 because we are testing X" where X may be "disambiguation", > "unique-abbrev", "loose-refs", or whatever. I meant for the test case to be annotated such that one could find easily which test cases rely on specially-crafted objects to cause identical hash prefixes. But I guess it is not worth the effort (because you'll only find out which tests miss that annotation when you try to port the test suite to a new hash). Ciao, Dscho