{"push_id":1143896289,"size":83,"distinct_size":69,"ref":"refs/heads/pu","head":"81f467eb0ef29d13dc0de8912a92b0bf548bd45f","before":"9822ba1ad7c990f2db2ac2e301efb30643ee40bf","commits":[{"sha":"5c9f9bf313e872934c9b4563b7b0bcdedb39eb86","author":{"name":"Jeff King","email":"7e57302763bea699aee296fb53304dc616ab92d5@peff.net"},"message":"rev-list: \"adjust\" results of \"--count --use-bitmap-index -n\"\n\nIf you ask rev-list for:\n\n    git rev-list --count --use-bitmap-index HEAD\n\nwe optimize out the actual traversal and just give you the\nnumber of bits set in the commit bitmap. This is faster,\nwhich is good.\n\nBut if you ask to limit the size of the traversal, like:\n\n    git rev-list --count --use-bitmap-index -n 100 HEAD\n\nwe'll still output the full bitmapped number we found. On\nthe surface, that might even seem OK. You explicitly asked\nto use the bitmap index, and it was cheap to compute the\nreal answer, so we gave it to you.\n\nBut there's something much more complicated going on under\nthe hood. If we don't have a bitmap directly for HEAD, then\nwe have to actually traverse backwards, looking for a\nbitmapped commit. And _that_ traversal is bounded by our\n`-n` count.\n\nThis is a good thing, because it bounds the work we have to\ndo, which is probably what the user wanted by asking for\n`-n`. But now it makes the output quite confusing. You might\nget many values:\n\n  - your `-n` value, if we walked back and never found a\n    bitmap (or fewer if there weren't that many commits)\n\n  - the actual full count, if we found a bitmap root for\n    every path of our traversal with in the `-n` limit\n\n  - any number in between! We might have walked back and\n    found _some_ bitmaps, but then cut off the traversal\n    early with some commits not accounted for in the result.\n\nSo you cannot even see a value higher than your `-n` and say\n\"OK, bitmaps kicked in, this must be the real full count\".\nThe only sane thing is for git to just clamp the value to a\nmaximum of the `-n` value, which means we should output the\nexact same results whether bitmaps are in use or not.\n\nThe test in t5310 demonstrates this by using `-n 1`.\nWithout this patch we fail in the full-bitmap case (where we\ndo not have to traverse at all) but _not_ in the\npartial-bitmap case (where we have to walk down to find an\nactual bitmap). With this patch, both cases just work.\n\nI didn't implement the crazy in-between case, just because\nit's complicated to set up, and is really a subset of the\nfull-count case, which we do cover.\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/sunny256/git/commits/5c9f9bf313e872934c9b4563b7b0bcdedb39eb86"},{"sha":"fb85db84dcc36dcc3cdd5fc744280334bbe8eb47","author":{"name":"Jeff King","email":"7e57302763bea699aee296fb53304dc616ab92d5@peff.net"},"message":"rev-list: disable bitmaps when \"-n\" is used with listing objects\n\nYou can ask rev-list to use bitmaps to speed up an --objects\ntraversal, which should generally give you your answers much\nfaster.\n\nLikewise, you can ask rev-list to limit such a traversal\nwith `-n`, in which case we'll show only a limited set of\ncommits (and only the tree and commit objects directly\nreachable from those commits).\n\nBut if you do both together, the results are nonsensical. We\nend up limiting any fallback traversal we do to _find_ the\nbitmaps, but the actual set of objects we output will be\npicked arbitrarily from the union of any bitmaps we do find,\nand will involve the objects of many more commits.\n\nIt's possible that somebody might want this as a \"show me\nwhat you can, but limit the amount of work you do\" flag.\nBut as with the prior commit clamping \"--count\", the results\nare basically non-deterministic; you'll get the values from\nsome commits between `n` and the total number, and you can't\ntell which.\n\nAnd unlike the `--count` case, we can't easily generate the\n\"real\" value from the bitmap values (you can't just walk\nback `-n` commits and subtract out the reachable objects\nfrom the boundary commits; the bitmaps for `X` record its\ntotal reachability, so you don't know which objects are\ndirectly from `X` itself, which from `X^`, and so on).\n\nSo let's just fallback to the non-bitmap code path in this\ncase, so we always give a sane answer.\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/sunny256/git/commits/fb85db84dcc36dcc3cdd5fc744280334bbe8eb47"},{"sha":"8f31fac365c312aa9109a7a1fc1014e56ed473d2","author":{"name":"Christian Couder","email":"475f42dff23d10f84a02258b6a7379ed1b780b83@gmail.com"},"message":"builtin/apply: add 'lock_file' pointer into 'struct apply_state'\n\nWe cannot have a 'struct lock_file' allocated on the stack, as lockfile.c\nkeeps a linked list of all created lock_file structures.\n\nAlso 'struct apply_state' users might later want the same 'struct lock_file'\ninstance to be reused by different series of calls to the apply api.\n\nSo let's add a 'struct lock_file *lock_file' pointer into 'struct apply_state'\nand have the user of 'struct apply_state' allocate memory for the actual\n'struct lock_file' instance.\n\nLet's also add an argument to init_apply_state(), so that the caller can\neasily supply a pointer to the allocated instance.\n\nHelped-by: Eric Sunshine <sunshine@sunshineco.com>\nSigned-off-by: Christian Couder <chriscool@tuxfamily.org>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":false,"url":"https://api.github.com/repos/sunny256/git/commits/8f31fac365c312aa9109a7a1fc1014e56ed473d2"},{"sha":"a1bc3dd46433c6e7e6f1ca5f3bd5429858a60078","author":{"name":"Christian Couder","email":"475f42dff23d10f84a02258b6a7379ed1b780b83@gmail.com"},"message":"builtin/apply: move 'newfd' global into 'struct apply_state'\n\nTo libify the apply functionality the 'newfd' variable should\nnot be static and global to the file. Let's move it into\n'struct apply_state'.\n\nSigned-off-by: Christian Couder <chriscool@tuxfamily.org>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":false,"url":"https://api.github.com/repos/sunny256/git/commits/a1bc3dd46433c6e7e6f1ca5f3bd5429858a60078"},{"sha":"ea3d9ae82fa4c1ff691192954e5a15df2a543975","author":{"name":"Junio C Hamano","email":"3228067b6039a0d99bddaf967dafdecd5cc61600@pobox.com"},"message":"attr.c: add push_stack() helper\n\nThere are too many repetitious \"I have this new attr_stack element;\npush it at the top of the stack\" sequence.  The new helper function\npush_stack() gives us a way to express what is going on at these\nplaces, and as a side effect, halves the number of times we mention\nthe attr_stack global variable.\n\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":true,"url":"https://api.github.com/repos/sunny256/git/commits/ea3d9ae82fa4c1ff691192954e5a15df2a543975"},{"sha":"48d93f7f42e2cde420e2c1d3963f8334f32d777c","author":{"name":"Junio C Hamano","email":"3228067b6039a0d99bddaf967dafdecd5cc61600@pobox.com"},"message":"attr.c: pass struct git_attr_check down the callchain\n\nThe callchain that starts from git_check_attrs() down to\ncollect_some_attrs() used to take an array of git_attr_check_elem\nas their parameters.  Pass the enclosing git_attr_check instance\ninstead, so that they will have access to new fields we will add to\nthe data structure.\n\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":true,"url":"https://api.github.com/repos/sunny256/git/commits/48d93f7f42e2cde420e2c1d3963f8334f32d777c"},{"sha":"dd1a234eeb36eb853982ff3fe57b7c6752dd55c6","author":{"name":"Stefan Beller","email":"75e5af3a5fc6e432c184f339c5c73c118a246be6@google.com"},"message":"pathspec: allow escaped query values\n\nIn our own .gitattributes file we have attributes such as:\n\n    *.[ch] whitespace=indent,trail,space\n\nWhen querying for attributes we want to be able to ask for the exact\nvalue, i.e.\n\n    git ls-files :(attr:whitespace=indent,trail,space)\n\nshould work, but the commas are used in the attr magic to introduce\nthe next attr, such that this query currently fails with\n\nfatal: Invalid pathspec magic 'trail' in ':(attr:whitespace=indent,trail,space)'\n\nThis change allows escaping characters by a backslash, such that the query\n\n    git ls-files :(attr:whitespace=indent\\,trail\\,space)\n\nwill match all path that have the value \"indent,trail,space\" for the\nwhitespace attribute. To accomplish this, we need to modify two places.\nFirst `eat_long_magic` needs to not stop early upon seeing a comma or\nclosing paren that is escaped. As a second step we need to remove any\nescaping from the attr value.\n\nHelped-by: Junio C Hamano <gitster@pobox.com>\nSigned-off-by: Stefan Beller <sbeller@google.com>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":false,"url":"https://api.github.com/repos/sunny256/git/commits/dd1a234eeb36eb853982ff3fe57b7c6752dd55c6"},{"sha":"d8e47e7d5c62e46c517cd56737f8fcb55ccf4c8f","author":{"name":"Junio C Hamano","email":"3228067b6039a0d99bddaf967dafdecd5cc61600@pobox.com"},"message":"pathspec: disable preload-index when attribute pathspec magic is in use\n\nThe recent addition of the pathspec magic that requires a path to\nhave certain attributes set is not yet compatible with the preload\nindex codepath (e.g. \"git status ':(attr:VAR=VAL)'\") because the\nattribute subsystem is not thread-ready.\n\nFor now, disable preload-index when such a pathspec magic is in use,\nuntil the attribute subsystem learns how to better cope with\nthreading, to ease the development of the parts of the system that\nwant to utilize the pathspec magic.\n\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":false,"url":"https://api.github.com/repos/sunny256/git/commits/d8e47e7d5c62e46c517cd56737f8fcb55ccf4c8f"},{"sha":"be3ac81f0c73252b7df34522e4886c4427eb43ae","author":{"name":"Junio C Hamano","email":"3228067b6039a0d99bddaf967dafdecd5cc61600@pobox.com"},"message":"Merge branch 'js/perf-rebase-i'\n\nThe one in 'master' has a brown-paper-bag bug that breaks the perf\ntest when used inside a usual Git repository with a working tree.\n\n* js/perf-rebase-i:\n  perf: make the tests work without a worktree","distinct":false,"url":"https://api.github.com/repos/sunny256/git/commits/be3ac81f0c73252b7df34522e4886c4427eb43ae"},{"sha":"7267404dc5a84e7a4c81a55eb3bf22e14bcc7d1c","author":{"name":"Junio C Hamano","email":"3228067b6039a0d99bddaf967dafdecd5cc61600@pobox.com"},"message":"Merge branch 'js/rebase-i-dedup-call-to-rerere'\n\n\"git rebase -i\", after it fails to auto-resolve the conflict, had\nan unnecessary call to \"git rerere\" from its very early days, which\nwas spotted recently; the call has been removed.\n\n* js/rebase-i-dedup-call-to-rerere:\n  rebase -i: remove an unnecessary 'rerere' invocation","distinct":false,"url":"https://api.github.com/repos/sunny256/git/commits/7267404dc5a84e7a4c81a55eb3bf22e14bcc7d1c"},{"sha":"160ef79cec9b3b910e9cf3158964402655b72262","author":{"name":"Junio C Hamano","email":"3228067b6039a0d99bddaf967dafdecd5cc61600@pobox.com"},"message":"Merge branch 'mr/send-email-doc-gmail-2fa'\n\nTypofix.\n\n* mr/send-email-doc-gmail-2fa:\n  Documentation/git-send-email: fix typo in gmail 2FA section","distinct":false,"url":"https://api.github.com/repos/sunny256/git/commits/160ef79cec9b3b910e9cf3158964402655b72262"},{"sha":"1df2d6e8dfb36aa82e33777b982a9f5cecffee9b","author":{"name":"Junio C Hamano","email":"3228067b6039a0d99bddaf967dafdecd5cc61600@pobox.com"},"message":"Merge branch 'pa/cherry-pick-doc-typo'\n\n\"git cherry-pick --help\" had three instances of word \"behavior\",\none of which was spelled \"behaviour\", which is updated to match the\nother two.\n\n* pa/cherry-pick-doc-typo:\n  git-cherry-pick.txt: correct a small typo","distinct":false,"url":"https://api.github.com/repos/sunny256/git/commits/1df2d6e8dfb36aa82e33777b982a9f5cecffee9b"},{"sha":"a8398b952d9d0cb43e0c41431b8326b65fd631fd","author":{"name":"Junio C Hamano","email":"3228067b6039a0d99bddaf967dafdecd5cc61600@pobox.com"},"message":"Merge branch 'em/man-bold-literal'\n\nThe manpage output of our documentation did not render well in\nterminal; typeset literals in bold by default to make them stand\nout more.\n\n* em/man-bold-literal:\n  Documentation: bold literals in man","distinct":false,"url":"https://api.github.com/repos/sunny256/git/commits/a8398b952d9d0cb43e0c41431b8326b65fd631fd"},{"sha":"ec5ad66ee28ba2eac3141b720d48485dc978faab","author":{"name":"Junio C Hamano","email":"3228067b6039a0d99bddaf967dafdecd5cc61600@pobox.com"},"message":"Merge branch 'mm/makefile-developer-can-be-in-config-mak'\n\n\"make DEVELOPER=1\" worked as expected; setting DEVELOPER=1 in\nconfig.mak didn't.\n\n* mm/makefile-developer-can-be-in-config-mak:\n  Makefile: add $(DEVELOPER_CFLAGS) variable\n  Makefile: move 'ifdef DEVELOPER' after config.mak* inclusion","distinct":false,"url":"https://api.github.com/repos/sunny256/git/commits/ec5ad66ee28ba2eac3141b720d48485dc978faab"},{"sha":"fb14575e10c0628af6219426736dec71b95bc1b0","author":{"name":"Junio C Hamano","email":"3228067b6039a0d99bddaf967dafdecd5cc61600@pobox.com"},"message":"Merge branch 'bd/readme.markdown-more'\n\nThe mark-up in the top-level README.md file has been updated to\ntypeset CLI command names differently from the body text.\n\n* bd/readme.markdown-more:\n  README.md: format CLI commands with code syntax","distinct":false,"url":"https://api.github.com/repos/sunny256/git/commits/fb14575e10c0628af6219426736dec71b95bc1b0"},{"sha":"29e54b019f55f48af3f0d4c62eede86058c16b52","author":{"name":"Junio C Hamano","email":"3228067b6039a0d99bddaf967dafdecd5cc61600@pobox.com"},"message":"Merge branch 'rs/patch-id-use-skip-prefix'\n\nCode clean-up.\n\n* rs/patch-id-use-skip-prefix:\n  patch-id: use starts_with() and skip_prefix()","distinct":false,"url":"https://api.github.com/repos/sunny256/git/commits/29e54b019f55f48af3f0d4c62eede86058c16b52"},{"sha":"bf523da2a2ed830686b72cd1fd51c51c808c6587","author":{"name":"Junio C Hamano","email":"3228067b6039a0d99bddaf967dafdecd5cc61600@pobox.com"},"message":"Merge branch 'rs/apply-name-terminate'\n\nCode clean-up.\n\n* rs/apply-name-terminate:\n  apply: remove unused parameters from name_terminate()","distinct":false,"url":"https://api.github.com/repos/sunny256/git/commits/bf523da2a2ed830686b72cd1fd51c51c808c6587"},{"sha":"6326f199252a1a5fbdea105473f8305d850cdd87","author":{"name":"Junio C Hamano","email":"3228067b6039a0d99bddaf967dafdecd5cc61600@pobox.com"},"message":"Almost ready for 2.9-rc2\n\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":false,"url":"https://api.github.com/repos/sunny256/git/commits/6326f199252a1a5fbdea105473f8305d850cdd87"},{"sha":"89a8bc865f9925d899fc2d5c56371889db73ea5a","author":{"name":"Junio C Hamano","email":"3228067b6039a0d99bddaf967dafdecd5cc61600@pobox.com"},"message":"Merge branch 'ah/no-verify-signature-with-pull-rebase' into jch\n\n\"git pull --rebase --verify-signature\" learned to warn the user\nthat \"--verify-signature\" is a no-op.\n\n* ah/no-verify-signature-with-pull-rebase:\n  pull: warn on --verify-signatures with --rebase","distinct":true,"url":"https://api.github.com/repos/sunny256/git/commits/89a8bc865f9925d899fc2d5c56371889db73ea5a"},{"sha":"fa9fab1c01d99009bb76836e9878b19f6119ed7e","author":{"name":"Junio C Hamano","email":"3228067b6039a0d99bddaf967dafdecd5cc61600@pobox.com"},"message":"Merge branch 'ew/daemon-socket-keepalive' into jch\n\nWhen \"git daemon\" is run without --[init-]timeout specified, a\nconnection from a client that silently goes offline can hang around\nfor a long time, wasting resources.  The socket-level KEEPALIVE has\nbeen enabled to allow the OS to notice such failed connections.\n\n* ew/daemon-socket-keepalive:\n  daemon: enable SO_KEEPALIVE for all sockets","distinct":true,"url":"https://api.github.com/repos/sunny256/git/commits/fa9fab1c01d99009bb76836e9878b19f6119ed7e"}]}
{"actor":{"display_login":"sunny256"}}