{"thread":{"id":"49092","subject":"Change in behaviour in git fetch between 2.18.0 and 2.18.0.547.g1d89318c48","startedAt":"2018-08-10T18:04:22Z","lastAt":"2018-08-10T18:18:40Z","messageCount":3,"participants":["Paul Jolly","Jeff King"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"355121","messageId":"CACoUkn5wXY7924hftXhCXh_N_htWoiaGEV5f7ZEM4-PE57_1oA@mail.gmail.com","threadId":"49092","inReplyTo":null,"subject":"Change in behaviour in git fetch between 2.18.0 and 2.18.0.547.g1d89318c48","fromName":"Paul Jolly","fromEmail":"paul@myitcv.io","sentAt":"2018-08-10T18:04:08Z","receivedAt":"2018-08-10T18:04:22Z","isPatch":false,"sender":{"key":"paul@myitcv.io","avatar":"https://gravatar.com/avatar/6a83179b2ef0386af693cc03a9c50ea897f5246c5dcc0fa5d126171ba17c3a63?d=mp&s=160"},"body":"Hi,\n\nI've tried to skim through the archive, but I couldn't find anything\nthat describes what I'm seeing. Apologies if that's because I missed\nsomething/used the wrong search terms, or this is an intentional\nchange in behaviour.\n\nUsing 2.18.0.547.g1d89318c48, git fetch behaves differently to 2.18.0.\n\nThe scenario in which I'm seeing a difference in behaviour is when\nthere are (by virtue of the state of my local git repo and the origin,\nremote) pending objects, branch updates etc to fetch from the remote.\n\nTo compare, here is the output of git fetch -v using 2.18.0:\n\nPOST git-upload-pack (948 bytes)\nremote: Counting objects: 8961, done\nremote: Finding sources: 100% (9/9)\nremote: Total 9 (delta 0), reused 6 (delta 0)\nUnpacking objects: 100% (9/9), done.\nFrom https://go.googlesource.com/go\n = [up-to-date]            dev.boringcrypto        -> origin/dev.boringcrypto\n = [up-to-date]            dev.boringcrypto.go1.10 ->\norigin/dev.boringcrypto.go1.10\n = [up-to-date]            dev.boringcrypto.go1.8  ->\norigin/dev.boringcrypto.go1.8\n = [up-to-date]            dev.boringcrypto.go1.9  ->\norigin/dev.boringcrypto.go1.9\n = [up-to-date]            dev.cc                  -> origin/dev.cc\n = [up-to-date]            dev.debug               -> origin/dev.debug\n = [up-to-date]            dev.garbage             -> origin/dev.garbage\n = [up-to-date]            dev.gcfe                -> origin/dev.gcfe\n = [up-to-date]            dev.inline              -> origin/dev.inline\n = [up-to-date]            dev.power64             -> origin/dev.power64\n = [up-to-date]            dev.ssa                 -> origin/dev.ssa\n = [up-to-date]            dev.tls                 -> origin/dev.tls\n = [up-to-date]            dev.typealias           -> origin/dev.typealias\n   479da24aac..dce644d95b  master                  -> origin/master\n = [up-to-date]            release-branch.go1      -> origin/release-branch.go1\n = [up-to-date]            release-branch.go1.1    ->\norigin/release-branch.go1.1\n = [up-to-date]            release-branch.go1.10   ->\norigin/release-branch.go1.10\n = [up-to-date]            release-branch.go1.2    ->\norigin/release-branch.go1.2\n = [up-to-date]            release-branch.go1.3    ->\norigin/release-branch.go1.3\n = [up-to-date]            release-branch.go1.4    ->\norigin/release-branch.go1.4\n = [up-to-date]            release-branch.go1.5    ->\norigin/release-branch.go1.5\n = [up-to-date]            release-branch.go1.6    ->\norigin/release-branch.go1.6\n = [up-to-date]            release-branch.go1.7    ->\norigin/release-branch.go1.7\n = [up-to-date]            release-branch.go1.8    ->\norigin/release-branch.go1.8\n = [up-to-date]            release-branch.go1.9    ->\norigin/release-branch.go1.9\n = [up-to-date]            release-branch.r57      -> origin/release-branch.r57\n = [up-to-date]            release-branch.r58      -> origin/release-branch.r58\n = [up-to-date]            release-branch.r59      -> origin/release-branch.r59\n = [up-to-date]            release-branch.r60      -> origin/release-branch.r60\n\nNotice the update to origin/master.\n\nHere is the output of git fetch -v using 2.18.0.547.g1d89318c48:\n\nPOST git-upload-pack (964 bytes)\nremote: Counting objects: 8961, done\nremote: Finding sources: 100% (9/9)\nremote: Total 9 (delta 0), reused 6 (delta 0)\nUnpacking objects: 100% (9/9), done.\nFrom https://go.googlesource.com/go\n = [up-to-date]            dev.boringcrypto        -> origin/dev.boringcrypto\n = [up-to-date]            dev.boringcrypto.go1.10 ->\norigin/dev.boringcrypto.go1.10\n = [up-to-date]            dev.boringcrypto.go1.8  ->\norigin/dev.boringcrypto.go1.8\n = [up-to-date]            dev.boringcrypto.go1.9  ->\norigin/dev.boringcrypto.go1.9\n = [up-to-date]            dev.cc                  -> origin/dev.cc\n = [up-to-date]            dev.debug               -> origin/dev.debug\n = [up-to-date]            dev.garbage             -> origin/dev.garbage\n = [up-to-date]            dev.gcfe                -> origin/dev.gcfe\n = [up-to-date]            dev.inline              -> origin/dev.inline\n = [up-to-date]            dev.power64             -> origin/dev.power64\n = [up-to-date]            dev.ssa                 -> origin/dev.ssa\n = [up-to-date]            dev.tls                 -> origin/dev.tls\n = [up-to-date]            dev.typealias           -> origin/dev.typealias\n = [up-to-date]            release-branch.go1      -> origin/release-branch.go1\n = [up-to-date]            release-branch.go1.1    ->\norigin/release-branch.go1.1\n = [up-to-date]            release-branch.go1.10   ->\norigin/release-branch.go1.10\n = [up-to-date]            release-branch.go1.2    ->\norigin/release-branch.go1.2\n = [up-to-date]            release-branch.go1.3    ->\norigin/release-branch.go1.3\n = [up-to-date]            release-branch.go1.4    ->\norigin/release-branch.go1.4\n = [up-to-date]            release-branch.go1.5    ->\norigin/release-branch.go1.5\n = [up-to-date]            release-branch.go1.6    ->\norigin/release-branch.go1.6\n = [up-to-date]            release-branch.go1.7    ->\norigin/release-branch.go1.7\n = [up-to-date]            release-branch.go1.8    ->\norigin/release-branch.go1.8\n = [up-to-date]            release-branch.go1.9    ->\norigin/release-branch.go1.9\n = [up-to-date]            release-branch.r57      -> origin/release-branch.r57\n = [up-to-date]            release-branch.r58      -> origin/release-branch.r58\n = [up-to-date]            release-branch.r59      -> origin/release-branch.r59\n = [up-to-date]            release-branch.r60      -> origin/release-branch.r60\n\nIndeed only if I repeat git fetch with 2.18.0.547.g1d89318c48 do I see\nthe update to origin/master:\n\nFrom https://go.googlesource.com/go\n = [up-to-date]            dev.boringcrypto        -> origin/dev.boringcrypto\n = [up-to-date]            dev.boringcrypto.go1.10 ->\norigin/dev.boringcrypto.go1.10\n = [up-to-date]            dev.boringcrypto.go1.8  ->\norigin/dev.boringcrypto.go1.8\n = [up-to-date]            dev.boringcrypto.go1.9  ->\norigin/dev.boringcrypto.go1.9\n = [up-to-date]            dev.cc                  -> origin/dev.cc\n = [up-to-date]            dev.debug               -> origin/dev.debug\n = [up-to-date]            dev.garbage             -> origin/dev.garbage\n = [up-to-date]            dev.gcfe                -> origin/dev.gcfe\n = [up-to-date]            dev.inline              -> origin/dev.inline\n = [up-to-date]            dev.power64             -> origin/dev.power64\n = [up-to-date]            dev.ssa                 -> origin/dev.ssa\n = [up-to-date]            dev.tls                 -> origin/dev.tls\n = [up-to-date]            dev.typealias           -> origin/dev.typealias\n   479da24aac..dce644d95b  master                  -> origin/master\n = [up-to-date]            release-branch.go1      -> origin/release-branch.go1\n = [up-to-date]            release-branch.go1.1    ->\norigin/release-branch.go1.1\n = [up-to-date]            release-branch.go1.10   ->\norigin/release-branch.go1.10\n = [up-to-date]            release-branch.go1.2    ->\norigin/release-branch.go1.2\n = [up-to-date]            release-branch.go1.3    ->\norigin/release-branch.go1.3\n = [up-to-date]            release-branch.go1.4    ->\norigin/release-branch.go1.4\n = [up-to-date]            release-branch.go1.5    ->\norigin/release-branch.go1.5\n = [up-to-date]            release-branch.go1.6    ->\norigin/release-branch.go1.6\n = [up-to-date]            release-branch.go1.7    ->\norigin/release-branch.go1.7\n = [up-to-date]            release-branch.go1.8    ->\norigin/release-branch.go1.8\n = [up-to-date]            release-branch.go1.9    ->\norigin/release-branch.go1.9\n = [up-to-date]            release-branch.r57      -> origin/release-branch.r57\n = [up-to-date]            release-branch.r58      -> origin/release-branch.r58\n = [up-to-date]            release-branch.r59      -> origin/release-branch.r59\n = [up-to-date]            release-branch.r60      -> origin/release-branch.r60\n\nCan someone help explain what's going on here?\n\nThanks,\n\n\nPaul\n"},{"id":"355123","messageId":"20180810181205.GA7516@sigill.intra.peff.net","threadId":"49092","inReplyTo":"CACoUkn5wXY7924hftXhCXh_N_htWoiaGEV5f7ZEM4-PE57_1oA@mail.gmail.com","subject":"Re: Change in behaviour in git fetch between 2.18.0 and 2.18.0.547.g1d89318c48","fromName":"Jeff King","fromEmail":"peff@peff.net","sentAt":"2018-08-10T18:12:05Z","receivedAt":"2018-08-10T18:12:09Z","isPatch":false,"sender":{"key":"peff@peff.net","avatar":"https://avatars.githubusercontent.com/u/45925?v=4"},"body":"On Fri, Aug 10, 2018 at 07:04:08PM +0100, Paul Jolly wrote:\n\n> I've tried to skim through the archive, but I couldn't find anything\n> that describes what I'm seeing. Apologies if that's because I missed\n> something/used the wrong search terms, or this is an intentional\n> change in behaviour.\n> \n> Using 2.18.0.547.g1d89318c48, git fetch behaves differently to 2.18.0.\n> \n> The scenario in which I'm seeing a difference in behaviour is when\n> there are (by virtue of the state of my local git repo and the origin,\n> remote) pending objects, branch updates etc to fetch from the remote.\n> [...]\n> Indeed only if I repeat git fetch with 2.18.0.547.g1d89318c48 do I see\n> the update to origin/master:\n\nI think this is the bug from:\n\n  https://public-inbox.org/git/20180729121900.GA16770@sigill.intra.peff.net/\n\nThe fix is in e2842b39f4 (fetch-pack: unify ref in and out param,\n2018-08-01), and is currently in the 'next' branch, and marked for\nmerging to master in the next integration cycle.\n\n-Peff\n"},{"id":"355124","messageId":"CACoUkn4RREF61=pPMz14bws6TKA2LPC1+b-vix5j0V3g5pBzyA@mail.gmail.com","threadId":"49092","inReplyTo":"20180810181205.GA7516@sigill.intra.peff.net","subject":"Re: Change in behaviour in git fetch between 2.18.0 and 2.18.0.547.g1d89318c48","fromName":"Paul Jolly","fromEmail":"paul@myitcv.io","sentAt":"2018-08-10T18:18:27Z","receivedAt":"2018-08-10T18:18:40Z","isPatch":false,"sender":{"key":"paul@myitcv.io","avatar":"https://gravatar.com/avatar/6a83179b2ef0386af693cc03a9c50ea897f5246c5dcc0fa5d126171ba17c3a63?d=mp&s=160"},"body":"> I think this is the bug from:\n>\n>   https://public-inbox.org/git/20180729121900.GA16770@sigill.intra.peff.net/\n>\n> The fix is in e2842b39f4 (fetch-pack: unify ref in and out param,\n> 2018-08-01), and is currently in the 'next' branch, and marked for\n> merging to master in the next integration cycle.\n\nThanks for the pointer, sounds like my case exactly.\n\n\nPaul\n"}]}