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

Change in behaviour in git fetch between 2.18.0 and 2.18.0.547.g1d89318c48

From
Paul Jolly <paul@myitcv.io>
Date
Aug 10, 2018, 18:04 UTC
Message-ID
<CACoUkn5wXY7924hftXhCXh_N_htWoiaGEV5f7ZEM4-PE57_1oA@mail.gmail.com>
Hi,

I've tried to skim through the archive, but I couldn't find anything that describes what I'm seeing. Apologies if that's because I missed something/used the wrong search terms, or this is an intentional change in behaviour.

Using 2.18.0.547.g1d89318c48, git fetch behaves differently to 2.18.0.

The scenario in which I'm seeing a difference in behaviour is when there are (by virtue of the state of my local git repo and the origin, remote) pending objects, branch updates etc to fetch from the remote.

To compare, here is the output of git fetch -v using 2.18.0:
POST git-upload-pack (948 bytes)
remote: Counting objects: 8961, done
remote: Finding sources: 100% (9/9)
remote: Total 9 (delta 0), reused 6 (delta 0)
Unpacking objects: 100% (9/9), done.
From https://go.googlesource.com/go
 = [up-to-date]            dev.boringcrypto        -> origin/dev.boringcrypto
 = [up-to-date]            dev.boringcrypto.go1.10 ->
origin/dev.boringcrypto.go1.10
 = [up-to-date]            dev.boringcrypto.go1.8  ->
origin/dev.boringcrypto.go1.8
 = [up-to-date]            dev.boringcrypto.go1.9  ->
origin/dev.boringcrypto.go1.9
 = [up-to-date]            dev.cc                  -> origin/dev.cc
 = [up-to-date]            dev.debug               -> origin/dev.debug
 = [up-to-date]            dev.garbage             -> origin/dev.garbage
 = [up-to-date]            dev.gcfe                -> origin/dev.gcfe
 = [up-to-date]            dev.inline              -> origin/dev.inline
 = [up-to-date]            dev.power64             -> origin/dev.power64
 = [up-to-date]            dev.ssa                 -> origin/dev.ssa
 = [up-to-date]            dev.tls                 -> origin/dev.tls
 = [up-to-date]            dev.typealias           -> origin/dev.typealias
   479da24aac..dce644d95b  master                  -> origin/master
 = [up-to-date]            release-branch.go1      -> origin/release-branch.go1
 = [up-to-date]            release-branch.go1.1    ->
origin/release-branch.go1.1
 = [up-to-date]            release-branch.go1.10   ->
origin/release-branch.go1.10
 = [up-to-date]            release-branch.go1.2    ->
origin/release-branch.go1.2
 = [up-to-date]            release-branch.go1.3    ->
origin/release-branch.go1.3
 = [up-to-date]            release-branch.go1.4    ->
origin/release-branch.go1.4
 = [up-to-date]            release-branch.go1.5    ->
origin/release-branch.go1.5
 = [up-to-date]            release-branch.go1.6    ->
origin/release-branch.go1.6
 = [up-to-date]            release-branch.go1.7    ->
origin/release-branch.go1.7
 = [up-to-date]            release-branch.go1.8    ->
origin/release-branch.go1.8
 = [up-to-date]            release-branch.go1.9    ->
origin/release-branch.go1.9
 = [up-to-date]            release-branch.r57      -> origin/release-branch.r57
 = [up-to-date]            release-branch.r58      -> origin/release-branch.r58
 = [up-to-date]            release-branch.r59      -> origin/release-branch.r59
 = [up-to-date]            release-branch.r60      -> origin/release-branch.r60
Notice the update to origin/master.
Here is the output of git fetch -v using 2.18.0.547.g1d89318c48:
POST git-upload-pack (964 bytes)
remote: Counting objects: 8961, done
remote: Finding sources: 100% (9/9)
remote: Total 9 (delta 0), reused 6 (delta 0)
Unpacking objects: 100% (9/9), done.
From https://go.googlesource.com/go
 = [up-to-date]            dev.boringcrypto        -> origin/dev.boringcrypto
 = [up-to-date]            dev.boringcrypto.go1.10 ->
origin/dev.boringcrypto.go1.10
 = [up-to-date]            dev.boringcrypto.go1.8  ->
origin/dev.boringcrypto.go1.8
 = [up-to-date]            dev.boringcrypto.go1.9  ->
