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

Re: [PATCH 4/4] fetch: opportunistically update tracking refs

From
Thomas Rast <trast@inf.ethz.ch>
Date
May 12, 2013, 09:15 UTC
Message-ID
<871u9cftjv.fsf@linux-k42r.v.cablecom.net>
In-Reply-To
<20130511161652.GD3270@sigill.intra.peff.net>
Jeff King <peff@peff.net> writes:
Show 13 quoted lines
> When we run a regular "git fetch" without arguments, we
> update the tracking refs according to the configured
> refspec. However, when we run "git fetch origin master" (or
> "git pull origin master"), we do not look at the configured
> refspecs at all, and just update FETCH_HEAD.
>
> We miss an opportunity to update "refs/remotes/origin/master"
> (or whatever the user has configured). Some users find this
> confusing, because they would want to do further comparisons
> against the old state of the remote master, like:
>
>   $ git pull origin master
>   $ git log HEAD...origin/master

I agree with the patch, but I would use a different reasoning. Your example here is not even correct because the range in the second command would be empty unless the merge conflicted.

I believe the more common confusion stems from the tracking displays in git-checkout and others. The issue there is that we *internally* treat origin/masters as a kind of mirror, and the tracking displays all go against user expectations once they have seen a newer state of origin's master by explicit pull or fetch.

Michael also pointed out yesterday that short of
  git fetch origin master:refs/remotes/origin/master
there is no way to fetch only one branch.
-- 
Thomas Rast
trast@{inf,student}.ethz.ch
Previous: Jeff KingNext: Thomas Rast
Message 7 of 12 in “update tracking refs on explicit fetch”
  1. 0/4 update tracking refs on explicit fetchJeff King, May 11, 2013
  2. 1/4 t5510: start tracking-ref tests from a known stateJeff King, May 11, 2013
  3. Eric SunshineMay 14, 2013
  4. 2/4 fetch/pull doc: untangle meaning of bare <ref>Jeff King, May 11, 2013
  5. 3/4 refactor "ref->merge" flagJeff King, May 11, 2013
  6. 4/4 fetch: opportunistically update tracking refsJeff King, May 11, 2013
  7. Thomas RastMay 12, 2013
  8. Thomas RastMay 12, 2013
  9. Jeff KingMay 16, 2013
  10. Junio C HamanoAug 6, 2013
  11. Jeff KingAug 6, 2013
  12. Junio C HamanoAug 6, 2013

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.