{"push_id":611148458,"size":40,"distinct_size":0,"ref":"refs/heads/jk/contains-merge-base","head":"ea4ca5bcfa9e04c3ec20365008df667b45f8ff84","before":"3dd35b7f910fd17bb11d240ef86e1c7dec5916a7","commits":[{"sha":"06038cd7b7646333f15de663b7564cf390dcefbe","author":{"email":"696e3fbcf235d40b6ea1ebd61c87cbea79d444e7@peff.net","name":"Jeff King"},"message":"git_push_config: drop cargo-culted wt_status pointer\n\nThe push config callback does not expect any incoming data\nvia the void pointer. And if it did, it would certainly not\nbe a \"struct wt_status\". This probably got picked up\naccidentally in b945901 (push: heed user.signingkey for\nsigned pushes, 2014-10-22), which copied the template for\nthe config callback from builtin/commit.c.\n\nSigned-off-by: Jeff King <peff@peff.net>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":false,"url":"https://api.github.com/repos/peff/git/commits/06038cd7b7646333f15de663b7564cf390dcefbe"},{"sha":"d16c33b4c11cda583ca2b6f7b81da3ac2fdebfa4","author":{"email":"696e3fbcf235d40b6ea1ebd61c87cbea79d444e7@peff.net","name":"Jeff King"},"message":"cmd_push: set \"atomic\" bit directly\n\nThis makes the code shorter and more obvious by removing an\nunnecessary interim variable.\n\nSigned-off-by: Jeff King <peff@peff.net>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":false,"url":"https://api.github.com/repos/peff/git/commits/d16c33b4c11cda583ca2b6f7b81da3ac2fdebfa4"},{"sha":"06c21e18abc9ae4647c79449a9b0a1554553ad03","author":{"email":"696e3fbcf235d40b6ea1ebd61c87cbea79d444e7@peff.net","name":"Jeff King"},"message":"cmd_push: pass \"flags\" pointer to config callback\n\nThis will let us manipulate any transport flags which have matching\nconfig options (there are none yet, but we will add one in\nthe next patch).\n\nWe could also just make \"flags\" a static file-scope global,\nbut the result is a little confusing. We end up passing it\nalong through do_push and push_with_options, each of which\nfurther munge it. Having slightly-differing versions of the\nflags variable available to those functions would probably\ncause more confusion than it is worth. Let's just keep the\noriginal local to cmd_push, and it can continue to pass it\nthrough the call-stack.\n\nSigned-off-by: Jeff King <peff@peff.net>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":false,"url":"https://api.github.com/repos/peff/git/commits/06c21e18abc9ae4647c79449a9b0a1554553ad03"},{"sha":"dd059c6c07ede0486da5f9d02619687ae3108773","author":{"email":"696e3fbcf235d40b6ea1ebd61c87cbea79d444e7@peff.net","name":"Jeff King"},"message":"tag: fix some mis-organized options in \"-h\" listing\n\nRunning \"git tag -h\" currently prints:\n\n  [...]\n  Tag creation options\n      [...]\n      --column[=<style>]    show tag list in columns\n      --sort <type>         sort tags\n\n  Tag listing options\n      --contains <commit>   print only tags that contain the commit\n      --points-at <object>  print only tags of the object\n\nThe \"--column\" and \"--sort\" options should go under the \"Tag listing\" group.\n\nSigned-off-by: Jeff King <peff@peff.net>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":false,"url":"https://api.github.com/repos/peff/git/commits/dd059c6c07ede0486da5f9d02619687ae3108773"},{"sha":"e172755b1eeb061c8fafb5ae8e4e9e72f68a0cdd","author":{"email":"696e3fbcf235d40b6ea1ebd61c87cbea79d444e7@peff.net","name":"Jeff King"},"message":"upload-pack: fix transfer.hiderefs over smart-http\n\nWhen upload-pack advertises the refs (either for a normal,\nnon-stateless request, or for the initial contact in a\nstateless one), we call for_each_ref with the send_ref\nfunction as its callback. send_ref, in turn, calls\nmark_our_ref, which checks whether the ref is hidden, and\nsets OUR_REF or HIDDEN_REF on the object as appropriate.  If\nit is hidden, mark_our_ref also returns \"1\" to signal\nsend_ref that the ref should not be advertised.\n\nIf we are not advertising refs, (i.e., the follow-up\ninvocation by an http client to send its \"want\" lines), we\nuse mark_our_ref directly as a callback to for_each_ref. Its\nmarking does the right thing, but when it then returns \"1\"\nto for_each_ref, the latter interprets this as an error and\nstops iterating. As a result, we skip marking all of the\nrefs that come lexicographically after it. Any \"want\" lines\nfrom the client asking for those objects will fail, as they\nwere not properly marked with OUR_REF.\n\nTo solve this, we introduce a wrapper callback around\nmark_our_ref which always returns 0 (even if the ref is\nhidden, we want to keep iterating). We also tweak the\nsignature of mark_our_ref to exclude unnecessary parameters\nthat were present only to conform to the callback interface.\nThis should make it less likely for somebody to accidentally\nuse it as a callback in the future.\n\nSigned-off-by: Jeff King <peff@peff.net>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":false,"url":"https://api.github.com/repos/peff/git/commits/e172755b1eeb061c8fafb5ae8e4e9e72f68a0cdd"},{"sha":"8ddf3ca74f40bebd79cedba5ba82ca9f2eb33860","author":{"email":"696e3fbcf235d40b6ea1ebd61c87cbea79d444e7@peff.net","name":"Jeff King"},"message":"upload-pack: do not check NULL return of lookup_unknown_object\n\nWe check whether the return value of lookup_unknown_object\nis NULL, but some code paths dereference it before our\ncheck. This turns out not to be capable of causing a\nsegfault, though. The lookup_unknown_object function will\nnever return NULL, since the whole point is to allocate an\nobject struct if it does not find an existing one. So the\ncode here is not wrong, it is just confusing. Let's just\ndrop the NULL check.\n\nSigned-off-by: Jeff King <peff@peff.net>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":false,"url":"https://api.github.com/repos/peff/git/commits/8ddf3ca74f40bebd79cedba5ba82ca9f2eb33860"},{"sha":"da706545f7a1fa97cd8d9cf40659ab2a167be7c0","author":{"email":"696e3fbcf235d40b6ea1ebd61c87cbea79d444e7@peff.net","name":"Jeff King"},"message":"t: translate SIGINT to an exit\n\nRight now if a test script receives SIGINT (e.g., because a\ntest was hanging and the user hit ^C), the shell exits\nimmediately. This can be annoying if the test script did any\nglobal setup, like starting apache or git-daemon, as it will\nnot have an opportunity to clean up after itself. A\nsubsequent run of the test won't be able to start its own\ndaemon, and will either fail or skip the tests.\n\nInstead, let's trap SIGINT to make sure we do a clean\nshutdown, and just chain it to a normal exit (which will\ntrigger any cleanup).\n\nSigned-off-by: Jeff King <peff@peff.net>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":false,"url":"https://api.github.com/repos/peff/git/commits/da706545f7a1fa97cd8d9cf40659ab2a167be7c0"},{"sha":"025232e8aa4b56d450079528fcfbff53da3e7fa4","author":{"email":"696e3fbcf235d40b6ea1ebd61c87cbea79d444e7@peff.net","name":"Jeff King"},"message":"t: redirect stderr GIT_TRACE to descriptor 4\n\nIf you run a test script like:\n\n  GIT_TRACE=1 ./t0061-run-command.sh\n\nyou may get test failures, because some tests capture and\ncheck the stderr output from git commands (and with\nGIT_TRACE set to 1, the trace output will be included\nthere).\n\nWhen we see GIT_TRACE set like this, we print a warning to\nthe user. However, we can do even better than that by just\npointing it to descriptor 4, which all tests leave connected\nto the test script's stderr. That's likely what the user\nintended (and any scripts that do want to see GIT_TRACE\noutput will set GIT_TRACE themselves).\n\nNot only does this avoid false negatives in the tests, but\nit means the user will actually see trace output for git\ncalls that redirect their stderr (whereas before, it was\nsometimes confusingly buried in a file).\n\nSigned-off-by: Jeff King <peff@peff.net>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":false,"url":"https://api.github.com/repos/peff/git/commits/025232e8aa4b56d450079528fcfbff53da3e7fa4"},{"sha":"89c57ab3f0168b192d5ccc159972fdb26e0ba80b","author":{"email":"696e3fbcf235d40b6ea1ebd61c87cbea79d444e7@peff.net","name":"Jeff King"},"message":"t: pass GIT_TRACE through Apache\n\nApache removes GIT_TRACE from the environment before running\ngit-http-backend. This can make it hard to debug the server\nside of an http session. Let's let it through.\n\nSigned-off-by: Jeff King <peff@peff.net>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":false,"url":"https://api.github.com/repos/peff/git/commits/89c57ab3f0168b192d5ccc159972fdb26e0ba80b"},{"sha":"9a308de37c485068d6470d4c51e231a36e651e98","author":{"email":"696e3fbcf235d40b6ea1ebd61c87cbea79d444e7@peff.net","name":"Jeff King"},"message":"t5541: move run_with_cmdline_limit to test-lib.sh\n\nWe use this to test http pushing with a restricted\ncommandline. Other scripts (like t5551, which does http\nfetching) will want to use it, too.\n\nSigned-off-by: Jeff King <peff@peff.net>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":false,"url":"https://api.github.com/repos/peff/git/commits/9a308de37c485068d6470d4c51e231a36e651e98"},{"sha":"376e4b39d4453ce50cbacc9c46a3bbdaad2134b2","author":{"email":"696e3fbcf235d40b6ea1ebd61c87cbea79d444e7@peff.net","name":"Jeff King"},"message":"t5551: make EXPENSIVE test cheaper\n\nWe create 50,000 tags to check that we don't overflow the\ncommand-line of fetch-pack. But by using run_with_cmdline_limit,\nwe can get the same effect with a much smaller number of\ntags. This makes the test fast enough that we can drop the\nEXPENSIVE prereq, which means people will actually run it.\n\nIt was not documented to do so, but this test was also the\nonly test of a clone-over-http that requires multiple POSTs\nduring the conversation. We can continue to test that by\ndropping http.postbuffer to its minimum size, and checking\nthat we get two POSTs.\n\nSigned-off-by: Jeff King <peff@peff.net>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":false,"url":"https://api.github.com/repos/peff/git/commits/376e4b39d4453ce50cbacc9c46a3bbdaad2134b2"},{"sha":"da0005b8853137c91e44867d899910d5c7eb4425","author":{"email":"024f400cd820cb2ddbe54c7fecfd01e45f30bb96@gmail.com","name":"Nguyễn Thái Ngọc Duy"},"message":"*config.txt: stick to camelCase naming convention\n\nThis should improve readability. Compare \"thislongname\" and\n\"thisLongName\". The following keys are left in unchanged. We can\ndecide what to do with them later.\n\n - am.keepcr\n - core.autocrlf .safecrlf .trustctime\n - diff.dirstat .noprefix\n - gitcvs.usecrlfattr\n - gui.blamehistoryctx .trustmtime\n - pull.twohead\n - receive.autogc\n - sendemail.signedoffbycc .smtpsslcertpath .suppresscc\n\nHelped-by: Eric Sunshine <sunshine@sunshineco.com>\nSigned-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>\nSigned-off-by: Eric Sunshine <sunshine@sunshineco.com>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":false,"url":"https://api.github.com/repos/peff/git/commits/da0005b8853137c91e44867d899910d5c7eb4425"},{"sha":"a8bc269f11b34e60f5fdbd8e831a654dd6b6b67e","author":{"email":"64f3a6f8a6d8f856ef9bd179595801b0dfef7176@pobox.com","name":"Dave Olszewski"},"message":"push: allow --follow-tags to be set by config push.followTags\n\nSigned-off-by: Dave Olszewski <cxreg@pobox.com>\nHelped-by: Jeff King <peff@peff.net>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":false,"url":"https://api.github.com/repos/peff/git/commits/a8bc269f11b34e60f5fdbd8e831a654dd6b6b67e"},{"sha":"db8d750876ce9c43b23ddfdbe618ec5dd12767ee","author":{"email":"a51dda7c7ff50b61eaea0444371f4a6a9301e501@szakmeister.net","name":"John Szakmeister"},"message":"contrib/completion: escape the forward slash in __git_match_ctag\n\nThe current definition results in an incorrect expansion of the term under zsh.\nFor instance \"/^${1////\\\\/}/\" under zsh with the argument \"hi\" results in:\n    /^/\\/h/\\/i/\n\nThis results in an output similar to this when trying to complete `git grep\nchartab` under zsh:\n\n    :: git grep chartabawk: cmd. line:1: /^/\\/c/\\/h/\\/a/\\/r/\\/t/\\/a/\\/b/ { print $1 }\n    awk: cmd. line:1:    ^ backslash not last character on line\n    awk: cmd. line:1: /^/\\/c/\\/h/\\/a/\\/r/\\/t/\\/a/\\/b/ { print $1 }\n    awk: cmd. line:1:    ^ syntax error\n\nLeaving the prompt in a goofy state until the user hits a key.\n\nEscaping the literal / in the parameter expansion (using \"/^${1//\\//\\\\/}/\")\nresults in:\n    /^chartab/\n\nallowing the completion to work correctly.\n\nThis formulation also works under bash.\n\nSigned-off-by: John Szakmeister <john@szakmeister.net>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":false,"url":"https://api.github.com/repos/peff/git/commits/db8d750876ce9c43b23ddfdbe618ec5dd12767ee"},{"sha":"8c2ea51254b41810edf4ee1ac8b2272a784b15df","author":{"email":"a6723cc3f76163bf7adb636a73ac3b0ceb3e6b9b@pobox.com","name":"Junio C Hamano"},"message":"Merge branch 'tb/connect-ipv6-parse-fix' into maint\n\nWe did not parse username followed by literal IPv6 address in SSH\ntransport URLs, e.g. ssh://user@[2001:db8::1]:22/repo.git\ncorrectly.\n\n* tb/connect-ipv6-parse-fix:\n  t5500: show user name and host in diag-url\n  t5601: add more test cases for IPV6\n  connect.c: allow ssh://user@[2001:db8::1]/repo.git","distinct":false,"url":"https://api.github.com/repos/peff/git/commits/8c2ea51254b41810edf4ee1ac8b2272a784b15df"},{"sha":"f63ed085e20da82a8b7b49d90c61d0eb1b2ed19d","author":{"email":"a6723cc3f76163bf7adb636a73ac3b0ceb3e6b9b@pobox.com","name":"Junio C Hamano"},"message":"Merge branch 'es/rebase-i-count-todo' into maint\n\n\"git rebase -i\" recently started to include the number of\ncommits in the insn sheet to be processed, but on a platform\nthat prepends leading whitespaces to \"wc -l\" output, the numbers\nare shown with extra whitespaces that aren't necessary.\n\n* es/rebase-i-count-todo:\n  rebase-interactive: re-word \"item count\" comment\n  rebase-interactive: suppress whitespace preceding item count","distinct":false,"url":"https://api.github.com/repos/peff/git/commits/f63ed085e20da82a8b7b49d90c61d0eb1b2ed19d"},{"sha":"82b6e331a4f07b6e0080f7d18b4189d53190a04e","author":{"email":"a6723cc3f76163bf7adb636a73ac3b0ceb3e6b9b@pobox.com","name":"Junio C Hamano"},"message":"Merge branch 'mg/verify-commit' into maint\n\nWorkarounds for certain build of GPG that triggered false breakage\nin a test.\n\n* mg/verify-commit:\n  t7510: do not fail when gpg warns about insecure memory","distinct":false,"url":"https://api.github.com/repos/peff/git/commits/82b6e331a4f07b6e0080f7d18b4189d53190a04e"},{"sha":"84a37fae516eff3072a5729ce0ce40bf056fbeb1","author":{"email":"a6723cc3f76163bf7adb636a73ac3b0ceb3e6b9b@pobox.com","name":"Junio C Hamano"},"message":"Merge branch 'km/imap-send-libcurl-options' into maint\n\n\"git imap-send\" learned to optionally talk with an IMAP server via\nlibcURL; because there is no other option when Git is built with\nNO_OPENSSL option, use that codepath by default under such\nconfiguration.\n\n* km/imap-send-libcurl-options:\n  imap-send: use cURL automatically when NO_OPENSSL defined","distinct":false,"url":"https://api.github.com/repos/peff/git/commits/84a37fae516eff3072a5729ce0ce40bf056fbeb1"},{"sha":"c97418466a06c31edca53995cf82f644851640b1","author":{"email":"a6723cc3f76163bf7adb636a73ac3b0ceb3e6b9b@pobox.com","name":"Junio C Hamano"},"message":"Merge branch 'kn/git-cd-to-empty' into maint\n\n\"git -C '' subcmd\" refused to work in the current directory, unlike\n\"cd ''\" which silently behaves as a no-op.\n\n* kn/git-cd-to-empty:\n  git: treat \"git -C '<path>'\" as a no-op when <path> is empty","distinct":false,"url":"https://api.github.com/repos/peff/git/commits/c97418466a06c31edca53995cf82f644851640b1"},{"sha":"3f6f5c9dbe764c5100e6b48a0081b022983f49e8","author":{"email":"a6723cc3f76163bf7adb636a73ac3b0ceb3e6b9b@pobox.com","name":"Junio C Hamano"},"message":"Merge branch 'jc/decorate-leaky-separator-color' into maint\n\n\"git log --decorate\" did not reset colors correctly around the\nbranch names.\n\n* jc/decorate-leaky-separator-color:\n  log --decorate: do not leak \"commit\" color into the next item\n  Documentation/config.txt: simplify boolean description in the syntax section\n  Documentation/config.txt: describe 'color' value type in the \"Values\" section\n  Documentation/config.txt: have a separate \"Values\" section\n  Documentation/config.txt: describe the structure first and then meaning\n  Documentation/config.txt: explain multi-valued variables once\n  Documentation/config.txt: avoid unnecessary negation","distinct":false,"url":"https://api.github.com/repos/peff/git/commits/3f6f5c9dbe764c5100e6b48a0081b022983f49e8"}]}