{"push_id":1268312687,"size":34,"distinct_size":19,"ref":"refs/heads/jk/metapacks-wip","head":"ba6731f5a36bc721b86038da96938d94bd624ea0","before":"f0a61ba8485982f8733b8825e383dee44f2abb5d","commits":[{"sha":"175d38ca231d0dd9cca3bbebae40f797346a850d","author":{"name":"Heiko Voigt","email":"67d4d701b1a80a67eac90488828391f1e67a9045@hvoigt.net"},"message":"SubmittingPatches: document how to reference previous commits\n\nTo reference previous commits people used to put just the\nabbreviated SHA-1 into commit messages.  This is what has evolved as\na more stable format for referencing commits.  So lets document it\nfor everyone to look-up when needed.\n\nSigned-off-by: Heiko Voigt <hvoigt@hvoigt.net>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":false,"url":"https://api.github.com/repos/peff/git/commits/175d38ca231d0dd9cca3bbebae40f797346a850d"},{"sha":"ad65f7e3b71aac841d771cd75392747d6945cc3c","author":{"name":"Ben Wijen","email":"9c85637c38b80821c7bd8a03bde7b59da81ab77d@wijen.net"},"message":"t6026-merge-attr: child processes must not inherit index.lock handles\n\nOn Windows, a file cannot be removed unless all file handles to it have\nbeen released. Hence it is particularly important to close handles when\nspawning children (which would probably not even know that they hold on\nto those handles).\n\nThe example chosen for this test is a custom merge driver that indeed\nhas no idea that it blocks the deletion of index.lock. The full use case\nis a daemon that lives on after the merge, with subsequent invocations\nhanding off to the daemon, thereby avoiding hefty start-up costs. We\nsimulate this behavior by simply sleeping one second.\n\nNote that the test only fails on Windows, due to the file locking issue.\nSince we have no way to say \"expect failure with MINGW, success\notherwise\", we simply skip this test on Windows for now.\n\nSigned-off-by: Ben Wijen <ben@wijen.net>\nSigned-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":false,"url":"https://api.github.com/repos/peff/git/commits/ad65f7e3b71aac841d771cd75392747d6945cc3c"},{"sha":"6db5967d4e6640c5a3ee3cde151c5fdde5ab508f","author":{"name":"Johannes Schindelin","email":"c714eff280a95c3e5bbcc9303c4499eebb0d49aa@gmx.de"},"message":"Revert \"display HTML in default browser using Windows' shell API\"\n\nSince 4804aab (help (Windows): Display HTML in default browser using\nWindows' shell API, 2008-07-13), Git for Windows used to call\n`ShellExecute()` to launch the default Windows handler for `.html`\nfiles.\n\nThe idea was to avoid going through a shell script, for performance\nreasons.\n\nHowever, this change ignores the `help.browser` config setting. Together\nwith browsing help not being a performance-critical operation, let's\njust revert that patch.\n\nSigned-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":false,"url":"https://api.github.com/repos/peff/git/commits/6db5967d4e6640c5a3ee3cde151c5fdde5ab508f"},{"sha":"05d1ed6148305d299693000856e4971e9f642662","author":{"name":"Ben Wijen","email":"9c85637c38b80821c7bd8a03bde7b59da81ab77d@wijen.net"},"message":"mingw: ensure temporary file handles are not inherited by child processes\n\nWhen the index is locked and child processes inherit the handle to\nsaid lock and the parent process wants to remove the lock before the\nchild process exits, on Windows there is a problem: it won't work\nbecause files cannot be deleted if a process holds a handle on them.\nThe symptom:\n\n    Rename from 'xxx/.git/index.lock' to 'xxx/.git/index' failed.\n    Should I try again? (y/n)\n\nSpawning child processes with bInheritHandles==FALSE would not work\nbecause no file handles would be inherited, not even the hStdXxx\nhandles in STARTUPINFO (stdin/stdout/stderr).\n\nOpening every file with O_NOINHERIT does not work, either, as e.g.\ngit-upload-pack expects inherited file handles.\n\nThis leaves us with the only way out: creating temp files with the\nO_NOINHERIT flag. This flag is Windows-specific, however. For our\npurposes, it is equivalent to O_CLOEXEC (which does not exist on\nWindows), so let's just open temporary files with the O_CLOEXEC flag and\nmap that flag to O_NOINHERIT on Windows.\n\nAs Eric Wong pointed out, we need to be careful to handle the case where\nthe Linux headers used to compile Git support O_CLOEXEC but the Linux\nkernel used to run Git does not: it returns an EINVAL.\n\nThis fixes the test that we just introduced to demonstrate the problem.\n\nSigned-off-by: Ben Wijen <ben@wijen.net>\nSigned-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":false,"url":"https://api.github.com/repos/peff/git/commits/05d1ed6148305d299693000856e4971e9f642662"},{"sha":"ae1f7094f7a68fcff3d07358d83f5f483f0c300c","author":{"name":"David Glasser","email":"956bbfe81f5fbfd684fb2659e27473bf0b9cbc8d@davidglasser.net"},"message":"doc: mention `git -c` in git-config(1)\n\nSigned-off-by: David Glasser <glasser@davidglasser.net>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":false,"url":"https://api.github.com/repos/peff/git/commits/ae1f7094f7a68fcff3d07358d83f5f483f0c300c"},{"sha":"cd3e4677cffbe1609c2484d6aa328ad9208e8171","author":{"name":"Jean-Noel Avila","email":"f80e7be09bd12895c0990e2fe0c9cde5f849e4fa@free.fr"},"message":"i18n: fix typos for translation\n\nSigned-off-by: Jean-Noel Avila <jn.avila@free.fr>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":false,"url":"https://api.github.com/repos/peff/git/commits/cd3e4677cffbe1609c2484d6aa328ad9208e8171"},{"sha":"8aa6dc1d9e680448d53558ba2a1774481b30711a","author":{"name":"Jean-Noel Avila","email":"f80e7be09bd12895c0990e2fe0c9cde5f849e4fa@free.fr"},"message":"i18n: fix git rebase interactive commit messages\n\nFor proper i18n, the logic cannot embed english specific processing.\n\nSigned-off-by: Jean-Noel Avila <jn.avila@free.fr>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":false,"url":"https://api.github.com/repos/peff/git/commits/8aa6dc1d9e680448d53558ba2a1774481b30711a"},{"sha":"078fe30523f6361849a895999c04cf5f377a1656","author":{"name":"Jean-Noel Avila","email":"f80e7be09bd12895c0990e2fe0c9cde5f849e4fa@free.fr"},"message":"i18n: simplify numeric error reporting\n\nSigned-off-by: Jean-Noel Avila <jn.avila@free.fr>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":false,"url":"https://api.github.com/repos/peff/git/commits/078fe30523f6361849a895999c04cf5f377a1656"},{"sha":"41a616dadaf2a7445ea7c3f5d77a20337af4de90","author":{"name":"Torsten Bögershausen","email":"9559ce48e4762b5fa02d7a6580d22052c7d5f404@web.de"},"message":"git ls-files: text=auto eol=lf is supported in Git 2.10\n\nThe man page for `git ls-files --eol` mentions the combination\nof text attributes \"text=auto eol=lf\" or \"text=auto eol=crlf\" as not\nsupported yet, but may be in the future.\n\nNow they are supported.\n\nSigned-off-by: Torsten Bögershausen <tboegi@web.de>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":false,"url":"https://api.github.com/repos/peff/git/commits/41a616dadaf2a7445ea7c3f5d77a20337af4de90"},{"sha":"a1f0b4e286a81898b70628c5df85bebec653deab","author":{"name":"Junio C Hamano","email":"3228067b6039a0d99bddaf967dafdecd5cc61600@pobox.com"},"message":"Merge branch 'hv/doc-commit-reference-style'\n\nA small doc update.\n\n* hv/doc-commit-reference-style:\n  SubmittingPatches: document how to reference previous commits","distinct":false,"url":"https://api.github.com/repos/peff/git/commits/a1f0b4e286a81898b70628c5df85bebec653deab"},{"sha":"13e11ff707b18599dc94c25885b33b0c514b1c17","author":{"name":"Junio C Hamano","email":"3228067b6039a0d99bddaf967dafdecd5cc61600@pobox.com"},"message":"Merge branch 'js/no-html-bypass-on-windows'\n\nOn Windows, help.browser configuration variable used to be ignored,\nwhich has been corrected.\n\n* js/no-html-bypass-on-windows:\n  Revert \"display HTML in default browser using Windows' shell API\"","distinct":false,"url":"https://api.github.com/repos/peff/git/commits/13e11ff707b18599dc94c25885b33b0c514b1c17"},{"sha":"a8998453bebd7a4d620c78773917f1189ff4e672","author":{"name":"Junio C Hamano","email":"3228067b6039a0d99bddaf967dafdecd5cc61600@pobox.com"},"message":"Merge branch 'dg/document-git-c-in-git-config-doc'\n\nThe \"git -c var[=val] cmd\" facility to append a configuration\nvariable definition at the end of the search order was described in\ngit(1) manual page, but not in git-config(1), which was more likely\nplace for people to look for when they ask \"can I make a one-shot\noverride, and if so how?\"\n\n* dg/document-git-c-in-git-config-doc:\n  doc: mention `git -c` in git-config(1)","distinct":false,"url":"https://api.github.com/repos/peff/git/commits/a8998453bebd7a4d620c78773917f1189ff4e672"},{"sha":"3dc01702dfbdbfc7116a21c4a5b32f088029bacf","author":{"name":"Junio C Hamano","email":"3228067b6039a0d99bddaf967dafdecd5cc61600@pobox.com"},"message":"Merge branch 'bw/mingw-avoid-inheriting-fd-to-lockfile'\n\nThe tempfile (hence its user lockfile) API lets the caller to open\na file descriptor to a temporary file, write into it and then\nfinalize it by first closing the filehandle and then either\nremoving or renaming the temporary file.  When the process spawns a\nsubprocess after obtaining the file descriptor, and if the\nsubprocess has not exited when the attempt to remove or rename is\nmade, the last step fails on Windows, because the subprocess has\nthe file descriptor still open.  Open tempfile with O_CLOEXEC flag\nto avoid this (on Windows, this is mapped to O_NOINHERIT).\n\n* bw/mingw-avoid-inheriting-fd-to-lockfile:\n  mingw: ensure temporary file handles are not inherited by child processes\n  t6026-merge-attr: child processes must not inherit index.lock handles","distinct":false,"url":"https://api.github.com/repos/peff/git/commits/3dc01702dfbdbfc7116a21c4a5b32f088029bacf"},{"sha":"0fd6c99bdf72ac0c03bf4806f7540d580794215e","author":{"name":"Junio C Hamano","email":"3228067b6039a0d99bddaf967dafdecd5cc61600@pobox.com"},"message":"Merge branch 'ja/i18n'\n\nThe recent i18n patch we added during this cycle did a bit too much\nrefactoring of the messages to avoid word-legos; the repetition has\nbeen reduced to help translators.\n\n* ja/i18n:\n  i18n: simplify numeric error reporting\n  i18n: fix git rebase interactive commit messages\n  i18n: fix typos for translation","distinct":false,"url":"https://api.github.com/repos/peff/git/commits/0fd6c99bdf72ac0c03bf4806f7540d580794215e"},{"sha":"5cb0d5ad05e027cbddcb0a3c7518ddeea0f7c286","author":{"name":"Junio C Hamano","email":"3228067b6039a0d99bddaf967dafdecd5cc61600@pobox.com"},"message":"Prepare for 2.10.0-rc2\n\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":false,"url":"https://api.github.com/repos/peff/git/commits/5cb0d5ad05e027cbddcb0a3c7518ddeea0f7c286"},{"sha":"d79c04a74ed381a476b4a40846178fb531cf534d","author":{"name":"Jeff King","email":"7e57302763bea699aee296fb53304dc616ab92d5@peff.net"},"message":"introduce pack metadata cache files\n\nThe on-disk packfile format is nicely compact, but it does\nnot always provide the fastest format for looking up\ninformation. This patch introduces the concept of\n\"metapacks\", optional metadata files which can live\nalongside packs and represent their data in different ways.\nThis can allow space-time tradeoffs in accessing certain\nobject data.\n\nSuch space-time tradeoffs have traditionally gone into the\n.idx file (e.g., the fact that we can quickly find an\nobject's offset in the packfile is due to the index). In\ntheory, cached data could also go into the .idx file.\nHowever, keeping it in a separate file makes backwards\ncompatibility much simpler. Older versions of git can simply\nignore the extra files and use the existing methods for\naccessing object data. This also makes metapacks optional,\nso you can easily tune the space-time tradeoff on a per-repo\nbasis.\n\nTODO: document on-disk format in Documentation/technical\nTODO: document api","distinct":true,"url":"https://api.github.com/repos/peff/git/commits/d79c04a74ed381a476b4a40846178fb531cf534d"},{"sha":"ff7eb5f979b05107aba4831197c566cdfad7605b","author":{"name":"Jeff King","email":"7e57302763bea699aee296fb53304dc616ab92d5@peff.net"},"message":"introduce a commit metapack\n\nWhen we are doing a commit traversal that does not need to\nlook at the commit messages themselves (e.g., rev-list,\nmerge-base, etc), we spend a lot of time accessing,\ndecompressing, and parsing the commit objects just to find\nthe parent and timestamp information. We can make a\nspace-time tradeoff by caching that information on disk in a\ncompact, uncompressed format.\n\nTODO: document on-disk format in Documentation/technical\nTODO: document API","distinct":true,"url":"https://api.github.com/repos/peff/git/commits/ff7eb5f979b05107aba4831197c566cdfad7605b"},{"sha":"778c7aedc4ec007192a3d42d79c4fe45f3cbdb6a","author":{"name":"Jeff King","email":"7e57302763bea699aee296fb53304dc616ab92d5@peff.net"},"message":"add git-metapack command\n\nThis is a plumbing command for generating metapack files.\nRight now it understands only the \"commits\" metapack (and\nthere is not yet a reader). Eventually we may want to build\nthis metapack automatically when we generate a new pack.\nLet's be conservative for now, though, and let the idea\nprove itself in practice before turning it on for everyone.\n\nThe commits metapack generated by this command is 84 bytes\nper commit; for linux-2.6.git, this is about 31M.\n\nTODO: documentation","distinct":true,"url":"https://api.github.com/repos/peff/git/commits/778c7aedc4ec007192a3d42d79c4fe45f3cbdb6a"},{"sha":"08613aea570969fbd9b0400d64dc40644511b419","author":{"name":"Jeff King","email":"7e57302763bea699aee296fb53304dc616ab92d5@peff.net"},"message":"commit: look up commit info in metapack\n\nNow that we have the plumbing in place to generate and read\ncommit metapacks, we can hook them up to parse_commit to\nfill in the traversal information much more quickly.\n\nWe only do so if save_commit_buffer is turned off;\notherwise, the callers will expect to be able to read\ncommit->buffer after parse_commit returns (and since our\ncache obviously does not have that information, we must\nleave it NULL). As callers learn to handle a NULL\ncommit->buffer, we can eventually relax this (while it might\nseem like a useless no-op to use the cache if we are going\nto load the commit anyway, many callers may first filter\nbased on the traversal, and end up loading the commit\nmessage for only a subset of the commits).\n\nWith this patch (and having run \"git metapack --all\n--commits\"), my best-of-five warm-cache \"git rev-list\n--count --all\" traversal of linux-2.6.git drops from 4.219s\nto 0.659s.\n\nSimilarly, cold-cache drops from 13.696s to 4.763s due to\nthe compactness of the cache data (but you are penalized, of\ncourse, if you then want to actually look at the commit\nmessages, since you have not warmed them into the cache).","distinct":true,"url":"https://api.github.com/repos/peff/git/commits/08613aea570969fbd9b0400d64dc40644511b419"},{"sha":"f227df9c7a2fbb76dce2ca879126decee615a737","author":{"name":"Duy Nguyen","email":"d0e3b15a74ff6c70e81434a55b9c843230dc3715@gmail.com"},"message":"introduce a commit metapack","distinct":true,"url":"https://api.github.com/repos/peff/git/commits/f227df9c7a2fbb76dce2ca879126decee615a737"}]}
{"actor":{"display_login":"peff"}}