{"push_id":1456358754,"size":72,"distinct_size":0,"ref":"refs/heads/jch","head":"afd02b1e45131e0a8630192d5123f3b7d13ab309","before":"4ba87140b09d1cc01dd9197c42f94ca5f580106d","commits":[{"sha":"fef54f31627542b90f0a2af6c98ebb1e4c309211","author":{"name":"Beat Bolli","email":"a24925a5ec2eb4cc896302217c0cc6b6e510930a@drbeat.li"},"message":"update_unicode.sh: automatically download newer definition files\n\nChecking just for the unicode data files' existence is not sufficient;\nwe should also download them if a newer version exists on the Unicode\nconsortium's servers. Option -N of wget does this nicely for us.\n\nReviewed-by: Torsten Bögershausen <tboegi@web.de>\nSigned-off-by: Beat Bolli <dev+git@drbeat.li>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":false,"url":"https://api.github.com/repos/gitster/git/commits/fef54f31627542b90f0a2af6c98ebb1e4c309211"},{"sha":"3fe5799144f242ca9cacd0211318e36f9a09d7c6","author":{"name":"Beat Bolli","email":"a24925a5ec2eb4cc896302217c0cc6b6e510930a@drbeat.li"},"message":"update_unicode.sh: remove the plane filter\n\nThe uniset upstream has accepted my patches that eliminate the Unicode\nplane offsets from the output in '--32' mode.\n\nRemove the corresponding filter in update_unicode.sh.\n\nThis also fixes the issue that the plane offsets were not removed from\nthe second uniset call.\n\nSigned-off-by: Beat Bolli <dev+git@drbeat.li>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":false,"url":"https://api.github.com/repos/gitster/git/commits/3fe5799144f242ca9cacd0211318e36f9a09d7c6"},{"sha":"9e6e9aefdfd4b0625900b65c825a4149b1b834e1","author":{"name":"Beat Bolli","email":"a24925a5ec2eb4cc896302217c0cc6b6e510930a@drbeat.li"},"message":"unicode_width.h: update the width tables to Unicode 9.0\n\nRerunning update-unicode.sh that we fixed in the previous commits\nproduces these new tables.\n\nSigned-off-by: Beat Bolli <dev+git@drbeat.li>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":false,"url":"https://api.github.com/repos/gitster/git/commits/9e6e9aefdfd4b0625900b65c825a4149b1b834e1"},{"sha":"e951ebca91d914e3fb579011c9218f59c67cf2fd","author":{"name":"Jeff King","email":"7e57302763bea699aee296fb53304dc616ab92d5@peff.net"},"message":"Makefile: reformat FIND_SOURCE_FILES\n\nAs we add to this in future commits, the formatting is going\nto make it harder and harder to read. Let's write it more as\nwe would in a shell script, putting each logical block on\nits own line.\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/gitster/git/commits/e951ebca91d914e3fb579011c9218f59c67cf2fd"},{"sha":"e6fc85b11f402ababa4b46ec1121a662ce1fce8e","author":{"name":"Jeff King","email":"7e57302763bea699aee296fb53304dc616ab92d5@peff.net"},"message":"Makefile: exclude test cruft from FIND_SOURCE_FILES\n\nThe test directory may contain three types of files that\nmatch our patterns:\n\n  1. Helper programs in t/helper.\n\n  2. Sample data files (e.g., t/t4051/hello.c).\n\n  3. Untracked cruft in trash directories and t/perf/build.\n\nWe want to match (1), but not the other two, as they just\nclutter up the list.\n\nFor the ls-files method, we can drop (2) with a negative\npathspec. We do not have to care about (3), since ls-files\nwill not list untracked files.\n\nFor `find`, we can match both cases with `-prune` patterns.\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/gitster/git/commits/e6fc85b11f402ababa4b46ec1121a662ce1fce8e"},{"sha":"8fa2043293831402b84c3446efa62640c01c8121","author":{"name":"Jeff King","email":"7e57302763bea699aee296fb53304dc616ab92d5@peff.net"},"message":"Makefile: match shell scripts in FIND_SOURCE_FILES\n\nWe feed FIND_SOURCE_FILES to ctags to help developers\nnavigate to particular functions, but we only feed C source\ncode. The same feature can be helpful when working with\nshell scripts (especially the test suite). Modern versions\nof ctags know how to parse shell scripts; we just need to\nfeed the filenames to it.\n\nThis patch specifically avoids including the individual test\nscripts themselves. Those are unlikely to be of interest,\nand there are a lot of them to process. It does pick up\ntest-lib.sh and test-lib-functions.sh.\n\nNote that our negative pathspec already excludes the\nindividual scripts for the ls-files case, but we need to\nloosen the `find` rule to match it.\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/gitster/git/commits/8fa2043293831402b84c3446efa62640c01c8121"},{"sha":"046e4c1c09aa4fa9865b1fd755aa99d8617465d2","author":{"name":"Jeff King","email":"7e57302763bea699aee296fb53304dc616ab92d5@peff.net"},"message":"Makefile: exclude contrib from FIND_SOURCE_FILES\n\nWhen you're working on the git project, you're unlikely to\ncare about random bits in contrib/ (e.g., you would not want\nto jump to the copy of xmalloc in the wincred credential\nhelper). Nobody has really complained because there are\nrelatively few C files in contrib.\n\nNow that we're matching shell scripts, too, we get quite a\nfew more hits, especially in the obsolete contrib/examples\ndirectory. Looking for usage() should turn up the one in\ngit-sh-setup, not in some long-dead version of git-clone.\n\nLet's just exclude all of contrib. Any specific projects\nthere which are big enough to want tags can generate them\nseparately.\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/gitster/git/commits/046e4c1c09aa4fa9865b1fd755aa99d8617465d2"},{"sha":"87433261a46db1a9bd012acd7fba868f009ba38f","author":{"name":"Jeff King","email":"7e57302763bea699aee296fb53304dc616ab92d5@peff.net"},"message":"parse-options: print \"fatal:\" before usage_msg_opt()\n\nPrograms may use usage_msg_opt() to print a brief message\nfollowed by the program usage, and then exit. The message\nisn't prefixed at all, though, so it doesn't match our usual\nerror output and is easy to overlook:\n\n    $ git clone 1 2 3\n    Too many arguments.\n\n    usage: git clone [<options>] [--] <repo> [<dir>]\n\n    -v, --verbose         be more verbose\n    -q, --quiet           be more quiet\n    --progress            force progress reporting\n    -n, --no-checkout     don't create a checkout\n    --bare                create a bare repository\n    [...and so on for another 31 lines...]\n\nIt looks especially bad when the message starts with an\noption, like:\n\n    $ git replace -e\n    -e needs exactly one argument\n\n    usage: git replace [-f] <object> <replacement>\n       or: git replace [-f] --edit <object>\n    [...etc...]\n\nLet's put our usual \"fatal:\" prefix in front of it.\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/gitster/git/commits/87433261a46db1a9bd012acd7fba868f009ba38f"},{"sha":"367ff694281ce569edd8f6e444fc770f92f5d215","author":{"name":"Chris Packham","email":"c70e000b1335e2dcb29bf50306010cf03fd34c6b@gmail.com"},"message":"merge: add '--continue' option as a synonym for 'git commit'\n\nTeach 'git merge' the --continue option which allows 'continuing' a\nmerge by completing it. The traditional way of completing a merge after\nresolving conflicts is to use 'git commit'. Now with commands like 'git\nrebase' and 'git cherry-pick' having a '--continue' option adding such\nan option to 'git merge' presents a consistent UI.\n\nSigned-off-by: Chris Packham <judge.packham@gmail.com>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":false,"url":"https://api.github.com/repos/gitster/git/commits/367ff694281ce569edd8f6e444fc770f92f5d215"},{"sha":"c261a87e704679203510d48ff4db7bc7006b8a5a","author":{"name":"Chris Packham","email":"c70e000b1335e2dcb29bf50306010cf03fd34c6b@gmail.com"},"message":"completion: add --continue option for merge\n\nAdd 'git merge --continue' option when completing.\n\nSigned-off-by: Chris Packham <judge.packham@gmail.com>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":false,"url":"https://api.github.com/repos/gitster/git/commits/c261a87e704679203510d48ff4db7bc7006b8a5a"},{"sha":"042e290da6aee0a9f21cd5890ccf231c266e177e","author":{"name":"Chris Packham","email":"c70e000b1335e2dcb29bf50306010cf03fd34c6b@gmail.com"},"message":"merge: ensure '--abort' option takes no arguments\n\nLike '--continue', the '--abort' option doesn't make any sense with\nother options or arguments to 'git merge' so ensure that none are\npresent.\n\nSigned-off-by: Chris Packham <judge.packham@gmail.com>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":false,"url":"https://api.github.com/repos/gitster/git/commits/042e290da6aee0a9f21cd5890ccf231c266e177e"},{"sha":"73f211b0eb898fd53223452beac8332c63e157c9","author":{"name":"Junio C Hamano","email":"3228067b6039a0d99bddaf967dafdecd5cc61600@pobox.com"},"message":"Merge branch 'js/normalize-path-copy-ceil' into jch\n\nA pathname that begins with \"//\" or \"\\\\\" on Windows is special but\npath normalization logic was unaware of it.\n\n* js/normalize-path-copy-ceil:\n  normalize_path_copy(): fix pushing to //server/share/dir paths on Windows","distinct":false,"url":"https://api.github.com/repos/gitster/git/commits/73f211b0eb898fd53223452beac8332c63e157c9"},{"sha":"2d619ac59d8b51e2a906c93156d4e8bc82adfea9","author":{"name":"Junio C Hamano","email":"3228067b6039a0d99bddaf967dafdecd5cc61600@pobox.com"},"message":"Merge branch 'bb/unicode-9.0' into jch\n\nThe character width table has been updated to match Unicode 9.0\n\n* bb/unicode-9.0:\n  unicode_width.h: update the width tables to Unicode 9.0\n  update_unicode.sh: remove the plane filter\n  update_unicode.sh: automatically download newer definition files\n  update_unicode.sh: pin the uniset repo to a known good commit\n  update_unicode.sh: remove an unnecessary subshell level\n  update_unicode.sh: move it into contrib/update-unicode","distinct":false,"url":"https://api.github.com/repos/gitster/git/commits/2d619ac59d8b51e2a906c93156d4e8bc82adfea9"},{"sha":"30166f37258c9aac7aecb5a4701a16089eccd4aa","author":{"name":"Junio C Hamano","email":"3228067b6039a0d99bddaf967dafdecd5cc61600@pobox.com"},"message":"Merge branch 'jc/git-open-cloexec' into jch\n\nThe codeflow of setting NOATIME and CLOEXEC on file descriptors Git\nopens has been simplified.\n\nWe may want to drop the tip one.\n\n* jc/git-open-cloexec:\n  sha1_file: stop opening files with O_NOATIME\n  git_open_cloexec(): use fcntl(2) w/ FD_CLOEXEC fallback\n  git_open(): untangle possible NOATIME and CLOEXEC interactions","distinct":false,"url":"https://api.github.com/repos/gitster/git/commits/30166f37258c9aac7aecb5a4701a16089eccd4aa"},{"sha":"78f889203f0af1dbf3570258639e47cb676c366d","author":{"name":"Junio C Hamano","email":"3228067b6039a0d99bddaf967dafdecd5cc61600@pobox.com"},"message":"Merge branch 'jc/retire-compaction-heuristics' into jch\n\n* jc/retire-compaction-heuristics:\n  SQUASH???\n  SQUASH???\n  diff: retire the original experimental \"compaction\" heuristics","distinct":false,"url":"https://api.github.com/repos/gitster/git/commits/78f889203f0af1dbf3570258639e47cb676c366d"},{"sha":"1ce4788843d747cf8d4c5cfbefe18554e3d9c6e5","author":{"name":"Junio C Hamano","email":"3228067b6039a0d99bddaf967dafdecd5cc61600@pobox.com"},"message":"Merge branch 'jk/nofollow-attr-ignore' into jch\n\nAs we do not follow symbolic links when reading control files like\n.gitignore and .gitattributes from the index, match the behaviour\nand not follow symbolic links when reading them from the working\ntree.  This also tightens security a bit by not leaking contents of\nan unrelated file in the error messages when it is pointed at by\none of these files that is a symbolic link.\n\nPerhaps we want to cover .gitmodules too with the same mechanism?\n\n* jk/nofollow-attr-ignore:\n  exclude: do not respect symlinks for in-tree .gitignore\n  attr: do not respect symlinks for in-tree .gitattributes\n  exclude: convert \"check_index\" into a flags field\n  attr: convert \"macro_ok\" into a flags field\n  add open_nofollow() helper","distinct":false,"url":"https://api.github.com/repos/gitster/git/commits/1ce4788843d747cf8d4c5cfbefe18554e3d9c6e5"},{"sha":"ed4cd0307bdb424f90ef12bb3597fe0223f26824","author":{"name":"Junio C Hamano","email":"3228067b6039a0d99bddaf967dafdecd5cc61600@pobox.com"},"message":"Merge branch 'kn/ref-filter-branch-list' into jch\n\nThe code to list branches in \"git branch\" has been consolidated\nwith the more generic ref-filter API.\n\nWhat's the doneness of the topic?  I recall discussing die vs empty\nand also saw a \"squash this in when you reroll\", but I lost track.\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 an 'rstrip=<N>' option to atoms which deal with refnames\n  ref-filter: modify the 'lstrip=<N>' option to work with negative '<N>'\n  ref-filter: rename the 'strip' option to 'lstrip'\n  ref-filter: make remote_ref_atom_parser() use refname_atom_parser_internal()\n  ref-filter: introduce 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\n  for-each-ref: do not segv with %(HEAD) on an unborn branch","distinct":false,"url":"https://api.github.com/repos/gitster/git/commits/ed4cd0307bdb424f90ef12bb3597fe0223f26824"},{"sha":"83dce0f7bc5f5f0deca903ad06a1dea35b56a199","author":{"name":"Junio C Hamano","email":"3228067b6039a0d99bddaf967dafdecd5cc61600@pobox.com"},"message":"Merge branch 'jc/pull-rebase-ff' into jch\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":false,"url":"https://api.github.com/repos/gitster/git/commits/83dce0f7bc5f5f0deca903ad06a1dea35b56a199"},{"sha":"4364a814ec120e194c9cc4d3c93e401b37135e96","author":{"name":"Brandon Williams","email":"0bba27b6e746038cce1b8ffca137bc89fbdd7a14@google.com"},"message":"lib-proto-disable: variable name fix\n\nThe test_proto function assigns the positional parameters to named\nvariables, but then still refers to \"$desc\" as \"$1\". Using $desc is\nmore readable and less error-prone.\n\nSigned-off-by: Brandon Williams <bmwill@google.com>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":false,"url":"https://api.github.com/repos/gitster/git/commits/4364a814ec120e194c9cc4d3c93e401b37135e96"},{"sha":"e6ee1796a9cea3fdef5813a9a67beff9061814e0","author":{"name":"Brandon Williams","email":"0bba27b6e746038cce1b8ffca137bc89fbdd7a14@google.com"},"message":"transport: add protocol policy config option\n\nPreviously the `GIT_ALLOW_PROTOCOL` environment variable was used to\nspecify a whitelist of protocols to be used in clone/fetch/push\ncommands.  This patch introduces new configuration options for more\nfine-grained control for allowing/disallowing protocols.  This also has\nthe added benefit of allowing easier construction of a protocol\nwhitelist on systems where setting an environment variable is\nnon-trivial.\n\nNow users can specify a policy to be used for each type of protocol via\nthe 'protocol.<name>.allow' config option.  A default policy for all\nunconfigured protocols can be set with the 'protocol.allow' config\noption.  If no user configured default is made git will allow known-safe\nprotocols (http, https, git, ssh, file), disallow known-dangerous\nprotocols (ext), and have a default policy of `user` for all other\nprotocols.\n\nThe supported policies are `always`, `never`, and `user`.  The `user`\npolicy can be used to configure a protocol to be usable when explicitly\nused by a user, while disallowing it for commands which run\nclone/fetch/push commands without direct user intervention (e.g.\nrecursive initialization of submodules).  Commands which can potentially\nclone/fetch/push from untrusted repositories without user intervention\ncan export `GIT_PROTOCOL_FROM_USER` with a value of '0' to prevent\nprotocols configured to the `user` policy from being used.\n\nFix remote-ext tests to use the new config to allow the ext\nprotocol to be tested.\n\nBased on a patch by Jeff King <peff@peff.net>\n\nSigned-off-by: Brandon Williams <bmwill@google.com>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":false,"url":"https://api.github.com/repos/gitster/git/commits/e6ee1796a9cea3fdef5813a9a67beff9061814e0"}]}
{"actor":{"display_login":"gitster"}}