Subject: Re: new to git

From: Junio C Hamano <[email-masked]>
Date: Mon, 27 Aug 2007 13:39:03 -0700

Andreas Ericsson <[email-masked]> writes:

> git pull = git fetch + git merge. The notation you use above is obsoleted
> and no longer works in git 1.5.3. Instead you'd have to replace
>
> 	git pull . foo
>
> with
>
> 	git merge foo
>
> which will most likely clear up some confusion.

Huh?  "git pull . foo" has always been the same as "git merge
foo", I thought...  Have we broken anything?

>> (2) Any way to disable this warning:
>>
>> Warning: No merge candidate found because value of config option
>>          "branch.local.merge" does not match any remote branch fetched.
>>
>
> Yes. Edit your .git/config file to add a merge candidate for your local
> branch.

Or, say what branch you get from the remote you want to merge
explicitly.  You may not always merge the same branch from the
remote.  E.g.

	$ git pull origin experimental
	$ git pull origin master

>> (4) I'm still not clear on when a dst should and should not be used in a
>> refspec.  It appears that one can only do non-fast forward updates to
>> the branch that is checked out (which makes sense, since you may need to
>> resolve), but other than that, what is the difference between
>>
>> git checkout foo
>> git pull . master
>>
>> and
>>
>> git checkout master
>> git push . master:foo
>>
>> ?
>>
>
> Here I'm clueless, except that this matches old syntax which is no longer
> valid.

Huh again about "no longer valid" part.

In any case, the former says "I am on foo branch, and I want to
merge 'master' from _MY_ local repository".  The latter says "I
want to update the local branch 'foo' with what is in my
'master' branch, both local".  They are totally different.

Please do _not_ spread backward incompatibility FUD.