git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: Useful tracking branches and auto merging

From
Felipe Contreras <felipe.contreras@gmail.com>
Date
Oct 7, 2010, 10:04 UTC
Message-ID
<AANLkTinqw06t88fkbyW3BbU-ZpWFAWBmjMQLPrTkXrci@mail.gmail.com>
In-Reply-To
<7vvd5g5rjq.fsf@alter.siamese.dyndns.org>
On Tue, Oct 5, 2010 at 11:10 PM, Junio C Hamano <gitster@pobox.com> wrote:
Show 14 quoted lines
> Felipe Contreras <felipe.contreras@gmail.com> writes:
>
>> I believe this use-case is valid:
>>
>> * The user wants *all* his remote tracking branches to point to the
>> latest branch head in all the repos in the case the can be
>> fast-forwarded, and in the case they can't, print an error and
>> continue with the rest.
>
> I would not be so sure about the validity of that use case.
>
> If your tracking branches are always trailing, never having any real work
> of your own, there is no reason to have them locally, instead of checking
> them out on demand.  So let's forget about that case.

Don't be so quick. Typing 'master' is certain easier than 'origin/master', or 'stable' rather than 'linux-stable/master', or 'vj-feature-1' rather than 'whatever-repo-this-came-from/feature-1'. The fact that you don't do it doesn't mean it's not a valid use-case.

Show 5 quoted lines
> On the other hand, if you have forked a topic branch to build your new
> nifty feature at some known point (e.g. immediately after the upstream
> reached a new stable point), but you haven't done any real work on it, it
> is doubtful that it is even a good idea to fast-forward it automatically
> to begin with.  C.f.
Fortunately we have 'git checkout --no-track -b origin/foo'. Problem solved.

But rather, what I do is: % git branch -t origin/foo % git checkout -b nifty-feature foo

Show 12 quoted lines
>   Message-ID: <AANLkTim85sH_2o=xCiDuoQrHq_7ZL96Y91xQMGxUP5Fy@mail.gmail.com>
>
>   "The real problem is that maintainers often pick random - and not at
>    all stable - points for their development to begin with. They just
>    pick some random "this is where Linus -git tree is today", and do
>    their development on top of that. THAT is the problem - they are
>    unaware that there's some nasty bug in that version."
>
> IOW, once I decided one point is a good place to fork a topic, created a
> branch off of it, but didn't have a chance to do a real work on it yet, it
> would be very irritating if "git pull" updated that branch only because I
> do not have my own commit on it yet.
Then either:
1) fork of a local branch
2) use --no-track
3) don't do 'git pull --all'
> I see little sanity in doing this with any option whose name has "all"; it
> largely depends on the workflow, and in a single repository, some branches
> may want to get fast-forwarded automatically while others don't [*2*].

I think if you are issuing 'git pull --all' you want your remote tracking branches to fast forward if possible, if not, why are you doing 'git pull --all'?

Cheers.
-- 
Felipe Contreras
Previous: Junio C Hamano
Message 13 of 13 in “Useful tracking branches and auto merging”
  1. Felipe ContrerasOct 4, 2010
  2. Jonathan NiederOct 4, 2010
  3. Felipe ContrerasOct 4, 2010
  4. Jonathan NiederOct 4, 2010
  5. Felipe ContrerasOct 4, 2010
  6. Clemens BuchacherOct 10, 2010
  7. Felipe ContrerasOct 10, 2010
  8. Clemens BuchacherOct 10, 2010
  9. Felipe ContrerasOct 10, 2010
  10. Junio C HamanoOct 5, 2010
  11. Felipe ContrerasOct 5, 2010
  12. Junio C HamanoOct 5, 2010
  13. Felipe ContrerasOct 7, 2010

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.