{"push_id":735689478,"size":1000,"distinct_size":1642,"ref":"refs/heads/master","head":"631ba216a64388fd847b023dadd10d8bdebae372","before":"00c9d52b494112a1c2e01d5cd1f8c976def278c9","commits":[{"sha":"d6c988ddfacd49edf1eb16084af36062d8eb7121","author":{"email":"a6723cc3f76163bf7adb636a73ac3b0ceb3e6b9b@pobox.com","name":"Junio C Hamano"},"message":"Merge branch 'kn/git-cd-to-empty'\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":true,"url":"https://api.github.com/repos/Khan/git/commits/d6c988ddfacd49edf1eb16084af36062d8eb7121"},{"sha":"38f6ae90de2cedca6a4aaed13ecac365ffa9672c","author":{"email":"a6723cc3f76163bf7adb636a73ac3b0ceb3e6b9b@pobox.com","name":"Junio C Hamano"},"message":"Merge branch 'mg/detached-head-report'\n\n\"git branch\" on a detached HEAD always said \"(detached from xyz)\",\neven when \"git status\" would report \"detached at xyz\".  The HEAD is\nactually at xyz and haven't been moved since it was detached in\nsuch a case, but the user cannot read what the current value of\nHEAD is when \"detached from\" is used.\n\n* mg/detached-head-report:\n  branch: name detached HEAD analogous to status\n  wt-status: refactor detached HEAD analysis","distinct":true,"url":"https://api.github.com/repos/Khan/git/commits/38f6ae90de2cedca6a4aaed13ecac365ffa9672c"},{"sha":"89ebf97c11a6ac2e20e0e527ae6791584d7ae7ba","author":{"email":"a6723cc3f76163bf7adb636a73ac3b0ceb3e6b9b@pobox.com","name":"Junio C Hamano"},"message":"Merge branch 'rs/daemon-hostname-in-strbuf'\n\nCode in \"git daemon\" to parse out and hold hostnames used in\nrequest interpolation has been simplified.\n\n* rs/daemon-hostname-in-strbuf:\n  daemon: deglobalize hostname information\n  daemon: use strbuf for hostname info","distinct":true,"url":"https://api.github.com/repos/Khan/git/commits/89ebf97c11a6ac2e20e0e527ae6791584d7ae7ba"},{"sha":"ec0465ade87996214959a393239eec520daf92ea","author":{"email":"a6723cc3f76163bf7adb636a73ac3b0ceb3e6b9b@pobox.com","name":"Junio C Hamano"},"message":"Merge branch 'km/bsd-shells'\n\nPortability fixes and workarounds for shell scripts have been added\nto help BSD-derived systems.\n\n* km/bsd-shells:\n  t5528: do not fail with FreeBSD shell\n  help.c: use SHELL_PATH instead of hard-coded \"/bin/sh\"\n  git-compat-util.h: move SHELL_PATH default into header\n  git-instaweb: use @SHELL_PATH@ instead of /bin/sh\n  git-instaweb: allow running in a working tree subdirectory","distinct":true,"url":"https://api.github.com/repos/Khan/git/commits/ec0465ade87996214959a393239eec520daf92ea"},{"sha":"551fc7aec1a7efe868a59fbeea14582b41923f4d","author":{"email":"a6723cc3f76163bf7adb636a73ac3b0ceb3e6b9b@pobox.com","name":"Junio C Hamano"},"message":"Merge branch 'km/bsd-sysctl'\n\nWe now detect number of CPUs on older BSD-derived systems.\n\n* km/bsd-sysctl:\n  thread-utils.c: detect CPU count on older BSD-like systems\n  configure: support HAVE_BSD_SYSCTL option","distinct":true,"url":"https://api.github.com/repos/Khan/git/commits/551fc7aec1a7efe868a59fbeea14582b41923f4d"},{"sha":"0a81977239c1b2aae3aa53c0895267b3ac2d5425","author":{"email":"a6723cc3f76163bf7adb636a73ac3b0ceb3e6b9b@pobox.com","name":"Junio C Hamano"},"message":"Merge branch 'km/imap-send-libcurl-options'\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":true,"url":"https://api.github.com/repos/Khan/git/commits/0a81977239c1b2aae3aa53c0895267b3ac2d5425"},{"sha":"4c24385e80b333695470d3f4fdc28918a2d3108a","author":{"email":"a6723cc3f76163bf7adb636a73ac3b0ceb3e6b9b@pobox.com","name":"Junio C Hamano"},"message":"Merge branch 'mg/verify-commit'\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":true,"url":"https://api.github.com/repos/Khan/git/commits/4c24385e80b333695470d3f4fdc28918a2d3108a"},{"sha":"daea6fca3564e880dfe29bfab65fd5b608e9491d","author":{"email":"a6723cc3f76163bf7adb636a73ac3b0ceb3e6b9b@pobox.com","name":"Junio C Hamano"},"message":"Merge branch 'rs/use-isxdigit'\n\nCode cleanup.\n\n* rs/use-isxdigit:\n  use isxdigit() for checking if a character is a hexadecimal digit","distinct":true,"url":"https://api.github.com/repos/Khan/git/commits/daea6fca3564e880dfe29bfab65fd5b608e9491d"},{"sha":"cfe96b38fddc114c0bc98bbeab51b0f18fd102c3","author":{"email":"a6723cc3f76163bf7adb636a73ac3b0ceb3e6b9b@pobox.com","name":"Junio C Hamano"},"message":"Merge branch 'sb/leaks'\n\nCode cleanup.\n\n* sb/leaks:\n  builtin/help.c: fix memory leak\n  bundle.c: fix memory leak\n  connect.c: do not leak \"conn\" after showing diagnosis","distinct":true,"url":"https://api.github.com/repos/Khan/git/commits/cfe96b38fddc114c0bc98bbeab51b0f18fd102c3"},{"sha":"5f456b3c2612dce9cbc3ba4864dd0e5fdf429cac","author":{"email":"a6723cc3f76163bf7adb636a73ac3b0ceb3e6b9b@pobox.com","name":"Junio C Hamano"},"message":"Merge branch 'jc/decorate-leaky-separator-color'\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":true,"url":"https://api.github.com/repos/Khan/git/commits/5f456b3c2612dce9cbc3ba4864dd0e5fdf429cac"},{"sha":"46d403f13e5cb6d2b6bee6f942a679ea8978b9fa","author":{"email":"a6723cc3f76163bf7adb636a73ac3b0ceb3e6b9b@pobox.com","name":"Junio C Hamano"},"message":"Merge branch 'mg/log-decorate-HEAD'\n\nOutput from \"git log --decorate\" mentions HEAD when it points at a\ntip of an branch differently from a detached HEAD.\n\nThis is a potentially backward-incompatible change.\n\n* mg/log-decorate-HEAD:\n  log: decorate HEAD with branch name","distinct":true,"url":"https://api.github.com/repos/Khan/git/commits/46d403f13e5cb6d2b6bee6f942a679ea8978b9fa"},{"sha":"e80e85a52adfda053cafc3b23058a86aff35404f","author":{"email":"a6723cc3f76163bf7adb636a73ac3b0ceb3e6b9b@pobox.com","name":"Junio C Hamano"},"message":"Post 2.3 cycle (batch #11)\n\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":true,"url":"https://api.github.com/repos/Khan/git/commits/e80e85a52adfda053cafc3b23058a86aff35404f"},{"sha":"03f15a79a9006d819a25fe04199f9302ad4aaea0","author":{"email":"b5d5468c18b856edee6cf44fd3ea820cd261b068@gmail.com","name":"Thomas Gummerer"},"message":"read-cache: fix reading of split index\n\nThe split index extension uses ewah bitmaps to mark index entries as\ndeleted, instead of removing them from the index directly.  This can\nresult in an on-disk index, in which entries of stage #0 and higher\nstages appear, which are removed later when the index bases are merged.\n\n15999d0 read_index_from(): catch out of order entries when reading an\nindex file introduces a check which checks if the entries are in order\nafter each index entry is read in do_read_index.  This check may however\nfail when a split index is read.\n\nFix this by moving checking the index after we know there is no split\nindex or after the split index bases are successfully merged instead.\n\nSigned-off-by: Thomas Gummerer <t.gummerer@gmail.com>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":true,"url":"https://api.github.com/repos/Khan/git/commits/03f15a79a9006d819a25fe04199f9302ad4aaea0"},{"sha":"65e6758767be228791a76e02e971c5565058ec79","author":{"email":"955341c97b9d93a23c19524fc0105a6405902afe@web.de","name":"Torsten Bögershausen"},"message":"t6039: fix broken && chain\n\nAdd missing &&, detected by the --chain-lint option\n\nSigned-off-by: Torsten Bögershausen <tboegi@web.de>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":true,"url":"https://api.github.com/repos/Khan/git/commits/65e6758767be228791a76e02e971c5565058ec79"},{"sha":"2d9426b049335c1a39be7ea7416094e944bfe63c","author":{"email":"a7f3b1612c245dae606b3b9617b4f52187fddb65@google.com","name":"Stefan Beller"},"message":"read-cache: free cache entry in add_to_index in case of early return\n\nThis frees `ce` would be leaking in the error path.\n\nAdditionally a free is moved towards the return. This helps code\nreadability as we often have this pattern of freeing resources just\nbefore return/exit and not in between the code.\n\nSigned-off-by: Stefan Beller <sbeller@google.com>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":true,"url":"https://api.github.com/repos/Khan/git/commits/2d9426b049335c1a39be7ea7416094e944bfe63c"},{"sha":"1b7cb8969cb204b64b9f8ce25c86986e8144d352","author":{"email":"a7f3b1612c245dae606b3b9617b4f52187fddb65@google.com","name":"Stefan Beller"},"message":"update-index: fix a memleak\n\n`old` is not used outside the loop and would get lost\nonce we reach the goto.\n\nSigned-off-by: Stefan Beller <sbeller@google.com>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":true,"url":"https://api.github.com/repos/Khan/git/commits/1b7cb8969cb204b64b9f8ce25c86986e8144d352"},{"sha":"9a9592ff7c8a8f0e449515c158e4a5a4895c5c23","author":{"email":"696e3fbcf235d40b6ea1ebd61c87cbea79d444e7@peff.net","name":"Jeff King"},"message":"wt-status: don't flush before running \"submodule status\"\n\nThis is a holdover from the original implementation in\nac8d5af (builtin-status: submodule summary support,\n2008-04-12), which just had the sub-process output to our\ndescriptor; we had to make sure we had flushed any data that\nwe produced before it started writing.\n\nSince 3ba7407 (submodule summary: ignore --for-status\noption, 2013-09-06), however, we pipe the sub-process output\nback to ourselves. So there's no longer any need to flush\n(it does not hurt, but it may leave readers wondering why we\ndo it).\n\nSigned-off-by: Jeff King <peff@peff.net>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":true,"url":"https://api.github.com/repos/Khan/git/commits/9a9592ff7c8a8f0e449515c158e4a5a4895c5c23"},{"sha":"d56d966b3b03d2849ef9e20cacd7965106e8fdf0","author":{"email":"696e3fbcf235d40b6ea1ebd61c87cbea79d444e7@peff.net","name":"Jeff King"},"message":"wt_status: fix signedness mismatch in strbuf_read call\n\nWe call strbuf_read(), and want to know whether we got any\noutput. To do so, we assign the result to a size_t, and\ncheck whether it is non-zero.\n\nBut strbuf_read returns a signed ssize_t. If it encounters\nan error, it will return -1, and we'll end up treating this\nthe same as if we had gotten output. Instead, we can just\ncheck whether our buffer has anything in it (which is what\nwe care about anyway, and is the same thing since we know\nthe buffer was empty to begin with).\n\nNote that the \"len\" variable actually has two roles in this\nfunction. Now that we've eliminated the first, we can push the\ndeclaration closer to the point of use for the second one.\n\nSigned-off-by: Jeff King <peff@peff.net>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":true,"url":"https://api.github.com/repos/Khan/git/commits/d56d966b3b03d2849ef9e20cacd7965106e8fdf0"},{"sha":"260d5850ad452adb7ac0ab70d0a5d0211bdd967f","author":{"email":"46692b1f0516358b02a6405518c0a52aa8fb3e94@ira.uka.de","name":"SZEDER Gábor"},"message":"completion: use __gitcomp_nl() for completing refs\n\nWe do that almost everywhere, because it's faster for large number of\nrefs, see a31e62629 (completion: optimize refs completion, 2011-10-15).\nThese were the last two places where we still used __gitcomp() for\ncompleting refs.\n\nSigned-off-by: SZEDER Gábor <szeder@ira.uka.de>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":true,"url":"https://api.github.com/repos/Khan/git/commits/260d5850ad452adb7ac0ab70d0a5d0211bdd967f"},{"sha":"911ec99b688fc4d5673a0fc8984b22ff2251e490","author":{"email":"696e3fbcf235d40b6ea1ebd61c87cbea79d444e7@peff.net","name":"Jeff King"},"message":"run-command: introduce capture_command helper\n\nSomething as simple as reading the stdout from a command\nturns out to be rather hard to do right. Doing:\n\n  cmd.out = -1;\n  run_command(&cmd);\n  strbuf_read(&buf, cmd.out, 0);\n\ncan result in deadlock if the child process produces a large\namount of output. What happens is:\n\n  1. The parent spawns the child with its stdout connected\n     to a pipe, of which the parent is the sole reader.\n\n  2. The parent calls wait(), blocking until the child exits.\n\n  3. The child writes to stdout. If it writes more data than\n     the OS pipe buffer can hold, the write() call will\n     block.\n\nThis is a deadlock; the parent is waiting for the child to\nexit, and the child is waiting for the parent to call\nread().\n\nSo we might try instead:\n\n  start_command(&cmd);\n  strbuf_read(&buf, cmd.out, 0);\n  finish_command(&cmd);\n\nBut that is not quite right either. We are examining cmd.out\nand running finish_command whether start_command succeeded\nor not, which is wrong. Moreover, these snippets do not do\nany error handling. If our read() fails, we must make sure\nto still call finish_command (to reap the child process).\nAnd both snippets failed to close the cmd.out descriptor,\nwhich they must do (provided start_command succeeded).\n\nLet's introduce a run-command helper that can make this a\nbit simpler for callers to get right.\n\nSigned-off-by: Jeff King <peff@peff.net>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":true,"url":"https://api.github.com/repos/Khan/git/commits/911ec99b688fc4d5673a0fc8984b22ff2251e490"}]}