Daniel Stone wrote:
> On Fri, Apr 13, 2007 at 12:10:17PM -0600, Brian Paul wrote:
>> Daniel Stone wrote:
>>> On Fri, Apr 13, 2007 at 06:18:12PM +0200, Michel Dänzer wrote:
>>>> It looks like you pushed your origin branch as well as your master
>>>> branch (for which there was another commit mail). This is usually due to
>>>> the git-push command line arguments or due to configuration
>>>> in .git/remotes/origin or .git/config .
>>>>
>>>> This should be less of a problem for people using GIT 1.5 or newer, but
>>>> somebody should still remove the origin branch in the shared repo.
>>> If someone makes sure that no origin commits will get lost, I'll
>>> cheerfully nuke the branch and make sure it can't ever be pushed again.
>> I guess I'm confused about "origin" vs. "master".  I've been using 'git 
>> pull origin' and 'git push origin' all the time, per the wiki.  Though 
>> checking now, the wiki says "git pull" w/out origin.
>>
>> What are the ramifications of "nuking the (origin) branch"?  Will 'git 
>> push origin' change to something else?
> 
> Welcome to the ambiguity that 1.5 (mostly) resolves.
> 
> Right now, origin is overloaded in two senses:
>   * on your local checkout, 'origin' is shorthand for
>     ssh://git.fd.o/git/mesa/mesa.  If you give no arguments,
>     master:master is implied[0].  So, git push origin expands to:
>     git push ssh://git.fd.o/git/mesa/mesa master:master
>     If you don't specify anything, origin is implied, so 'git push'
>     expands to the same thing.  Ditto git pull.
>   * on your local checkout, 'origin' is whatever 'master' was on the
>     remote repository when you last pulled.  So, it's a branch of its
>     own, essentially, but a virtual one: it just tracks the state of the
>     remote repository.  You can configure .git/remotes/origin to have
>     this behaviour for other shared branches, so you have, e.g. 'git
>     pull origin && git rebase server-1.3-branch-origin' to rebase
>     yourself against server-1.3-branch on the origin.
> 
> When someone does 'git push --all', what happens is that every single
> branch from your checkout gets pushed to the remote, _including virtual
> branches such as origin_.  A branch called 'origin' on the remote is
> meaningless, because it's tracking the state of itself.  Except that it
> introduces ambiguity, because origin is now a local branch (the virtual
> branch), an actual remote branch, and a remote repository.
> 
> So, you want to avoid someone pushing a branch called origin, because
> it's basically meaningless, and the end result is just threads like
> this, because 'origin' gets overloaded still further ...
> 
> Confused? :)

Yup.  I've been confused by git since day one and continue to be.

Thanks for the explanation.

-Brian

-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys-and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Mesa3d-dev mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/mesa3d-dev

Reply via email to