Re: best way to fastforward all tracking branches after a fetch
From: Stefan Haller <hidden>
Date: 2016-06-15 22:52:37
Jeff King [off-list ref] wrote:
On Mon, Dec 12, 2011 at 08:33:15AM +0100, Stefan Haller wrote:quoted
quoted
Local branches can track each other. So the script needs to toposort the branches, or to loop until either nothing was done or an error happened. (The latter to prevent an eternal loop on error.)Is this just theoretical, or are there real use cases for this? What would be a workflow with such a local tracking branch?I use this all the time. In git.git, we use a topic branch workflow (i.e., every feature gets its own topic branch, and topics graduate independently to master as they are deemed stable). And we use a patch-submission workflow, which means it's OK for me to rebase my topics locally, because the end-product is a series of patches sent to the list. Typically I branch off of "origin/master", so the topic is independent of anything else. For example, the "jk/credentials" branch in my git repo is branched from "origin/master" (Junio's master). But sometimes there is a topic that depends on another topic, but should not be part of the same series (because the the first topic can graduate to master, but the second one may still need more time for discussion and cooking). In that case, I'll set the upstream to the other local topic branch. An example of this is the "jk/prompt" series, which depends on "jk/credentials" for infrastructure, but is really a separate issue. Having the upstream set is convenient, because I can get _just_ the commits in jk/prompt with "git log @{u}..". Or I can rebase _just_ the commits in that topic with "git rebase -i". If my upstream were set to origin, I would accidentally also rebase all of the commits pulled in from jk/credentials, too.
I see, thanks. For my script, I'm wondering then if the most sensible thing to do is to just skip any branch whose upstream doesn't start with refs/remotes/. For a future "git pull --all" feature, it would probably only work on those branches whose upstream is on the remote being pulled from, anyway. -- Stefan Haller Berlin, Germany http://www.haller-berlin.de/