{"push_id":573386685,"size":57,"distinct_size":0,"ref":"refs/heads/mh/refs-have-new","head":"53c4945143b530f2298e60cdab1296bb34a60d4c","before":"ba90688930e25fcfccc06558a9e227effbe9c88e","commits":[{"sha":"21b138d0f64d99b55e901f90d4211e036b881e64","author":{"email":"a6723cc3f76163bf7adb636a73ac3b0ceb3e6b9b@pobox.com","name":"Junio C Hamano"},"message":"receive-pack: refactor updateInstead codepath\n\nKeep the \"there is nothing to update in a bare repository\", \"when\nthe check and update process runs, here are the GIT_DIR and\nGIT_WORK_TREE\" logic, which will be common regardless of how the\ndecision to update and the actual update are done, in the original\nupdate_worktree() function, and split out the \"working tree and\nthe index must match the original HEAD exactly\" and \"use two-way\nread-tree to update the working tree\" into a new push_to_deploy()\nhelper function.  This will allow customizing the logic more cleanly\nand easily.\n\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":false,"url":"https://api.github.com/repos/gitster/git/commits/21b138d0f64d99b55e901f90d4211e036b881e64"},{"sha":"fe7611c46f34cc4164a719a94e88e13ca5c978b1","author":{"email":"3fc1c5732e6ee2d6b84ec340e9112d1b98672960@gmail.com","name":"Doug Kelly"},"message":"t4255: test am submodule with diff.submodule\n\ngit am will break when using diff.submodule=log; add some test cases\nto illustrate this breakage as simply as possible.  There are\ncurrently two ways this can fail:\n\n* With errors (\"unrecognized input\"), if only change\n* Silently (no submodule change), if other files change\n\nTest for both conditions and ensure without diff.submodule this works.\n\nHelped-by: Eric Sunshine <sunshine@sunshineco.com>\nHelped-by: Junio C Hamano <gitster@pobox.com>\nSigned-off-by: Doug Kelly <dougk.ff7@gmail.com>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":false,"url":"https://api.github.com/repos/gitster/git/commits/fe7611c46f34cc4164a719a94e88e13ca5c978b1"},{"sha":"339de5089115b6d8d85c73c1b8d2aa281e9625d2","author":{"email":"3fc1c5732e6ee2d6b84ec340e9112d1b98672960@gmail.com","name":"Doug Kelly"},"message":"format-patch: ignore diff.submodule setting\n\ndiff.submodule when set to log produces output which git-am cannot\nhandle. Ignore this setting when generating patch output.\n\nSigned-off-by: Doug Kelly <dougk.ff7@gmail.com>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":false,"url":"https://api.github.com/repos/gitster/git/commits/339de5089115b6d8d85c73c1b8d2aa281e9625d2"},{"sha":"4dbe66464b4fd695c5989cc272fa0edd6475037c","author":{"email":"738bdd359be778fee9f0fc4e2934ad72f436ceda@crustytoothpaste.net","name":"brian m. carlson"},"message":"remote-curl: fall back to Basic auth if Negotiate fails\n\nApache servers using mod_auth_kerb can be configured to allow the user\nto authenticate either using Negotiate (using the Kerberos ticket) or\nBasic authentication (using the Kerberos password).  Often, one will\nwant to use Negotiate authentication if it is available, but fall back\nto Basic authentication if the ticket is missing or expired.\n\nHowever, libcurl will try very hard to use something other than Basic\nauth, even over HTTPS.  If Basic and something else are offered, libcurl\nwill never attempt to use Basic, even if the other option fails.\nTeach the HTTP client code to stop trying authentication mechanisms that\ndon't use a password (currently Negotiate) after the first failure,\nsince if they failed the first time, they will never succeed.\n\nSigned-off-by: brian m. carlson <sandals@crustytoothpaste.net>\nSigned-off-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/4dbe66464b4fd695c5989cc272fa0edd6475037c"},{"sha":"89ea90351dd32fbe384d0cf844640a9c55606f3b","author":{"email":"b57189c5f2fd5b3daf3350a77fde90def1080fa5@gmail.com","name":"Jonathan Nieder"},"message":"rerere: error out on autoupdate failure\n\nWe have been silently tolerating errors by returning early with an\nerror that the caller ignores since rerere.autoupdate was introduced\nin v1.6.0-rc0~120^2 (2008-06-22).  So on error (for example if the\nindex is already locked), rerere can return success silently without\nupdating the index or with only some items in the index updated.\n\nBetter to treat such failures as a fatal error so the operator can\nfigure out what is wrong and fix it.\n\nSigned-off-by: Jonathan Nieder <jrnieder@gmail.com>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":false,"url":"https://api.github.com/repos/gitster/git/commits/89ea90351dd32fbe384d0cf844640a9c55606f3b"},{"sha":"0855331941b723b227e93b33955bbe0b45025659","author":{"email":"a6723cc3f76163bf7adb636a73ac3b0ceb3e6b9b@pobox.com","name":"Junio C Hamano"},"message":"receive-pack: support push-to-checkout hook\n\nWhen receive.denyCurrentBranch is set to updateInstead, a push that\ntries to update the branch that is currently checked out is accepted\nonly when the index and the working tree exactly matches the\ncurrently checked out commit, in which case the index and the\nworking tree are updated to match the pushed commit.  Otherwise the\npush is refused.\n\nThis hook can be used to customize this \"push-to-deploy\" logic.  The\nhook receives the commit with which the tip of the current branch is\ngoing to be updated, and can decide what kind of local changes are\nacceptable and how to update the index and the working tree to match\nthe updated tip of the current branch.\n\nFor example, the hook can simply run `git read-tree -u -m HEAD \"$1\"`\nin order to emulate 'git fetch' that is run in the reverse direction\nwith `git push`, as the two-tree form of `read-tree -u -m` is\nessentially the same as `git checkout` that switches branches while\nkeeping the local changes in the working tree that do not interfere\nwith the difference between the branches.\n\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":false,"url":"https://api.github.com/repos/gitster/git/commits/0855331941b723b227e93b33955bbe0b45025659"},{"sha":"290c8e7a3fe182ff64c3e6b76fbbbc6dcff4727c","author":{"email":"8d4c9325a583512e625dc42829126e323c089b30@gmail.com","name":"Kyle J. McKay"},"message":"gettext.h: add parentheses around N_ expansion if supported\n\nThe gettext N_ macro is used to mark strings for translation\nwithout actually translating them.  At runtime the string is\nexpected to be passed to the gettext API for translation.\n\nIf two N_ macro invocations appear next to each other with only\nwhitespace (or nothing at all) between them, the two separate\nstrings will be marked for translation, but the preprocessor\nwill then silently combine the strings into one and at runtime\nthe string passed to gettext will not match the strings that\nwere translated so no translation will actually occur.\n\nAvoid this by adding parentheses around the expansion of the\nN_ macro so that instead of ending up with two adjacent strings\nthat are then combined by the preprocessor, two adjacent strings\nsurrounded by parentheses result instead which causes a compile\nerror so the mistake can be quickly found and corrected.\n\nHowever, since these string literals are typically assigned to\nstatic variables and not all compilers support parenthesized\nstring literal assignments, allow this to be controlled by the\nMakefile with the default only enabled when the compiler is\nknown to support the syntax.\n\nFor now only __GNUC__ enables this by default which covers both\ngcc and clang which should result in early detection of any\nadjacent N_ macros.\n\nAlthough the necessary tests make the affected files a bit less\nelegant, the benefit of avoiding propagation of a translation-\nmarking error to all the translation teams thus creating extra\nwork for them when the error is eventually detected and fixed\nwould seem to outweigh the minor inelegance the additional\nconfiguration tests introduce.\n\nHelped-by: Junio C Hamano <gitster@pobox.com>\nSigned-off-by: Kyle J. McKay <mackyle@gmail.com>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":false,"url":"https://api.github.com/repos/gitster/git/commits/290c8e7a3fe182ff64c3e6b76fbbbc6dcff4727c"},{"sha":"d64ea0f83bd7e676778f833c57f969a94518a28d","author":{"email":"696e3fbcf235d40b6ea1ebd61c87cbea79d444e7@peff.net","name":"Jeff King"},"message":"git-compat-util: add xstrdup_or_null helper\n\nIt's a common idiom to duplicate a string if it is non-NULL,\nor pass a literal NULL through. This is already a one-liner\nin C, but you do have to repeat the name of the string\ntwice. So if there's a function call, you must write:\n\n  const char *x = some_fun(...);\n  return x ? xstrdup(x) : NULL;\n\ninstead of (with this patch) just:\n\n  return xstrdup_or_null(some_fun(...));\n\nSigned-off-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/d64ea0f83bd7e676778f833c57f969a94518a28d"},{"sha":"444069078687fc00586824a21eff9758fc4d0625","author":{"email":"696e3fbcf235d40b6ea1ebd61c87cbea79d444e7@peff.net","name":"Jeff King"},"message":"builtin/apply.c: use xstrdup_or_null instead of null_strdup\n\nThis file had its own identical helper that predates\nxstrdup_or_null. Let's use the global one to avoid\nrepetition.\n\nSigned-off-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/444069078687fc00586824a21eff9758fc4d0625"},{"sha":"eaa541eb59aefa2c5e9e160c36a259d372c25711","author":{"email":"696e3fbcf235d40b6ea1ebd61c87cbea79d444e7@peff.net","name":"Jeff King"},"message":"builtin/commit.c: use xstrdup_or_null instead of envdup\n\nThe only reason for envdup to be its own function is that we\nhave to save the result in a temporary string. With\nxstrdup_or_null, we can feed the result of getenv()\ndirectly.\n\nSigned-off-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/eaa541eb59aefa2c5e9e160c36a259d372c25711"},{"sha":"8c53f0719b04e0b6328c2e175e3c5d2dc8a0c282","author":{"email":"696e3fbcf235d40b6ea1ebd61c87cbea79d444e7@peff.net","name":"Jeff King"},"message":"use xstrdup_or_null to replace ternary conditionals\n\nThis replaces \"x ? xstrdup(x) : NULL\" with xstrdup_or_null(x).\nThe change is fairly mechanical, with the exception of\nresolve_refdup, which can eliminate a temporary variable.\n\nThere are still a few hits grepping for \"?.*xstrdup\", but\nthese are of slightly different forms and cannot be\nconverted (e.g., \"x ? xstrdup(x->foo) : NULL\").\n\nSigned-off-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/8c53f0719b04e0b6328c2e175e3c5d2dc8a0c282"},{"sha":"a46442f1675722eb68238b329a4a285f03f41dda","author":{"email":"46f1a0bd5592a2f9244ca321b129902a06b53e03@cryptocrack.de","name":"Lukas Fleischer"},"message":"blame.c: fix garbled error message\n\nThe helper functions prepare_final() and prepare_initial() return a\npointer to a string that is a member of an object in the revs->pending\narray. This array is later rebuilt when running prepare_revision_walk()\nwhich potentially transforms the pointer target into a bogus string. Fix\nthis by maintaining a copy of the original string.\n\nSigned-off-by: Lukas Fleischer <git@cryptocrack.de>\nSigned-off-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/a46442f1675722eb68238b329a4a285f03f41dda"},{"sha":"22dfa8a23de4bbb274027736edd3bd311dda2981","author":{"email":"247b718a04b0b484061510a80393fd0a69bd5519@gentoo.org","name":"Christoph Junghans"},"message":"log: teach --invert-grep option\n\n\"git log --grep=<string>\" shows only commits with messages that\nmatch the given string, but sometimes it is useful to be able to\nshow only commits that do *not* have certain messages (e.g. \"show\nme ones that are not FIXUP commits\").\n\nOriginally, we had the invert-grep flag in grep_opt, but because\n\"git grep --invert-grep\" does not make sense except in conjunction\nwith \"--files-with-matches\", which is already covered by\n\"--files-without-matches\", it was moved it to revisions structure.\nTo have the flag there expresses the function to the feature better.\n\nWhen the newly inserted two tests run, the history would have commits\nwith messages \"initial\", \"second\", \"third\", \"fourth\", \"fifth\", \"sixth\"\nand \"Second\", committed in this order.  The commits that does not match\neither \"th\" or \"Sec\" is \"second\" and \"initial\". For the case insensitive\ncase only \"initial\" matches.\n\nSigned-off-by: Christoph Junghans <ottxor@gentoo.org>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":false,"url":"https://api.github.com/repos/gitster/git/commits/22dfa8a23de4bbb274027736edd3bd311dda2981"},{"sha":"9c9b4f2f8b7f27f3984e80d053106d5d41cbb03b","author":{"email":"139449a27381270391752f9e0993fccac55fea0e@gmail.com","name":"Alex Henrie"},"message":"standardize usage info string format\n\nThis patch puts the usage info strings that were not already in docopt-\nlike format into docopt-like format, which will be a litle easier for\nend users and a lot easier for translators. Changes include:\n\n- Placing angle brackets around fill-in-the-blank parameters\n- Putting dashes in multiword parameter names\n- Adding spaces to [-f|--foobar] to make [-f | --foobar]\n- Replacing <foobar>* with [<foobar>...]\n\nSigned-off-by: Alex Henrie <alexhenrie24@gmail.com>\nReviewed-by: Matthieu Moy <Matthieu.Moy@imag.fr>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":false,"url":"https://api.github.com/repos/gitster/git/commits/9c9b4f2f8b7f27f3984e80d053106d5d41cbb03b"},{"sha":"b90a3d7b3275fdb23184dce7afc2aaeaaafb8886","author":{"email":"a6723cc3f76163bf7adb636a73ac3b0ceb3e6b9b@pobox.com","name":"Junio C Hamano"},"message":"http.c: make finish_active_slot() and handle_curl_result() static\n\nThey used to be used directly by remote-curl.c for the smart-http\nprotocol. But they got wrapped by run_one_slot() in beed336 (http:\nnever use curl_easy_perform, 2014-02-18).  Any future users are\nexpected to follow that route.\n\nReviewed-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/b90a3d7b3275fdb23184dce7afc2aaeaaafb8886"},{"sha":"0fb1df4af2a28bc95b26fbd9d4f172a461d88ef2","author":{"email":"a6723cc3f76163bf7adb636a73ac3b0ceb3e6b9b@pobox.com","name":"Junio C Hamano"},"message":"prompt.c: remove git_getpass() nobody uses\n\nThis was whittled down to a compatibility wrapper around the more\nflexible git_prompt() in 1cb0134f (refactor git_getpass into generic\nprompt function, 2011-12-10), waiting for the final callers to go\naway.  That happened in 791643a8 (imap-send: use git-credential,\n2014-04-28) when imap-send learned to use the credential interface.\n\nReviewed-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/0fb1df4af2a28bc95b26fbd9d4f172a461d88ef2"},{"sha":"cb4680500a3e72e0d5811659f9e4f46c8df91696","author":{"email":"a6723cc3f76163bf7adb636a73ac3b0ceb3e6b9b@pobox.com","name":"Junio C Hamano"},"message":"pack-bitmap.c: make pack_bitmap_filename() static\n\nReviewed-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/cb4680500a3e72e0d5811659f9e4f46c8df91696"},{"sha":"2b102efc8cd60730f044917d3aa68b3dd54d82d0","author":{"email":"a6723cc3f76163bf7adb636a73ac3b0ceb3e6b9b@pobox.com","name":"Junio C Hamano"},"message":"line-log.c: make line_log_data_init() static\n\nNo external callers exist.\n\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":false,"url":"https://api.github.com/repos/gitster/git/commits/2b102efc8cd60730f044917d3aa68b3dd54d82d0"},{"sha":"0131c4909674b35f870916f875e6404e3ba58bc9","author":{"email":"a6723cc3f76163bf7adb636a73ac3b0ceb3e6b9b@pobox.com","name":"Junio C Hamano"},"message":"revision.c: make save_parents() and free_saved_parents() static\n\nNo external callers exist.\n\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":false,"url":"https://api.github.com/repos/gitster/git/commits/0131c4909674b35f870916f875e6404e3ba58bc9"},{"sha":"667f7eb2eac5b5b369dc2a3f444e6057563e683a","author":{"email":"a6723cc3f76163bf7adb636a73ac3b0ceb3e6b9b@pobox.com","name":"Junio C Hamano"},"message":"urlmatch.c: make match_urls() static\n\nNo external callers exist.\n\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":false,"url":"https://api.github.com/repos/gitster/git/commits/667f7eb2eac5b5b369dc2a3f444e6057563e683a"}]}