origin/dev.boringcrypto.go1.9
 = [up-to-date]            dev.cc                  -> origin/dev.cc
 = [up-to-date]            dev.debug               -> origin/dev.debug
 = [up-to-date]            dev.garbage             -> origin/dev.garbage
 = [up-to-date]            dev.gcfe                -> origin/dev.gcfe
 = [up-to-date]            dev.inline              -> origin/dev.inline
 = [up-to-date]            dev.power64             -> origin/dev.power64
 = [up-to-date]            dev.ssa                 -> origin/dev.ssa
 = [up-to-date]            dev.tls                 -> origin/dev.tls
 = [up-to-date]            dev.typealias           -> origin/dev.typealias
 = [up-to-date]            release-branch.go1      -> origin/release-branch.go1
 = [up-to-date]            release-branch.go1.1    ->
origin/release-branch.go1.1
 = [up-to-date]            release-branch.go1.10   ->
origin/release-branch.go1.10
 = [up-to-date]            release-branch.go1.2    ->
origin/release-branch.go1.2
 = [up-to-date]            release-branch.go1.3    ->
origin/release-branch.go1.3
 = [up-to-date]            release-branch.go1.4    ->
origin/release-branch.go1.4
 = [up-to-date]            release-branch.go1.5    ->
origin/release-branch.go1.5
 = [up-to-date]            release-branch.go1.6    ->
origin/release-branch.go1.6
 = [up-to-date]            release-branch.go1.7    ->
origin/release-branch.go1.7
 = [up-to-date]            release-branch.go1.8    ->
origin/release-branch.go1.8
 = [up-to-date]            release-branch.go1.9    ->
origin/release-branch.go1.9
 = [up-to-date]            release-branch.r57      -> origin/release-branch.r57
 = [up-to-date]            release-branch.r58      -> origin/release-branch.r58
 = [up-to-date]            release-branch.r59      -> origin/release-branch.r59
 = [up-to-date]            release-branch.r60      -> origin/release-branch.r60

Indeed only if I repeat git fetch with 2.18.0.547.g1d89318c48 do I see the update to origin/master:

From https://go.googlesource.com/go
 = [up-to-date]            dev.boringcrypto        -> origin/dev.boringcrypto
 = [up-to-date]            dev.boringcrypto.go1.10 ->
origin/dev.boringcrypto.go1.10
 = [up-to-date]            dev.boringcrypto.go1.8  ->
origin/dev.boringcrypto.go1.8
 = [up-to-date]            dev.boringcrypto.go1.9  ->
origin/dev.boringcrypto.go1.9
 = [up-to-date]            dev.cc                  -> origin/dev.cc
 = [up-to-date]            dev.debug               -> origin/dev.debug
 = [up-to-date]            dev.garbage             -> origin/dev.garbage
 = [up-to-date]            dev.gcfe                -> origin/dev.gcfe
 = [up-to-date]            dev.inline              -> origin/dev.inline
 = [up-to-date]            dev.power64             -> origin/dev.power64
 = [up-to-date]            dev.ssa                 -> origin/dev.ssa
 = [up-to-date]            dev.tls                 -> origin/dev.tls
 = [up-to-date]            dev.typealias           -> origin/dev.typealias
   479da24aac..dce644d95b  master                  -> origin/master
 = [up-to-date]            release-branch.go1      -> origin/release-branch.go1
 = [up-to-date]            release-branch.go1.1    ->
origin/release-branch.go1.1
 = [up-to-date]            release-branch.go1.10   ->
origin/release-branch.go1.10
 = [up-to-date]            release-branch.go1.2    ->
origin/release-branch.go1.2
 = [up-to-date]            release-branch.go1.3    ->
origin/release-branch.go1.3
 = [up-to-date]            release-branch.go1.4    ->
origin/release-branch.go1.4
 = [up-to-date]            release-branch.go1.5    ->
origin/release-branch.go1.5
 = [up-to-date]            release-branch.go1.6    ->
origin/release-branch.go1.6
 = [up-to-date]            release-branch.go1.7    ->
origin/release-branch.go1.7
 = [up-to-date]            release-branch.go1.8    ->
origin/release-branch.go1.8
 = [up-to-date]            release-branch.go1.9    ->
origin/release-branch.go1.9
 = [up-to-date]            release-branch.r57      -> origin/release-branch.r57
 = [up-to-date]            release-branch.r58      -> origin/release-branch.r58
 = [up-to-date]            release-branch.r59      -> origin/release-branch.r59
 = [up-to-date]            release-branch.r60      -> origin/release-branch.r60
Can someone help explain what's going on here?
Thanks,
Paul
Next: Jeff King
Message 1 of 3 in “Change in behaviour in git fetch between 2.18.0 and 2.18.0.547.g1d89318c48”
  1. Paul JollyAug 10, 2018
  2. Jeff KingAug 10, 2018
  3. Paul JollyAug 10, 2018

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.