{"push_id":2087642308,"size":25,"distinct_size":0,"ref":"refs/heads/jk/ahead-behind","head":"66ab7a49fb9aa2e19d445dc81f71ea4d120969dd","before":"83f38cdd6cfdd4a72cec5bc5d72eb73a288ad419","commits":[{"sha":"32fceba3fddff4eea4f306f947c4d21911c5daed","author":{"name":"Nathan Payre","email":"398634445845a71066e74baf246da3dcd8d28d42@etu.univ-lyon1.fr"},"message":"config doc: clarify \"git config --path\" example\n\nChange the word \"bla\" to \"section.variable\"; \"bla\" is a placeholder\nfor a variable name but it wasn't clear for everyone.\n\nWhile we're here, also reformat this sample command line to use\nmonospace instead of italics, to better match the rest of the file.\n\nUse a space instead of a dash in \"git config\", as is common in the\nrest of Git's documentation.\n\nReported-by: Robert P. J. Day <rpjday@crashcourse.ca>\nSigned-off-by: MOY Matthieu <matthieu.moy@univ-lyon1.fr>\nSigned-off-by: Daniel Bensoussan <daniel.bensoussan--bohm@etu.univ-lyon1.fr>\nSigned-off-by: Timothee Albertin <timothee.albertin@etu.univ-lyon1.fr>\nSigned-off-by: Nathan Payre <nathan.payre@etu.univ-lyon1.fr>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":false,"url":"https://api.github.com/repos/peff/git/commits/32fceba3fddff4eea4f306f947c4d21911c5daed"},{"sha":"2e9de01aa0c44b539fca05b3ee552013d64c283a","author":{"name":"Michael Haggerty","email":"63ccb4d9e500fc508c7d045328459e7f9a66afd1@alum.mit.edu"},"message":"t1404: add a bunch of tests of D/F conflicts\n\nIt is currently not allowed, in a single transaction, to add one\nreference and delete another reference if the two reference names D/F\nconflict with each other (e.g., like `refs/foo/bar` and `refs/foo`).\nThe reason is that the code would need to take locks\n\n    $GIT_DIR/refs/foo.lock\n    $GIT_DIR/refs/foo/bar.lock\n\nBut the latter lock couldn't coexist with the loose reference file\n\n    $GIT_DIR/refs/foo\n\n, because `$GIT_DIR/refs/foo` cannot be both a directory and a file at\nthe same time (hence the name \"D/F conflict).\n\nAdd a bunch of tests that we cleanly reject such transactions.\n\nIn fact, many of the new tests currently fail. They will be fixed in\nthe next commit along with an explanation.\n\nReported-by: Jeff King <peff@peff.net>\nSigned-off-by: Michael Haggerty <mhagger@alum.mit.edu>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":false,"url":"https://api.github.com/repos/peff/git/commits/2e9de01aa0c44b539fca05b3ee552013d64c283a"},{"sha":"da5267f1b66dfe83a92698e49fa10dee5f74224f","author":{"name":"Michael Haggerty","email":"63ccb4d9e500fc508c7d045328459e7f9a66afd1@alum.mit.edu"},"message":"files_transaction_prepare(): fix handling of ref lock failure\n\nSince dc39e09942 (files_ref_store: use a transaction to update packed\nrefs, 2017-09-08), failure to lock a reference has been handled\nincorrectly by `files_transaction_prepare()`. If\n`lock_ref_for_update()` fails in the lock-acquisition loop of that\nfunction, it sets `ret` then breaks out of that loop. Prior to\ndc39e09942, that was OK, because the only thing following the loop was\nthe cleanup code. But dc39e09942 added another blurb of code between\nthe loop and the cleanup. That blurb sometimes resets `ret` to zero,\nmaking the cleanup code think that the locking was successful.\n\nSpecifically, whenever\n\n* One or more reference deletions have been processed successfully in\n  the lock-acquisition loop. (Processing the first such reference\n  causes a packed-ref transaction to be initialized.)\n\n* Then `lock_ref_for_update()` fails for a subsequent reference. Such\n  a failure can happen for a number of reasons, such as the old SHA-1\n  not being correct, lock contention, etc. This causes a `break` out\n  of the lock-acquisition loop.\n\n* The `packed-refs` lock is acquired successfully and\n  `ref_transaction_prepare()` succeeds for the packed-ref transaction.\n  This has the effect of resetting `ret` back to 0, and making the\n  cleanup code think that lock acquisition was successful.\n\nIn that case, any reference updates that were processed prior to\nbreaking out of the loop would be carried out (loose and packed), but\nthe reference that couldn't be locked and any subsequent references\nwould silently be ignored.\n\nThis can easily cause data loss if, for example, the user was trying\nto push a new name for an existing branch while deleting the old name.\nAfter the push, the branch could be left unreachable, and could even\nsubsequently be garbage-collected.\n\nThis problem was noticed in the context of deleting one reference and\ncreating another in a single transaction, when the two references D/F\nconflict with each other, like\n\n    git update-ref --stdin <<EOF\n    delete refs/foo\n    create refs/foo/bar HEAD\n    EOF\n\nThis triggers the above bug because the deletion is processed\nsuccessfully for `refs/foo`, then the D/F conflict causes\n`lock_ref_for_update()` to fail when `refs/foo/bar` is processed. In\nthis case the transaction *should* fail, but instead it causes\n`refs/foo` to be deleted without creating `refs/foo`. This could\neasily result in data loss.\n\nThe fix is simple: instead of just breaking out of the loop, jump\ndirectly to the cleanup code. This fixes some tests in t1404 that were\nadded in the previous commit.\n\nSigned-off-by: Michael Haggerty <mhagger@alum.mit.edu>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":false,"url":"https://api.github.com/repos/peff/git/commits/da5267f1b66dfe83a92698e49fa10dee5f74224f"},{"sha":"55d7d15847e84d531f712f9fd6a7117283b208a3","author":{"name":"Andrey Okoshkin","email":"997d75ce3b9e828d01b4c9842f37a6cbd6d55203@samsung.com"},"message":"path.c: use xmalloc() in add_to_trie()\n\nAdd usage of xmalloc() instead of malloc() in add_to_trie() as xmalloc wraps\nand checks memory allocation result.\n\nSigned-off-by: Andrey Okoshkin <a.okoshkin@samsung.com>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":false,"url":"https://api.github.com/repos/peff/git/commits/55d7d15847e84d531f712f9fd6a7117283b208a3"},{"sha":"4e40fb302eacf4949f6b7d010fd5c11f1f652b7f","author":{"name":"Junio C Hamano","email":"3228067b6039a0d99bddaf967dafdecd5cc61600@pobox.com"},"message":"Merge branch 'mh/ref-locking-fix'\n\nTransactions to update multiple references that involves a deletion\nwas quite broken in an error codepath and did not abort everything\ncorrectly.\n\n* mh/ref-locking-fix:\n  files_transaction_prepare(): fix handling of ref lock failure\n  t1404: add a bunch of tests of D/F conflicts","distinct":false,"url":"https://api.github.com/repos/peff/git/commits/4e40fb302eacf4949f6b7d010fd5c11f1f652b7f"},{"sha":"4f851dc88357ce45f01d1539d7df33736731ecec","author":{"name":"SZEDER Gábor","email":"2d7398648c7656faf78ca9ed84ec90025e532b11@gmail.com"},"message":"rev-list-options.txt: use correct directional reference\n\nThe descriptions of the options '--parents', '--children' and\n'--graph' say \"see 'History Simplification' below\", although the\nreferred section is in fact above the description of these options.\n\nSend readers in the right direction by saying \"above\" instead of\n\"below\".\n\nSigned-off-by: SZEDER Gábor <szeder.dev@gmail.com>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":false,"url":"https://api.github.com/repos/peff/git/commits/4f851dc88357ce45f01d1539d7df33736731ecec"},{"sha":"e38c681fb7b9d9571cbcb441125759ffc4977ee2","author":{"name":"Sebastian Schuberth","email":"fd2f79a06057d7225a6cae84d70021581a67bfff@gmail.com"},"message":"docs: fix formatting of rev-parse's --show-superproject-working-tree\n\nSigned-off-by: Sebastian Schuberth <sschuberth@gmail.com>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":false,"url":"https://api.github.com/repos/peff/git/commits/e38c681fb7b9d9571cbcb441125759ffc4977ee2"},{"sha":"2d8f12d28273487b620cbd796560bc284feeffda","author":{"name":"Junio C Hamano","email":"3228067b6039a0d99bddaf967dafdecd5cc61600@pobox.com"},"message":"Merge branch 'np/config-path-doc'\n\nDoc update.\n\n* np/config-path-doc:\n  config doc: clarify \"git config --path\" example","distinct":false,"url":"https://api.github.com/repos/peff/git/commits/2d8f12d28273487b620cbd796560bc284feeffda"},{"sha":"fd052e4f9abc2cf9ea54ea33e2b563c0e120a795","author":{"name":"Junio C Hamano","email":"3228067b6039a0d99bddaf967dafdecd5cc61600@pobox.com"},"message":"Merge branch 'ao/path-use-xmalloc'\n\nA possible oom error is now caught as a fatal error, instead of\ncontinuing and dereferencing NULL.\n\n* ao/path-use-xmalloc:\n  path.c: use xmalloc() in add_to_trie()","distinct":false,"url":"https://api.github.com/repos/peff/git/commits/fd052e4f9abc2cf9ea54ea33e2b563c0e120a795"},{"sha":"986ffdc83ea3f975aacf2c2f3b6c6ac569b13780","author":{"name":"Junio C Hamano","email":"3228067b6039a0d99bddaf967dafdecd5cc61600@pobox.com"},"message":"Merge branch 'sb/rev-parse-show-superproject-root'\n\nDoc markup fix.\n\n* sb/rev-parse-show-superproject-root:\n  docs: fix formatting of rev-parse's --show-superproject-working-tree","distinct":false,"url":"https://api.github.com/repos/peff/git/commits/986ffdc83ea3f975aacf2c2f3b6c6ac569b13780"},{"sha":"d8f3074c48d95877a4e82a4683b20319f2cb2328","author":{"name":"Junio C Hamano","email":"3228067b6039a0d99bddaf967dafdecd5cc61600@pobox.com"},"message":"Merge branch 'sg/rev-list-doc-reorder-fix'\n\nDoc flow fix.\n\n* sg/rev-list-doc-reorder-fix:\n  rev-list-options.txt: use correct directional reference","distinct":false,"url":"https://api.github.com/repos/peff/git/commits/d8f3074c48d95877a4e82a4683b20319f2cb2328"},{"sha":"2f899857a9f425cb59f8a15c2ea7a52100c51a23","author":{"name":"Junio C Hamano","email":"3228067b6039a0d99bddaf967dafdecd5cc61600@pobox.com"},"message":"Hopefully final batch before 2.15\n\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":false,"url":"https://api.github.com/repos/peff/git/commits/2f899857a9f425cb59f8a15c2ea7a52100c51a23"},{"sha":"3f86f684b4f3de31e08b0aa24b6c1e61ce2971b5","author":{"name":"Jordi Mas","email":"ef8dbd50fce7a0d40afc64eb0e77b794f9eac7c4@softcatala.org"},"message":"l10n: Update Catalan translation\n\nSigned-off-by: Jordi Mas <jmas@softcatala.org>","distinct":false,"url":"https://api.github.com/repos/peff/git/commits/3f86f684b4f3de31e08b0aa24b6c1e61ce2971b5"},{"sha":"af103b3797ebc2f15205121c622ddeff61619715","author":{"name":"Junio C Hamano","email":"3228067b6039a0d99bddaf967dafdecd5cc61600@pobox.com"},"message":"Merge tag 'l10n-2.15.0-rnd2.1' of git://github.com/git-l10n/git-po\n\nl10n for Git 2.15.0 round 2 with Catalan updates\n\n* tag 'l10n-2.15.0-rnd2.1' of git://github.com/git-l10n/git-po:\n  l10n: Update Catalan translation","distinct":false,"url":"https://api.github.com/repos/peff/git/commits/af103b3797ebc2f15205121c622ddeff61619715"},{"sha":"cb5918aa0d50f50e83787f65c2ddc3dcb10159fe","author":{"name":"Junio C Hamano","email":"3228067b6039a0d99bddaf967dafdecd5cc61600@pobox.com"},"message":"Git 2.15\n\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":false,"url":"https://api.github.com/repos/peff/git/commits/cb5918aa0d50f50e83787f65c2ddc3dcb10159fe"},{"sha":"2488189c30e93fa9157526fc7c68cab1207a66d7","author":{"name":"Vicent Marti","email":"cbc3498ae7e7d3948cfac10be04fc896beb2d51b@gmail.com"},"message":"bitmaps: Abstract bitmap lookup function","distinct":false,"url":"https://api.github.com/repos/peff/git/commits/2488189c30e93fa9157526fc7c68cab1207a66d7"},{"sha":"6a961d111a07114022b451751f2f596a182aaeb7","author":{"name":"Vicent Marti","email":"cbc3498ae7e7d3948cfac10be04fc896beb2d51b@gmail.com"},"message":"bitmaps: Abstract the fast-load path for bitmaps","distinct":false,"url":"https://api.github.com/repos/peff/git/commits/6a961d111a07114022b451751f2f596a182aaeb7"},{"sha":"cc3cda572d691640eced95118758577e63cc4431","author":{"name":"Vicent Marti","email":"cbc3498ae7e7d3948cfac10be04fc896beb2d51b@gmail.com"},"message":"bitmaps: Implement fast ahead-behind counts using bitmaps","distinct":false,"url":"https://api.github.com/repos/peff/git/commits/cc3cda572d691640eced95118758577e63cc4431"},{"sha":"9752a97f0c40930b4522aa468e7a8e125d0d3403","author":{"name":"Vicent Marti","email":"cbc3498ae7e7d3948cfac10be04fc896beb2d51b@gmail.com"},"message":"remote: Move the revwalk part of `stat_tracking_info` into its own func","distinct":false,"url":"https://api.github.com/repos/peff/git/commits/9752a97f0c40930b4522aa468e7a8e125d0d3403"},{"sha":"ee150fdba9dad9c4de120ac0cd10a956b3b886f4","author":{"name":"Vicent Marti","email":"cbc3498ae7e7d3948cfac10be04fc896beb2d51b@gmail.com"},"message":"revision: Use `bitmap_ahead_behind` as fast path in ahead-behind calcs","distinct":false,"url":"https://api.github.com/repos/peff/git/commits/ee150fdba9dad9c4de120ac0cd10a956b3b886f4"}]}
{"actor":{"display_login":"peff"}}