From: Junio C Hamano Date: Mon, 23 Apr 2007 22:23:38 GMT Subject: Re: GIT vs Other: Need argument Message-ID: <7vps5ud91x.fsf@assigned-by-dhcp.cox.net> In-Reply-To: <877is29b1l.wl%cworth@cworth.org> Carl Worth writes: > When I raised this recently, Junio suggested something like the > following: > > git config --global branch.autosetupmerge true [*] > git clone > git checkout -b origin/ > git pull > > I haven't gotten around to replying to that message yet, but the > thrust of my reply would be that that does actually work, but it's not > even close to the ease with which one can track the default branch as > Linus described: > >> None of the above are ever really needed for that case, and I think all >> you really want to learn is: >> >> git clone >> git pull > > So, currently, all non-default branches have a sort of second-class > status from the point of view of users that just want to track > them. It is true that non default ones are second class status. That's why they are not "default" ;-). The autosetup configuration needs to be done once for the user (not tied to any project), so you are talking about difference between: git clone git pull git pull git pull git pull git pull ... vs git clone git checkout -b next origin/next git pull git pull git pull git pull git pull ... 'git clone' step in both are done only once per project's working tree, 'git checkout -b' step is done once for the particular branch you are interested in, and after that you will doing 'git pull' every day or every minute. I do not think one extra step is a big enough deal to make second class citizens scream about inequality.