Michael Witten <mfwitten@xxxxxxxxx> writes: > On Wed, 28 Sep 2011 13:34:22 -0700, Junio C Hamano wrote: > >> If you are bootstrapping a new open source project from the tip of a >> proprietary tree, "checkout --orphan && edit to sanitize && commit" to >> start your history afresh would be perfectly adequate for your PR people >> to say "Now we are open". > > So, the two usages for a new root commit are: > > * Separate History > * Hidden History > As it turns out, the command: > > git checkout --orphan > > which should be renamed: > > git checkout --no-parent I doubt that "should be" is anywhere near consensus. > is best for the "Separate History" case,... Step back a bit. There are two independent issues: - When does it make sense to originate two independent histories in a single repository that has a working tree? - What is the best tool to originate a new independent history in a single repository that has a working tree? As I said number of times already, be it done with "checkout --orphan" or "commit --no-parent", the "Separate History" use case is better done in a separate repository. There is *no* advantage to originate the two separate histories that do not share any resemblance of tree shape as branches in a single repository with a working tree; "git checkout $branch" between the two would actively work against you. You are of course free to push from these separate repositories that have disjoint roots of their own into a single distribution repository for people to fetch from, if you want Separate Histories in a distribution point. That leaves "Hidden History" the only useful use case. IOW, the answer to the first question above is not "Separate or Hidden History", but is "Hidden History and nothing else". And a half of the the answer to the second question is "checkout --orphan" (and the other half would be "filter-branch"). "checkout --orphan" does have major safety advantage than introducing "commit --no-parent", as Peff pointed out earlier (to which I agreed). -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html