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