{"push_id":1583720899,"size":190,"distinct_size":1,"ref":"refs/heads/jk/negative-refspecs-wip","head":"dde3a6527c68611d90996a8838707789f960d975","before":"b523421fd49336e7a807eb9e69169b851e71092b","commits":[{"sha":"583643248a28c5d3f678fdd042a63e5d1c48f39e","author":{"name":"Michael Haggerty","email":"63ccb4d9e500fc508c7d045328459e7f9a66afd1@alum.mit.edu"},"message":"files_rename_ref(): tidy up whitespace\n\nSigned-off-by: Michael Haggerty <mhagger@alum.mit.edu>\nReviewed-by: Jeff King <peff@peff.net>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":false,"url":"https://api.github.com/repos/peff/git/commits/583643248a28c5d3f678fdd042a63e5d1c48f39e"},{"sha":"15ee2c72e76fa79e957990b43277a4591371e70e","author":{"name":"Michael Haggerty","email":"63ccb4d9e500fc508c7d045328459e7f9a66afd1@alum.mit.edu"},"message":"refname_is_safe(): correct docstring\n\nThe behavior of refname_is_safe() was changed in\n\n    e40f355 \"refname_is_safe(): insist that the refname already be normalized\", 2016-04-27\n\nwithout a corresponding update to its docstring. The function is in fact\nstricter than documented, because it now insists that the result of\nnormalizing the part of a refname following \"refs/\" is identical to that\npart of the original refname. Fix the docstring.\n\nSigned-off-by: Michael Haggerty <mhagger@alum.mit.edu>\nReviewed-by: Jeff King <peff@peff.net>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":false,"url":"https://api.github.com/repos/peff/git/commits/15ee2c72e76fa79e957990b43277a4591371e70e"},{"sha":"2eb7a0e5e439f4249cd758ca728d5f054fa540bd","author":{"name":"Michael Haggerty","email":"63ccb4d9e500fc508c7d045328459e7f9a66afd1@alum.mit.edu"},"message":"t5505: use \"for-each-ref\" to test for the non-existence of references\n\nInstead of looking on the filesystem inside \".git/refs/remotes/origin\",\nuse \"git for-each-ref\" to check for leftover references under the\nremote's old name.\n\nSigned-off-by: Michael Haggerty <mhagger@alum.mit.edu>\nReviewed-by: Jeff King <peff@peff.net>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":false,"url":"https://api.github.com/repos/peff/git/commits/2eb7a0e5e439f4249cd758ca728d5f054fa540bd"},{"sha":"029443070a4e5b0290a2d09f3707bc486d84a961","author":{"name":"Michael Haggerty","email":"63ccb4d9e500fc508c7d045328459e7f9a66afd1@alum.mit.edu"},"message":"safe_create_leading_directories_const(): preserve errno\n\nSome implementations of free() change errno (even thought they\nshouldn't):\n\n  https://sourceware.org/bugzilla/show_bug.cgi?id=17924\n\nSo preserve the errno from safe_create_leading_directories() across the\ncall to free().\n\nSigned-off-by: Michael Haggerty <mhagger@alum.mit.edu>\nReviewed-by: Jeff King <peff@peff.net>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":false,"url":"https://api.github.com/repos/peff/git/commits/029443070a4e5b0290a2d09f3707bc486d84a961"},{"sha":"204a047f23462e4931eb00c367818d9870237827","author":{"name":"Michael Haggerty","email":"63ccb4d9e500fc508c7d045328459e7f9a66afd1@alum.mit.edu"},"message":"safe_create_leading_directories(): set errno on SCLD_EXISTS\n\nThe exit path for SCLD_EXISTS wasn't setting errno, which some callers\nuse to generate error messages for the user. Fix the problem and\ndocument that the function sets errno correctly to help avoid similar\nregressions in the future.\n\nSigned-off-by: Michael Haggerty <mhagger@alum.mit.edu>\nReviewed-by: Jeff King <peff@peff.net>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":false,"url":"https://api.github.com/repos/peff/git/commits/204a047f23462e4931eb00c367818d9870237827"},{"sha":"177978f56ad4723fa9dba05fe724f397a2887ca8","author":{"name":"Michael Haggerty","email":"63ccb4d9e500fc508c7d045328459e7f9a66afd1@alum.mit.edu"},"message":"raceproof_create_file(): new function\n\nAdd a function that tries to create a file and any containing\ndirectories in a way that is robust against races with other processes\nthat might be cleaning up empty directories at the same time.\n\nThe actual file creation is done by a callback function, which, if it\nfails, should set errno to EISDIR or ENOENT according to the convention\nof open(). raceproof_create_file() detects such failures, and\nrespectively either tries to delete empty directories that might be in\nthe way of the file or tries to create the containing directories. Then\nit retries the callback function.\n\nThis function is not yet used.\n\nSigned-off-by: Michael Haggerty <mhagger@alum.mit.edu>\nReviewed-by: Jeff King <peff@peff.net>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":false,"url":"https://api.github.com/repos/peff/git/commits/177978f56ad4723fa9dba05fe724f397a2887ca8"},{"sha":"e5007a6820e509c2b8611874dc758e4cfe9fabec","author":{"name":"Michael Haggerty","email":"63ccb4d9e500fc508c7d045328459e7f9a66afd1@alum.mit.edu"},"message":"lock_ref_sha1_basic(): inline constant\n\n`lflags` is set a single time then never changed, so just inline it.\n\nSigned-off-by: Michael Haggerty <mhagger@alum.mit.edu>\nReviewed-by: Jeff King <peff@peff.net>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":false,"url":"https://api.github.com/repos/peff/git/commits/e5007a6820e509c2b8611874dc758e4cfe9fabec"},{"sha":"3b5d3c9848aaa6e15d814730cfac0efe3257eb46","author":{"name":"Michael Haggerty","email":"63ccb4d9e500fc508c7d045328459e7f9a66afd1@alum.mit.edu"},"message":"lock_ref_sha1_basic(): use raceproof_create_file()\n\nInstead of coding the retry loop inline, use raceproof_create_file() to\nmake lock acquisition safe against directory creation/deletion races.\n\nSigned-off-by: Michael Haggerty <mhagger@alum.mit.edu>\nReviewed-by: Jeff King <peff@peff.net>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":false,"url":"https://api.github.com/repos/peff/git/commits/3b5d3c9848aaa6e15d814730cfac0efe3257eb46"},{"sha":"6a7f3631709cb68cdea4403c480a1a5d93100c47","author":{"name":"Michael Haggerty","email":"63ccb4d9e500fc508c7d045328459e7f9a66afd1@alum.mit.edu"},"message":"rename_tmp_log(): use raceproof_create_file()\n\nBesides shortening the code, this saves an unnecessary call to\nsafe_create_leading_directories_const() in almost all cases.\n\nSigned-off-by: Michael Haggerty <mhagger@alum.mit.edu>\nReviewed-by: Jeff King <peff@peff.net>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":false,"url":"https://api.github.com/repos/peff/git/commits/6a7f3631709cb68cdea4403c480a1a5d93100c47"},{"sha":"990c98d2bd3a46df9ab873947a53b55d29a6d16f","author":{"name":"Michael Haggerty","email":"63ccb4d9e500fc508c7d045328459e7f9a66afd1@alum.mit.edu"},"message":"rename_tmp_log(): improve error reporting\n\n* Don't capitalize error strings\n* Report true paths of affected files\n\nSigned-off-by: Michael Haggerty <mhagger@alum.mit.edu>\nReviewed-by: Jeff King <peff@peff.net>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":false,"url":"https://api.github.com/repos/peff/git/commits/990c98d2bd3a46df9ab873947a53b55d29a6d16f"},{"sha":"81b1b6d4ff5dea059c2120819f5cffcd915dff2e","author":{"name":"Michael Haggerty","email":"63ccb4d9e500fc508c7d045328459e7f9a66afd1@alum.mit.edu"},"message":"log_ref_write(): inline function\n\nThis function doesn't do anything beyond call files_log_ref_write(), so\nreplace it with the latter at its call sites.\n\nSigned-off-by: Michael Haggerty <mhagger@alum.mit.edu>\nReviewed-by: Jeff King <peff@peff.net>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":false,"url":"https://api.github.com/repos/peff/git/commits/81b1b6d4ff5dea059c2120819f5cffcd915dff2e"},{"sha":"854bda6b4f7d6bc6087966bfa74a59c232eceac6","author":{"name":"Michael Haggerty","email":"63ccb4d9e500fc508c7d045328459e7f9a66afd1@alum.mit.edu"},"message":"log_ref_setup(): separate code for create vs non-create\n\nThe behavior of this function (especially how it handles errors) is\nquite different depending on whether we are willing to create the reflog\nvs. whether we are only trying to open an existing reflog. So separate\nthe code paths.\n\nThis also simplifies the next steps.\n\nSigned-off-by: Michael Haggerty <mhagger@alum.mit.edu>\nReviewed-by: Jeff King <peff@peff.net>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":false,"url":"https://api.github.com/repos/peff/git/commits/854bda6b4f7d6bc6087966bfa74a59c232eceac6"},{"sha":"1fb0c809859252f037286d32f56432444d65bd38","author":{"name":"Michael Haggerty","email":"63ccb4d9e500fc508c7d045328459e7f9a66afd1@alum.mit.edu"},"message":"log_ref_setup(): improve robustness against races\n\nChange log_ref_setup() to use raceproof_create_file() to create the new\nlogfile. This makes it more robust against a race against another\nprocess that might be trying to clean up empty directories while we are\ntrying to create a new logfile.\n\nThis also means that it will only call create_leading_directories() if\nopen() fails, which should be a net win. Even in the cases where we are\nwilling to create a new logfile, it will usually be the case that the\nlogfile already exists, or if not then that the directory containing the\nlogfile already exists. In such cases, we will save some work that was\npreviously done unconditionally.\n\nSigned-off-by: Michael Haggerty <mhagger@alum.mit.edu>\nReviewed-by: Jeff King <peff@peff.net>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":false,"url":"https://api.github.com/repos/peff/git/commits/1fb0c809859252f037286d32f56432444d65bd38"},{"sha":"e404f459fdc0d42e9ea83084cb1acdd241c14de3","author":{"name":"Michael Haggerty","email":"63ccb4d9e500fc508c7d045328459e7f9a66afd1@alum.mit.edu"},"message":"log_ref_setup(): pass the open file descriptor back to the caller\n\nThis function will most often be called by log_ref_write_1(), which\nwants to append to the reflog file. In that case, it is silly to close\nthe file only for the caller to reopen it immediately. So, in the case\nthat the file was opened, pass the open file descriptor back to the\ncaller.\n\nSigned-off-by: Michael Haggerty <mhagger@alum.mit.edu>\nReviewed-by: Jeff King <peff@peff.net>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":false,"url":"https://api.github.com/repos/peff/git/commits/e404f459fdc0d42e9ea83084cb1acdd241c14de3"},{"sha":"87b21e05ed869806f865ada8f5d977ce99f18f20","author":{"name":"Michael Haggerty","email":"63ccb4d9e500fc508c7d045328459e7f9a66afd1@alum.mit.edu"},"message":"log_ref_write_1(): don't depend on logfile argument\n\nIt's unnecessary to pass a strbuf holding the reflog path up and down\nthe call stack now that it is hardly needed by the callers. Remove the\nplaces where log_ref_write_1() uses it, in preparation for making it\ninternal to log_ref_setup().\n\nSigned-off-by: Michael Haggerty <mhagger@alum.mit.edu>\nReviewed-by: Jeff King <peff@peff.net>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":false,"url":"https://api.github.com/repos/peff/git/commits/87b21e05ed869806f865ada8f5d977ce99f18f20"},{"sha":"4533e5343bb1171b932f787e345d6cff920a4e70","author":{"name":"Michael Haggerty","email":"63ccb4d9e500fc508c7d045328459e7f9a66afd1@alum.mit.edu"},"message":"log_ref_setup(): manage the name of the reflog file internally\n\nInstead of writing the name of the reflog file into a strbuf that is\nsupplied by the caller but not needed there, write it into a local\ntemporary buffer and remove the strbuf parameter entirely.\n\nAnd while we're adjusting the function signature, reorder the arguments\nto move the input parameters before the output parameters.\n\nSigned-off-by: Michael Haggerty <mhagger@alum.mit.edu>\nReviewed-by: Jeff King <peff@peff.net>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":false,"url":"https://api.github.com/repos/peff/git/commits/4533e5343bb1171b932f787e345d6cff920a4e70"},{"sha":"fc31955294a1baf4845558451494ce42ee70444b","author":{"name":"Michael Haggerty","email":"63ccb4d9e500fc508c7d045328459e7f9a66afd1@alum.mit.edu"},"message":"log_ref_write_1(): inline function\n\nNow files_log_ref_write() doesn't do anything beyond call\nlog_ref_write_1(), so inline the latter into the former.\n\nSigned-off-by: Michael Haggerty <mhagger@alum.mit.edu>\nReviewed-by: Jeff King <peff@peff.net>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":false,"url":"https://api.github.com/repos/peff/git/commits/fc31955294a1baf4845558451494ce42ee70444b"},{"sha":"0e81d016f11ce93494b73d68220f59cf4b5a1da2","author":{"name":"Michael Haggerty","email":"63ccb4d9e500fc508c7d045328459e7f9a66afd1@alum.mit.edu"},"message":"delete_ref_loose(): derive loose reference path from lock\n\nIt is simpler to derive the path to the file that must be deleted from\n\"lock->ref_name\" than from the lock_file object.\n\nSigned-off-by: Michael Haggerty <mhagger@alum.mit.edu>\nReviewed-by: Jeff King <peff@peff.net>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":false,"url":"https://api.github.com/repos/peff/git/commits/0e81d016f11ce93494b73d68220f59cf4b5a1da2"},{"sha":"ce0af24de01114552e37ec87dbb948013454f3e1","author":{"name":"Michael Haggerty","email":"63ccb4d9e500fc508c7d045328459e7f9a66afd1@alum.mit.edu"},"message":"delete_ref_loose(): inline function\n\nIt was hardly doing anything anymore, and had only one caller.\n\nSigned-off-by: Michael Haggerty <mhagger@alum.mit.edu>\nReviewed-by: Jeff King <peff@peff.net>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":false,"url":"https://api.github.com/repos/peff/git/commits/ce0af24de01114552e37ec87dbb948013454f3e1"},{"sha":"730e0342869744e33a2db76fda5f3acf28fc889c","author":{"name":"Michael Haggerty","email":"63ccb4d9e500fc508c7d045328459e7f9a66afd1@alum.mit.edu"},"message":"try_remove_empty_parents(): rename parameter \"name\" -> \"refname\"\n\nThis is the standard nomenclature.\n\nSigned-off-by: Michael Haggerty <mhagger@alum.mit.edu>\nReviewed-by: Jeff King <peff@peff.net>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":false,"url":"https://api.github.com/repos/peff/git/commits/730e0342869744e33a2db76fda5f3acf28fc889c"}]}
{"actor":{"display_login":"peff"}}