{"push_id":1318377040,"size":25,"distinct_size":18,"ref":"refs/heads/pu","head":"bd23f32d897a483f85d2b8a5977eb78cacad35fa","before":"0f36c00052b69da350f64da64d60dfe925ee779e","commits":[{"sha":"cb0b179485cbc20972ef3fc91a61f642f779c5bb","author":{"name":"Jeff King","email":"7e57302763bea699aee296fb53304dc616ab92d5@peff.net"},"message":"tree-walk: be more specific about corrupt tree errors\n\nWhen the tree-walker runs into an error, it just calls\ndie(), and the message is always \"corrupt tree file\".\nHowever, we are actually covering several cases here; let's\ngive the user a hint about what happened.\n\nLet's also avoid using the word \"corrupt\", which makes it\nseem like the data bit-rotted on disk. Our sha1 check would\nalready have found that. These errors are ones of data that\nis malformed in the first place.\n\nSigned-off-by: David Turner <dturner@twosigma.com>\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/gitster/git/commits/cb0b179485cbc20972ef3fc91a61f642f779c5bb"},{"sha":"1fb696cfdf8e7a13533c3c23910f8876eb176285","author":{"name":"David Turner","email":"0934176aaa200b6720ade51aed5701bddd3873f4@twosigma.com"},"message":"fsck: handle bad trees like other errors\n\nInstead of dying when fsck hits a malformed tree object, log the error\nlike any other and continue.  Now fsck can tell the user which tree is\nbad, too.\n\nSigned-off-by: David Turner <dturner@twosigma.com>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":false,"url":"https://api.github.com/repos/gitster/git/commits/1fb696cfdf8e7a13533c3c23910f8876eb176285"},{"sha":"8201688ecdaee73912ee43fda89bc0374080887b","author":{"name":"David Turner","email":"3870862c552666d4a5597faa0f3f14170507231d@novalis.org"},"message":"add David Turner's Two Sigma address\n\nSigned-off-by: David Turner <novalis@novalis.org>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":false,"url":"https://api.github.com/repos/gitster/git/commits/8201688ecdaee73912ee43fda89bc0374080887b"},{"sha":"d37264fc5be8ed9f3b4eb6728bff711e6640cbe5","author":{"name":"Junio C Hamano","email":"3228067b6039a0d99bddaf967dafdecd5cc61600@pobox.com"},"message":"Merge branch 'dt/mailinfo' into jch\n\n* dt/mailinfo:\n  add David Turner's Two Sigma address","distinct":false,"url":"https://api.github.com/repos/gitster/git/commits/d37264fc5be8ed9f3b4eb6728bff711e6640cbe5"},{"sha":"3270741ea8c2a225183d272bf19ea19d5b3c05d8","author":{"name":"Junio C Hamano","email":"3228067b6039a0d99bddaf967dafdecd5cc61600@pobox.com"},"message":"utf8: refactor code to decide fallback encoding\n\nThe codepath we use to call iconv_open() has a provision to use a\nfallback encoding when it fails, hoping that \"UTF-8\" being spelled\ndifferently could be the reason why the library function did not\nlike the encoding names we gave it.  Essentially, we turn what we\nhave observed to be used as variants of \"UTF-8\" (e.g. \"utf8\") into\nthe most official spelling and use that as a fallback.\n\nWe do the same thing for input and output encoding.  Introduce a\nhelper function to do just one side and call that twice.\n\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":false,"url":"https://api.github.com/repos/gitster/git/commits/3270741ea8c2a225183d272bf19ea19d5b3c05d8"},{"sha":"df3755888b9a54e69ab70881738d431587c57951","author":{"name":"Junio C Hamano","email":"3228067b6039a0d99bddaf967dafdecd5cc61600@pobox.com"},"message":"utf8: accept \"latin-1\" as ISO-8859-1\n\nEven though latin-1 is still seen in e-mail headers, some platforms\nonly install ISO-8859-1.  \"iconv -f ISO-8859-1\" succeeds, while\n\"iconv -f latin-1\" fails on such a system.\n\nUsing the same fallback_encoding() mechanism factored out in the\nprevious step, teach ourselves that \"ISO-8859-1\" has a better chance\nof being accepted than \"latin-1\".\n\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":false,"url":"https://api.github.com/repos/gitster/git/commits/df3755888b9a54e69ab70881738d431587c57951"},{"sha":"98a6b798a0095964df7daf26476972baf4bd225a","author":{"name":"Junio C Hamano","email":"3228067b6039a0d99bddaf967dafdecd5cc61600@pobox.com"},"message":"Merge branch 'jc/latin-1' into jch\n\n* jc/latin-1:\n  utf8: accept \"latin-1\" as ISO-8859-1\n  utf8: refactor code to decide fallback encoding","distinct":false,"url":"https://api.github.com/repos/gitster/git/commits/98a6b798a0095964df7daf26476972baf4bd225a"},{"sha":"cbc683fd3a188633fd3aad7e5f9483f8b6e4d1ba","author":{"name":"Junio C Hamano","email":"3228067b6039a0d99bddaf967dafdecd5cc61600@pobox.com"},"message":"Merge branch 'vn/revision-shorthand-for-side-branch-log' into pu\n\n\"git log rev^..rev\" is an often-used revision range specification\nto show what was done on a side branch merged at rev, which has\ngained a short-hand \"rev^-1\".  In general \"rev^-$n\" is the same as\n\"^rev^$n rev\", i.e. what was done while the history leading to nth\nparent was looking the other way.\n\n* vn/revision-shorthand-for-side-branch-log:\n  SQUASH???\n  revision: new rev^-n shorthand for rev^n..rev","distinct":true,"url":"https://api.github.com/repos/gitster/git/commits/cbc683fd3a188633fd3aad7e5f9483f8b6e4d1ba"},{"sha":"f0d7e531cecb7f94488d542541ac1b678a16b95f","author":{"name":"Junio C Hamano","email":"3228067b6039a0d99bddaf967dafdecd5cc61600@pobox.com"},"message":"Merge branch 'jc/attr' into pu\n\nThe attributes API has been updated so that it can later be\noptimized using the knowledge of which attributes are queried.\n\nI wanted to polish this topic further to make the attribute\nsubsystem thread-ready, but because other topics depend on this\ntopic and they do not (yet) need it to be thread-ready.\n\nAs the authors of topics that depend on this seem not in a hurry,\nlet's discard this and dependent topics and restart them some other\nday.\n\n* jc/attr:\n  attr: support quoting pathname patterns in C style\n  attr: expose validity check for attribute names\n  attr: add counted string version of git_attr()\n  attr: add counted string version of git_check_attr()\n  attr: retire git_check_attrs() API\n  attr: convert git_check_attrs() callers to use the new API\n  attr: convert git_all_attrs() to use \"struct git_attr_check\"\n  attr: (re)introduce git_check_attr() and struct git_attr_check\n  attr: rename function and struct related to checking attributes\n  attr.c: plug small leak in parse_attr_line()\n  attr.c: tighten constness around \"git_attr\" structure\n  attr.c: simplify macroexpand_one()\n  attr.c: mark where #if DEBUG ends more clearly\n  attr.c: complete a sentence in a comment\n  attr.c: explain the lack of attr-name syntax check in parse_attr()\n  attr.c: update a stale comment on \"struct match_attr\"\n  attr.c: use strchrnul() to scan for one line\n  commit.c: use strchrnul() to scan for one line","distinct":true,"url":"https://api.github.com/repos/gitster/git/commits/f0d7e531cecb7f94488d542541ac1b678a16b95f"},{"sha":"0b277e1897f6b676736818b583929e6ddfea03cf","author":{"name":"Junio C Hamano","email":"3228067b6039a0d99bddaf967dafdecd5cc61600@pobox.com"},"message":"Merge branch 'sb/pathspec-label' into pu\n\nThe pathspec mechanism learned \":(attr:X)$pattern\" pathspec magic\nto limit paths that match $pattern further by attribute settings.\nThe preload-index mechanism is disabled when the new pathspec magic\nis in use (at least for now), because the attribute subsystem is\nnot thread-ready.\n\n* sb/pathspec-label:\n  pathspec: disable preload-index when attribute pathspec magic is in use\n  pathspec: allow escaped query values\n  pathspec: allow querying for attributes\n  pathspec: move prefix check out of the inner loop\n  pathspec: move long magic parsing out of prefix_pathspec\n  Documentation: fix a typo","distinct":true,"url":"https://api.github.com/repos/gitster/git/commits/0b277e1897f6b676736818b583929e6ddfea03cf"},{"sha":"1843b3423d470fd830bf7dd54aa2e73df81f04c6","author":{"name":"Junio C Hamano","email":"3228067b6039a0d99bddaf967dafdecd5cc61600@pobox.com"},"message":"Merge branch 'sb/submodule-default-paths' into pu\n\nAllow specifying the set of submodules the user is interested in on\nthe command line of \"git clone\" that clones the superproject.\n\n* sb/submodule-default-paths:\n  completion: clone can recurse into submodules\n  clone: add --init-submodule=<pathspec> switch\n  submodule update: add `--init-default-path` switch","distinct":true,"url":"https://api.github.com/repos/gitster/git/commits/1843b3423d470fd830bf7dd54aa2e73df81f04c6"},{"sha":"0611663bb71461475c716e662414d551ccf93274","author":{"name":"Junio C Hamano","email":"3228067b6039a0d99bddaf967dafdecd5cc61600@pobox.com"},"message":"Merge branch 'jc/merge-drop-old-syntax' into pu\n\nStop supporting \"git merge <message> HEAD <commit>\" syntax that has\nbeen deprecated since October 2007, and issues a deprecation\nwarning message since v2.5.0.\n\nIt has been reported that git-gui still uses the deprecated syntax,\nwhich needs to be fixed before this final step can proceed.\ncf. <5671DB28.8020901@kdbg.org>\n\n* jc/merge-drop-old-syntax:\n  merge: drop 'git merge <message> HEAD <commit>' syntax","distinct":true,"url":"https://api.github.com/repos/gitster/git/commits/0611663bb71461475c716e662414d551ccf93274"},{"sha":"2bce076ef37cb54cccdc6dd290e3e8f740187635","author":{"name":"Junio C Hamano","email":"3228067b6039a0d99bddaf967dafdecd5cc61600@pobox.com"},"message":"Merge branch 'jc/bundle' into pu\n\nThe beginning of \"split bundle\", which could be one of the\ningredients to allow \"git clone\" traffic off of the core server\nnetwork to CDN.\n\nWhile I think it would make it easier for people to experiment and\nbuild on if the topic is merged to 'next', I am at the same time a\nbit reluctant to merge an unproven new topic that introduces a new\nfile format, which we may end up having to support til the end of\ntime.  It is likely that to support a \"prime clone from CDN\", it\nwould need a lot more than just \"these are the heads and the pack\ndata is over there\", so this may not be sufficient.\n\n* jc/bundle:\n  index-pack: --clone-bundle option\n  bundle v3: the beginning\n  bundle: keep a copy of bundle file name in the in-core bundle header\n  bundle: plug resource leak\n  bundle doc: 'verify' is not about verifying the bundle","distinct":true,"url":"https://api.github.com/repos/gitster/git/commits/2bce076ef37cb54cccdc6dd290e3e8f740187635"},{"sha":"780a05fe6736cc56d8830d06c30f4d0b9648406c","author":{"name":"Junio C Hamano","email":"3228067b6039a0d99bddaf967dafdecd5cc61600@pobox.com"},"message":"Merge branch 'jc/attr-more' into pu\n\nThe beginning of long and tortuous journey to clean-up attribute\nsubsystem implementation.\n\n* jc/attr-more:\n  attr.c: outline the future plans by heavily commenting\n  attr.c: always pass check[] to collect_some_attrs()\n  attr.c: introduce empty_attr_check_elems()\n  attr.c: correct ugly hack for git_all_attrs()\n  attr.c: rename a local variable check\n  fixup! d5ad6c13\n  attr.c: pass struct git_attr_check down the callchain\n  attr.c: add push_stack() helper","distinct":true,"url":"https://api.github.com/repos/gitster/git/commits/780a05fe6736cc56d8830d06c30f4d0b9648406c"},{"sha":"83083b82b5ca2db1322a4df6849bd6479b3d6c27","author":{"name":"Junio C Hamano","email":"3228067b6039a0d99bddaf967dafdecd5cc61600@pobox.com"},"message":"Merge branch 'jc/diff-b-m' (early part) into pu\n\n* 'jc/diff-b-m' (early part):\n  diffcore-rename: allow easier debugging\n  diffcore-rename.c: add locate_rename_src()\n  diffcore-break: allow debugging","distinct":true,"url":"https://api.github.com/repos/gitster/git/commits/83083b82b5ca2db1322a4df6849bd6479b3d6c27"},{"sha":"6e10dd5022aba85a4ddf94f6ecc4b637946137d6","author":{"name":"Junio C Hamano","email":"3228067b6039a0d99bddaf967dafdecd5cc61600@pobox.com"},"message":"Merge branch 'ec/annotate-deleted' into pu\n\nUsability fix for annotate-specific \"<file> <rev>\" syntax with deleted\nfiles.\n\nHas been waiting for a review for too long without seeing anything.\n\n* ec/annotate-deleted:\n  annotate: skip checking working tree if a revision is provided","distinct":true,"url":"https://api.github.com/repos/gitster/git/commits/6e10dd5022aba85a4ddf94f6ecc4b637946137d6"},{"sha":"ce4d2d8ff2aec6e10ebac9ec47c465a57d82f810","author":{"name":"Junio C Hamano","email":"3228067b6039a0d99bddaf967dafdecd5cc61600@pobox.com"},"message":"Merge branch 'dk/gc-more-wo-pack' into pu\n\nFollow-on to dk/gc-idx-wo-pack topic, to clean up stale\n.bitmap and .keep files.\n\nHas been waiting for a reroll for too long.\ncf. <xmqq60ypbeng.fsf@gitster.mtv.corp.google.com>\n\n* dk/gc-more-wo-pack:\n  gc: clean garbage .bitmap files from pack dir\n  t5304: ensure non-garbage files are not deleted\n  t5304: test .bitmap garbage files\n  prepare_packed_git(): find more garbage","distinct":true,"url":"https://api.github.com/repos/gitster/git/commits/ce4d2d8ff2aec6e10ebac9ec47c465a57d82f810"},{"sha":"59aef8d876511643290cc936108d6d62734b7d68","author":{"name":"Junio C Hamano","email":"3228067b6039a0d99bddaf967dafdecd5cc61600@pobox.com"},"message":"Merge branch 'kn/ref-filter-branch-list' into pu\n\nThe code to list branches in \"git branch\" has been consolidated\nwith the more generic ref-filter API.\n\nRerolled.\n\n* kn/ref-filter-branch-list:\n  branch: implement '--format' option\n  branch: use ref-filter printing APIs\n  branch, tag: use porcelain output\n  ref-filter: allow porcelain to translate messages in the output\n  ref-filter: add `:dir` and `:base` options for ref printing atoms\n  ref-filter: make remote_ref_atom_parser() use refname_atom_parser_internal()\n  ref-filter: introduce symref_atom_parser() and refname_atom_parser()\n  ref-filter: introduce refname_atom_parser_internal()\n  ref-filter: make \"%(symref)\" atom work with the ':short' modifier\n  ref-filter: add support for %(upstream:track,nobracket)\n  ref-filter: make %(upstream:track) prints \"[gone]\" for invalid upstreams\n  ref-filter: introduce format_ref_array_item()\n  ref-filter: move get_head_description() from branch.c\n  ref-filter: modify \"%(objectname:short)\" to take length\n  ref-filter: implement %(if:equals=<string>) and %(if:notequals=<string>)\n  ref-filter: include reference to 'used_atom' within 'atom_value'\n  ref-filter: implement %(if), %(then), and %(else) atoms","distinct":true,"url":"https://api.github.com/repos/gitster/git/commits/59aef8d876511643290cc936108d6d62734b7d68"},{"sha":"b3a8e3ffc828af282e552f2b816ce3893530ee37","author":{"name":"Junio C Hamano","email":"3228067b6039a0d99bddaf967dafdecd5cc61600@pobox.com"},"message":"Merge branch 'mh/connect' into pu\n\nRewrite Git-URL parsing routine (hopefully) without changing any\nbehaviour.\n\nIt has been two months without any support.  We may want to discard\nthis.\n\n* mh/connect:\n  connect: [host:port] is legacy for ssh\n  connect: move ssh command line preparation to a separate function\n  connect: actively reject git:// urls with a user part\n  connect: change the --diag-url output to separate user and host\n  connect: make parse_connect_url() return the user part of the url as a separate value\n  connect: group CONNECT_DIAG_URL handling code\n  connect: make parse_connect_url() return separated host and port\n  connect: re-derive a host:port string from the separate host and port variables\n  connect: call get_host_and_port() earlier\n  connect: document why we sometimes call get_port after get_host_and_port","distinct":true,"url":"https://api.github.com/repos/gitster/git/commits/b3a8e3ffc828af282e552f2b816ce3893530ee37"},{"sha":"ac15ea95795a838324c9103b88e9735447ca3616","author":{"name":"Junio C Hamano","email":"3228067b6039a0d99bddaf967dafdecd5cc61600@pobox.com"},"message":"Merge branch 'jc/pull-rebase-ff' into pu\n\n\"git pull --rebase\", when there is no new commits on our side since\nwe forked from the upstream, should be able to fast-forward without\ninvoking \"git rebase\", but it didn't.\n\n* jc/pull-rebase-ff:\n  pull: fast-forward \"pull --rebase=true\"","distinct":true,"url":"https://api.github.com/repos/gitster/git/commits/ac15ea95795a838324c9103b88e9735447ca3616"}]}
{"actor":{"display_login":"gitster"}}