On Wednesday 15 November 2006 19:28, you wrote:
Linus Torvalds wrote:
quoted
But the fact is, git isn't really that hard to work out, and the commands
aren't that complicated. There's no reason to rename them. We do have
other problems:
- default branch selection for merging is broken (it should definitely
take the current branch into account). When I do "git pull" with no
branch specification, and I happen to be on a branch that is associated
with something else than "master" in the remote, I shouldn't merge with
master.
This problem is _slightly_ migitated by branch.<name>.merge config variable.
Slightly because you have to specify branch to merge, instead of forbidding
merge if you are not on specific branch (and you don't override it).
We should change this.
The problem is that whatever is the first Pull line in remotes config gets
merged by default into current branch, which most often is not the right
thing to do.
Often, I find myself doing "git branch" just to make sure that I am on
"master", so that a following pull does not do a bogus merge.
Can we please disable this behavior, e.g. by allowing a fake first
Pull line like "Pull: (not-for-merge)" to prohibit any merge?
This even could be written by default in git-clone somewhere in the future,
and we suddenly get the behavior of pull being symmetric to push - at least
by default. And still, it is fully compatible to existing repositories.
To make pull do the right thing, we _have_ to configure branch.<name>.merge
whenever we create a new branch (which matters for git-clone, too).
Josef
quoted
- I agree that having to create temporary branches to just look at a tag
that you don't want to actually develop on is just unnecessarily
bothersome.
Agreed.