Linus Torvalds <[EMAIL PROTECTED]> writes: > So at least to me it makes much more sense to say "ok, I'll start > something new, and call it xyzzy", than "ok, I'll start something new, and > I'll save the old under 'old'". > > The "old" thing might not even be anything you worked on (it might be > something you just cloned from somebody else), so you giving it a name > isn't very logical. In contrast, you're clearly doing something active > with the new thing, so naming _that_ makes sense.
What I had mind was ``If you do not care about the current "master", just say "checkout --force"''. When I start working on something I often do not know what the thing I am going to work on ends up to be. So I would start from v2.6.12 tag, do random hacking, and when I got into a reasonable shape, I would say ``Ok, this is worth saving. Let's name it "foobar" branch and continue.'' And I would probably switch to some other subproject when an urgent bugfix comes in, and I would not want to lose my "master" _then_. So (the "branch" one has been revised): checkout [--force] <commit-ish> In addition to reading the tree and updating the work tree, stores "<commit-ish>^0" in .git/refs/heads/master. However, if the current "master" is not something that matches a refs/*/*, then the user will be losing the trail between "master" before checkout and what is recorded in refs/, so the user needs to allow me explicitly to do it. branch <branch-name> Save the current "master" to branch-name. If the user makes a mistake and tries to store the "master" head into a wrong branch, that would lose development trail of the branch being overwritten, so if the named branch exists and "master" is not a descendent of it, the user needs to explicitly tell me that it is OK to do so. I do not quite follow your objections. I do not think I am forcing anybody to name an old thing. Do you mean that "I've been working on A and now I want to switch to B; so I'll save the current state in A and switch to B" is too redundant, and I should just let the user say "I've been working on something I do not care to remember, now I want to switch to B, so just take me to B and you should remember where I was and save it to A automatically"? That sort of makes sense to me. - To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html