On Fri, 24 Feb 2017, Jeff King wrote:


So I'd much rather see strong rules like:

 1. Once a repo has flag-day switched over to the new hash format[1],
    new references are _always_ done with the new hash. Even ones that
    point to pre-flag-day objects!

how do you define when a repo has "switched over" to the new format in a distributed environment?

so you have one person working on a project that switches their version of git to the new one that uses the new format.

But other people they interact with still use older versions of git

what happens when you have someone working on two different projects where one has switched and the other hasn't?

what if they are forks of each other? (LEDE and OpenWRT, or just linux-kernel and linux-kernel-stable)


    So you get a "commit-v2" object instead of a "commit", and it has a
    distinct hash identity from its "commit" counterpart. You can point
    to a classic "commit", but you do so by its new-hash.

    The flag-day switch would probably be a repo config flag based on
    repositoryformatversion (so old versions would just punt if they
    see it). Let's call this flag "newhash" for lack of a better term.

so how do you interact with someone who only expects the old commit instead of the commit-v2?

David Lang

Reply via email to