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

Reply via email to