Re: Bootstrapping into git, commit gripes at me
- From
Junio C Hamano <junkio@cox.net>
- Date
- Jul 12, 2005, 03:41 UTC
- Message-ID
- <7v8y0cg07c.fsf@assigned-by-dhcp.cox.net>
- In-Reply-To
- <Pine.LNX.4.58.0507112010120.17536@g5.osdl.org>
Linus Torvalds <torvalds@osdl.org> writes:
Show 8 quoted lines
> 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.