Thread (21 messages) flat view 21 messages, 7 authors, 2016-06-15

Re: GIT vs Other: Need argument

From: Junio C Hamano <hidden>
Date: 2016-06-15 22:43:06

Carl Worth [off-list ref] writes:
When I raised this recently, Junio suggested something like the
following:

	git config --global branch.autosetupmerge true	[*]
	git clone <URL>
	git checkout -b <branch> origin/<branch>
	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:
quoted
   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.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help