{"push_id":2348954357,"size":94,"distinct_size":15,"ref":"refs/heads/pu","head":"b7b4dcdeea12a3c2ab2e117a26e5c32f608cd92b","before":"636a23463db688e78dc7f7fd77a656f34b47e0e8","commits":[{"sha":"96e8c87096a5fe0e5b9cd1f4e7c56c83e7d0d160","author":{"name":"Derrick Stolee","email":"141ce361c1e16bf7a490a3aec876af9b3b8b3988@gmail.com"},"message":"commit-graph: add format document\n\nAdd document specifying the binary format for commit graphs. This\nformat allows for:\n\n* New versions.\n* New hash functions and hash lengths.\n* Optional extensions.\n\nBasic header information is followed by a binary table of contents\ninto \"chunks\" that include:\n\n* An ordered list of commit object IDs.\n* A 256-entry fanout into that list of OIDs.\n* A list of metadata for the commits.\n* A list of \"large edges\" to enable octopus merges.\n\nThe format automatically includes two parent positions for every\ncommit. This favors speed over space, since using only one position\nper commit would cause an extra level of indirection for every merge\ncommit. (Octopus merges suffer from this indirection, but they are\nvery rare.)\n\nSigned-off-by: Derrick Stolee <dstolee@microsoft.com>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":false,"url":"https://api.github.com/repos/gitster/git/commits/96e8c87096a5fe0e5b9cd1f4e7c56c83e7d0d160"},{"sha":"7a5aadb7064aea87f3e9f185946a9779092c45f9","author":{"name":"Derrick Stolee","email":"141ce361c1e16bf7a490a3aec876af9b3b8b3988@gmail.com"},"message":"graph: add commit graph design document\n\nAdd Documentation/technical/commit-graph.txt with details of the planned\ncommit graph feature, including future plans.\n\nSigned-off-by: Derrick Stolee <dstolee@microsoft.com>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":false,"url":"https://api.github.com/repos/gitster/git/commits/7a5aadb7064aea87f3e9f185946a9779092c45f9"},{"sha":"a34896751e1fce782b139f11523ed725da0601cd","author":{"name":"Derrick Stolee","email":"141ce361c1e16bf7a490a3aec876af9b3b8b3988@gmail.com"},"message":"commit-graph: create git-commit-graph builtin\n\nTeach git the 'commit-graph' builtin that will be used for writing and\nreading packed graph files. The current implementation is mostly\nempty, except for an '--object-dir' option.\n\nSigned-off-by: Derrick Stolee <dstolee@microsoft.com>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":false,"url":"https://api.github.com/repos/gitster/git/commits/a34896751e1fce782b139f11523ed725da0601cd"},{"sha":"5deed5a2b05fc0f9e037eaf2493087b2a26a172e","author":{"name":"Derrick Stolee","email":"141ce361c1e16bf7a490a3aec876af9b3b8b3988@gmail.com"},"message":"commit-graph: implement write_commit_graph()\n\nTeach Git to write a commit graph file by checking all packed objects\nto see if they are commits, then store the file in the given object\ndirectory.\n\nSigned-off-by: Derrick Stolee <dstolee@microsoft.com>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":false,"url":"https://api.github.com/repos/gitster/git/commits/5deed5a2b05fc0f9e037eaf2493087b2a26a172e"},{"sha":"6e7047369e61b42c8660fb80c5af1aa2960a9690","author":{"name":"Derrick Stolee","email":"141ce361c1e16bf7a490a3aec876af9b3b8b3988@gmail.com"},"message":"commit-graph: implement 'git-commit-graph write'\n\nTeach git-commit-graph to write graph files. Create new test script to verify\nthis command succeeds without failure.\n\nSigned-off-by: Derrick Stolee <dstolee@microsoft.com>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":false,"url":"https://api.github.com/repos/gitster/git/commits/6e7047369e61b42c8660fb80c5af1aa2960a9690"},{"sha":"b534f9e961fa262065b6f573e7ff45c6a0f63d1f","author":{"name":"Derrick Stolee","email":"141ce361c1e16bf7a490a3aec876af9b3b8b3988@gmail.com"},"message":"commit-graph: implement git commit-graph read\n\nTeach git-commit-graph to read commit graph files and summarize their contents.\n\nUse the read subcommand to verify the contents of a commit graph file in the\ntests.\n\nSigned-off-by: Derrick Stolee <dstolee@microsoft.com>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":false,"url":"https://api.github.com/repos/gitster/git/commits/b534f9e961fa262065b6f573e7ff45c6a0f63d1f"},{"sha":"0fd2d95ee68a8248c3df101e26127cd4707813ca","author":{"name":"Derrick Stolee","email":"141ce361c1e16bf7a490a3aec876af9b3b8b3988@gmail.com"},"message":"commit-graph: implement --set-latest\n\nIt is possible to have multiple commit graph files in a directory, but\nonly one is important at a time.\n\nUse a 'graph-latest' file to point to the important file. Teach\ngit-commit-graph to write 'graph-latest' when given the \"--set-latest\"\noption. Using this 'graph-latest' file is more robust than relying on\ndirectory scanning and modified times.\n\nSigned-off-by: Derrick Stolee <dstolee@microsoft.com>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":false,"url":"https://api.github.com/repos/gitster/git/commits/0fd2d95ee68a8248c3df101e26127cd4707813ca"},{"sha":"a33b9b79ff395de517241db5fb9559cafb2bd14b","author":{"name":"Derrick Stolee","email":"141ce361c1e16bf7a490a3aec876af9b3b8b3988@gmail.com"},"message":"commit-graph: implement --delete-expired\n\nTeach git-commit-graph to delete the .graph files that are siblings of a\nnewly-written graph file, except for the file referenced by 'graph-latest'\nat the beginning of the process and the newly-written file. If we fail to\ndelete a graph file, only report a warning because another git process may\nbe using that file. In a multi-process environment, we expect the previoius\ngraph file to be used by a concurrent process, so we do not delete it to\navoid race conditions.\n\nSigned-off-by: Derrick Stolee <dstolee@microsoft.com>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":false,"url":"https://api.github.com/repos/gitster/git/commits/a33b9b79ff395de517241db5fb9559cafb2bd14b"},{"sha":"32148ede13516c9047c8472ef8a960a218137a78","author":{"name":"Derrick Stolee","email":"141ce361c1e16bf7a490a3aec876af9b3b8b3988@gmail.com"},"message":"commit-graph: add core.commitGraph setting\n\nThe commit graph feature is controlled by the new core.commitGraph config\nsetting. This defaults to 0, so the feature is opt-in.\n\nThe intention of core.commitGraph is that a user can always stop checking\nfor or parsing commit graph files if core.commitGraph=0.\n\nSigned-off-by: Derrick Stolee <dstolee@microsoft.com>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":false,"url":"https://api.github.com/repos/gitster/git/commits/32148ede13516c9047c8472ef8a960a218137a78"},{"sha":"3c1bc48c3acbc8d65156f432966ee83961e11bf9","author":{"name":"Derrick Stolee","email":"141ce361c1e16bf7a490a3aec876af9b3b8b3988@gmail.com"},"message":"commit-graph: close under reachability\n\nTeach write_commit_graph() to walk all parents from the commits\ndiscovered in packfiles. This prevents gaps given by loose objects or\npreviously-missed packfiles.\n\nAlso automatically add commits from the existing graph file, if it\nexists.\n\nSigned-off-by: Derrick Stolee <dstolee@microsoft.com>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":false,"url":"https://api.github.com/repos/gitster/git/commits/3c1bc48c3acbc8d65156f432966ee83961e11bf9"},{"sha":"c61641292e0886e0d8516efebc352f8c61f7c8c3","author":{"name":"Derrick Stolee","email":"141ce361c1e16bf7a490a3aec876af9b3b8b3988@gmail.com"},"message":"commit: integrate commit graph with commit parsing\n\nTeach Git to inspect a commit graph file to supply the contents of a\nstruct commit when calling parse_commit_gently(). This implementation\nsatisfies all post-conditions on the struct commit, including loading\nparents, the root tree, and the commit date. The only loosely-expected\ncondition is that the commit buffer is loaded into the cache. This\nwas checked in log-tree.c:show_log(), but the \"return;\" on failure\nproduced unexpected results (i.e. the message line was never terminated).\nThe new behavior of loading the buffer when needed prevents the\nunexpected behavior.\n\nIf core.commitGraph is false, then do not check graph files.\n\nIn test script t5318-commit-graph.sh, add output-matching conditions on\nread-only graph operations.\n\nBy loading commits from the graph instead of parsing commit buffers, we\nsave a lot of time on long commit walks. Here are some performance\nresults for a copy of the Linux repository where 'master' has 704,766\nreachable commits and is behind 'origin/master' by 19,610 commits.\n\n| Command                          | Before | After  | Rel % |\n|----------------------------------|--------|--------|-------|\n| log --oneline --topo-order -1000 |  5.9s  |  0.7s  | -88%  |\n| branch -vv                       |  0.42s |  0.27s | -35%  |\n| rev-list --all                   |  6.4s  |  1.0s  | -84%  |\n| rev-list --all --objects         | 32.6s  | 27.6s  | -15%  |\n\nSigned-off-by: Derrick Stolee <dstolee@microsoft.com>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":false,"url":"https://api.github.com/repos/gitster/git/commits/c61641292e0886e0d8516efebc352f8c61f7c8c3"},{"sha":"758c86cbbb82d2a04a3e4e611cd67ef284241518","author":{"name":"Derrick Stolee","email":"141ce361c1e16bf7a490a3aec876af9b3b8b3988@gmail.com"},"message":"commit-graph: read only from specific pack-indexes\n\nTeach git-commit-graph to inspect the objects only in a certain list\nof pack-indexes within the given pack directory. This allows updating\nthe commit graph iteratively, since we add all commits stored in a\nprevious commit graph.\n\nSigned-off-by: Derrick Stolee <dstolee@microsoft.com>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":false,"url":"https://api.github.com/repos/gitster/git/commits/758c86cbbb82d2a04a3e4e611cd67ef284241518"},{"sha":"d5d591ed9a9be2b4bf5b77e87d16f60a83c817c2","author":{"name":"Derrick Stolee","email":"141ce361c1e16bf7a490a3aec876af9b3b8b3988@gmail.com"},"message":"commit-graph: build graph from starting commits\n\nTeach git-commit-graph to read commits from stdin when the\n--stdin-commits flag is specified. Commits reachable from these\ncommits are added to the graph. This is a much faster way to construct\nthe graph than inspecting all packed objects, but is restricted to\nknown tips.\n\nFor the Linux repository, 700,000+ commits were added to the graph\nfile starting from 'master' in 7-9 seconds, depending on the number\nof packfiles in the repo (1, 24, or 120). If a commit graph file\nalready exists (and core.commitGraph=true), then this operation takes\nonly 1.8 seconds due to less time spent parsing commits.\n\nSigned-off-by: Derrick Stolee <dstolee@microsoft.com>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":false,"url":"https://api.github.com/repos/gitster/git/commits/d5d591ed9a9be2b4bf5b77e87d16f60a83c817c2"},{"sha":"2bbc6e8a92e5bfe4f1db3836d7106aa0e9df9479","author":{"name":"Olga Telezhnaya","email":"908945689f623ea2ffc1b05b9047341aeb7fc725@gmail.com"},"message":"ref-filter: get rid of duplicate code\n\nMake one function from 2 duplicate pieces and invoke it twice.\n\nSigned-off-by: Olga Telezhnaia <olyatelezhnaya@gmail.com>\nMentored-by: Christian Couder <christian.couder@gmail.com>\nMentored 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/2bbc6e8a92e5bfe4f1db3836d7106aa0e9df9479"},{"sha":"edfb8ba06822375b08796b7b4354a94d98b05d13","author":{"name":"Olga Telezhnaya","email":"908945689f623ea2ffc1b05b9047341aeb7fc725@gmail.com"},"message":"ref-filter: get rid of goto\n\nGet rid of goto command in ref-filter for better readability.\n\nSigned-off-by: Olga Telezhnaia <olyatelezhnaya@gmail.com>\nMentored-by: Christian Couder <christian.couder@gmail.com>\nMentored 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/edfb8ba06822375b08796b7b4354a94d98b05d13"},{"sha":"d88e92d4e05ee147faa1ac8d4f68a74503e2cc67","author":{"name":"Brandon Williams","email":"0bba27b6e746038cce1b8ffca137bc89fbdd7a14@google.com"},"message":"submodule: indicate that 'submodule.recurse' doesn't apply to clone\n\nUpdate the documentation for the 'submodule.recurse' config to identify\nthat the clone command does not respect it.\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/d88e92d4e05ee147faa1ac8d4f68a74503e2cc67"},{"sha":"e469e9c5c6919a2325db8bbef2d7f7d3640df524","author":{"name":"Junio C Hamano","email":"3228067b6039a0d99bddaf967dafdecd5cc61600@pobox.com"},"message":"Merge branch 'nd/format-patch-stat-width'\n\n\"git format-patch\" learned to give 72-cols to diffstat, which is\nconsistent with other line length limits the subcommand uses for\nits output meant for e-mails.\n\n* nd/format-patch-stat-width:\n  format-patch: reduce patch diffstat width to 72\n  format-patch: keep cover-letter diffstat wrapped in 72 columns","distinct":false,"url":"https://api.github.com/repos/gitster/git/commits/e469e9c5c6919a2325db8bbef2d7f7d3640df524"},{"sha":"c2bd43d66dab958d72bee58d319df55600158f2e","author":{"name":"Junio C Hamano","email":"3228067b6039a0d99bddaf967dafdecd5cc61600@pobox.com"},"message":"Merge branch 'lw/daemon-log-destination'\n\nThe log from \"git daemon\" can be redirected with a new option; one\nrelevant use case is to send the log to standard error (instead of\nsyslog) when running it from inetd.\n\n* lw/daemon-log-destination:\n  daemon: add --log-destination=(stderr|syslog|none)","distinct":false,"url":"https://api.github.com/repos/gitster/git/commits/c2bd43d66dab958d72bee58d319df55600158f2e"},{"sha":"2f6128daab0764c3915dcc9e01c27381b63f5e40","author":{"name":"Junio C Hamano","email":"3228067b6039a0d99bddaf967dafdecd5cc61600@pobox.com"},"message":"Merge branch 'gs/rebase-allow-empty-message'\n\n\"git rebase\" learned to take \"--allow-empty-message\" option.\n\n* gs/rebase-allow-empty-message:\n  rebase: add --allow-empty-message option","distinct":false,"url":"https://api.github.com/repos/gitster/git/commits/2f6128daab0764c3915dcc9e01c27381b63f5e40"},{"sha":"66023bbd78fe93c4704b3df754f9f7dc619ebaad","author":{"name":"Junio C Hamano","email":"3228067b6039a0d99bddaf967dafdecd5cc61600@pobox.com"},"message":"Merge branch 'sg/test-i18ngrep'\n\nTest fixes.\n\n* sg/test-i18ngrep:\n  t: make 'test_i18ngrep' more informative on failure\n  t: validate 'test_i18ngrep's parameters\n  t: move 'test_i18ncmp' and 'test_i18ngrep' to 'test-lib-functions.sh'\n  t5536: let 'test_i18ngrep' read the file without redirection\n  t5510: consolidate 'grep' and 'test_i18ngrep' patterns\n  t4001: don't run 'git status' upstream of a pipe\n  t6022: don't run 'git merge' upstream of a pipe\n  t5812: add 'test_i18ngrep's missing filename parameter\n  t5541: add 'test_i18ngrep's missing filename parameter","distinct":false,"url":"https://api.github.com/repos/gitster/git/commits/66023bbd78fe93c4704b3df754f9f7dc619ebaad"}]}
{"actor":{"display_login":"gitster"}}