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.
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