{"push_id":2423615419,"size":34,"distinct_size":0,"ref":"refs/heads/jk/credential-interactive","head":"b36a20b1508b0bc60090d8ce687e7a98dbc9767a","before":"c1e86983414bd6af5b538495213b679e341a248e","commits":[{"sha":"cd878a206e8ca67b215de5fa510f0ef30bb6e1c6","author":{"name":"Martin Ågren","email":"67b5f19b67bd3af99de34fd1ecd6ee0e3c0149c4@gmail.com"},"message":"t7006: add tests for how git config paginates\n\nThe next couple of commits will change how `git config` handles\n`pager.config`, similar to how de121ffe5 (tag: respect `pager.tag` in\nlist-mode only, 2017-08-02) and ff1e72483 (tag: change default of\n`pager.tag` to \"on\", 2017-08-02) changed `git tag`. Similar work has\nalso been done to `git branch`.\n\nAdd tests in this area to make sure that we don't regress and so that\nthe upcoming commits can be made clearer by adapting the tests. Add\ntests for simple config-setting, `--edit`, `--get`, `--get-urlmatch`,\n`get-all`, and `--list`. Those represent a fair portion of the various\noptions that will be affected by the next two commits.\n\nUse `test_expect_failure` to document that we currently respect the\npager-configuration with `--edit`. The current behavior is buggy since\nthe pager interferes with the editor and makes the end result completely\nbroken. See also b3ee740c8 (t7006: add tests for how git tag paginates,\n2017-08-02).\n\nThe next commit will teach simple config-setting and `--get` to ignore\n`pager.config`. Test the current behavior as \"success\", not \"failure\",\nsince the currently expected behavior according to documentation would\nbe to page. The next commit will change that expectation by updating the\ndocumentation on `git config` and will redefine those successful tests.\n\nRemove the test added in commit 3ba7e6e29a (config: run\nsetup_git_directory_gently() sooner, 2010-08-05) since it has some\noverlap with these. We could leave it or tweak it, or place new tests\nlike these next to it, but let's instead make the tests for `git config`\nas similar as possible to the ones for `git tag` and `git branch`, and\nplace them after those.\n\nSigned-off-by: Martin Ågren <martin.agren@gmail.com>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":false,"url":"https://api.github.com/repos/peff/git/commits/cd878a206e8ca67b215de5fa510f0ef30bb6e1c6"},{"sha":"32888b8fd56175f52f3139915d931f78d8c4ef89","author":{"name":"Martin Ågren","email":"67b5f19b67bd3af99de34fd1ecd6ee0e3c0149c4@gmail.com"},"message":"config: respect `pager.config` in list/get-mode only\n\nSimilar to de121ffe5 (tag: respect `pager.tag` in list-mode only,\n2017-08-02), use the DELAY_PAGER_CONFIG-mechanism to only respect\n`pager.config` when we are listing or \"get\"ing config.\n\nWe have several getters and some are guaranteed to give at most one line\nof output. Paging all getters including those could be convenient from a\ndocumentation point-of-view. The downside would be that a misconfigured\nor not so modern pager might wait for user interaction before\nterminating. Let's instead respect the config for precisely those\ngetters which may produce more than one line of output.\n\n`--get-urlmatch` may or may not produce multiple lines of output,\ndepending on the exact usage. Let's not try to recognize the two modes,\nbut instead make `--get-urlmatch` always respect the config. Analyzing\nthe detailed usage might be trivial enough here, but could establish a\nprecedent that we will never be able to enforce throughout the codebase\nand that will just open a can of worms.\n\nThis fixes the failing test added in the previous commit. Also adapt the\ntest for whether `git config foo.bar bar` and `git config --get foo.bar`\nrespects `pager.config`.\n\nSigned-off-by: Martin Ågren <martin.agren@gmail.com>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":false,"url":"https://api.github.com/repos/peff/git/commits/32888b8fd56175f52f3139915d931f78d8c4ef89"},{"sha":"c0e9f5be873d7c6a5df928f167ec1b27027efb45","author":{"name":"Martin Ågren","email":"67b5f19b67bd3af99de34fd1ecd6ee0e3c0149c4@gmail.com"},"message":"config: change default of `pager.config` to \"on\"\n\nThis is similar to ff1e72483 (tag: change default of `pager.tag` to\n\"on\", 2017-08-02) and is safe now that we do not consider `pager.config`\nat all when we are not listing or getting configuration. This change\nwill help with listing large configurations, but will not hurt users of\n`git config --edit` as it would have before the previous commit.\n\nSigned-off-by: Martin Ågren <martin.agren@gmail.com>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":false,"url":"https://api.github.com/repos/peff/git/commits/c0e9f5be873d7c6a5df928f167ec1b27027efb45"},{"sha":"610008146ed1647bb1da6a098e314b8929ff213e","author":{"name":"Martin Ågren","email":"67b5f19b67bd3af99de34fd1ecd6ee0e3c0149c4@gmail.com"},"message":"write_locked_index(): add flag to avoid writing unchanged index\n\nWe have several callers like\n\n\tif (active_cache_changed && write_locked_index(...))\n\t\thandle_error();\n\trollback_lock_file(...);\n\nwhere the final rollback is needed because \"!active_cache_changed\"\nshortcuts the if-expression. There are also a few variants of this,\nincluding some if-else constructs that make it more clear when the\nexplicit rollback is really needed.\n\nTeach `write_locked_index()` to take a new flag SKIP_IF_UNCHANGED and\nsimplify the callers. Leave the most complicated of the callers (in\nbuiltin/update-index.c) unchanged. Rewriting it to use this new flag\nwould end up duplicating logic.\n\nWe could have made the new flag behave the other way round\n(\"FORCE_WRITE\"), but that could break existing users behind their backs.\nLet's take the more conservative approach. We can still migrate existing\ncallers to use our new flag. Later we might even be able to flip the\ndefault, possibly without entirely ignoring the risk to in-flight or\nout-of-tree topics.\n\nSuggested-by: Jeff King <peff@peff.net>\nSigned-off-by: Martin Ågren <martin.agren@gmail.com>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":false,"url":"https://api.github.com/repos/peff/git/commits/610008146ed1647bb1da6a098e314b8929ff213e"},{"sha":"2b7750c923636b75d74936089af0a0a68f5b1596","author":{"name":"Jonathan Tan","email":"cd7d9b1b2e07747e72c61609f6cb1551235775cd@google.com"},"message":"sha1_file: restore OBJECT_INFO_QUICK functionality\n\nSupport for the OBJECT_INFO_QUICK flag in sha1_object_info_extended()\nwas added in commit dfdd4afcf9 (\"sha1_file: teach\nsha1_object_info_extended more flags\", 2017-06-26) in order to support\ncommit e83e71c5e1 (\"sha1_file: refactor has_sha1_file_with_flags\",\n2017-06-26), but it was inadvertently removed in commit 8b4c0103a9\n(\"sha1_file: support lazily fetching missing objects\", 2017-12-08).\n\nRestore this functionality.\n\nSigned-off-by: Jonathan Tan <jonathantanmy@google.com>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":false,"url":"https://api.github.com/repos/peff/git/commits/2b7750c923636b75d74936089af0a0a68f5b1596"},{"sha":"ffb2c0fe5c2dbfe2be0a4743ffed622295e1124c","author":{"name":"Jonathan Tan","email":"cd7d9b1b2e07747e72c61609f6cb1551235775cd@google.com"},"message":"index-pack: support checking objects but not links\n\nThe index-pack command currently supports the\n--check-self-contained-and-connected argument, for internal use only,\nthat instructs it to only check for broken links and not broken objects.\nFor partial clones, we need the inverse, so add a --fsck-objects\nargument that checks for broken objects and not broken links, also for\ninternal use only.\n\nThis will be used by fetch-pack in a subsequent patch.\n\nSigned-off-by: Jonathan Tan <jonathantanmy@google.com>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":false,"url":"https://api.github.com/repos/peff/git/commits/ffb2c0fe5c2dbfe2be0a4743ffed622295e1124c"},{"sha":"98a2ea46c2dedf45b5a94335462547a5d78a68e2","author":{"name":"Jonathan Tan","email":"cd7d9b1b2e07747e72c61609f6cb1551235775cd@google.com"},"message":"fetch-pack: do not check links for partial fetch\n\nWhen doing a partial clone or fetch with transfer.fsckobjects=1, use the\n--fsck-objects instead of the --strict flag when invoking index-pack so\nthat links are not checked, only objects. This is because incomplete\nlinks are expected when doing a partial clone or fetch.\n\nSigned-off-by: Jonathan Tan <jonathantanmy@google.com>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":false,"url":"https://api.github.com/repos/peff/git/commits/98a2ea46c2dedf45b5a94335462547a5d78a68e2"},{"sha":"0e267b7a240454538349407c0101cc17168cebcf","author":{"name":"Ben Peart","email":"245d18737bd52fa108c37eccdaa9225bc987d090@microsoft.com"},"message":"Fix bugs preventing adding updated cache entries to the name hash\n\nUpdate replace_index_entry() to clear the CE_HASHED flag from the new cache\nentry so that it can add it to the name hash in set_index_entry()\n\nFix refresh_cache_ent() to use the copy_cache_entry() macro instead of memcpy()\nso that it doesn't incorrectly copy the hash state from the old entry.\n\nSigned-off-by: Ben Peart <benpeart@microsoft.com>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":false,"url":"https://api.github.com/repos/peff/git/commits/0e267b7a240454538349407c0101cc17168cebcf"},{"sha":"b8fd6008ec5651925c46858499f182222174392c","author":{"name":"Ramsay Jones","email":"5f27f63ff4a7d14be74386ad2c8a8b5eb52d0e05@ramsayjones.plus.com"},"message":"http: fix an unused variable warning for 'curl_no_proxy'\n\nSigned-off-by: Ramsay Jones <ramsay@ramsayjones.plus.com>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":false,"url":"https://api.github.com/repos/peff/git/commits/b8fd6008ec5651925c46858499f182222174392c"},{"sha":"40c17eb18494d20d6ffaa4f1b2237824a1cb52a6","author":{"name":"Kaartic Sivaraam","email":"5ae1ca09db4282cb8e2dd96013f25536faa37f18@gmail.com"},"message":"t/t3200: fix a typo in a test description\n\nSigned-off-by: Kaartic Sivaraam <kaartic.sivaraam@gmail.com>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":false,"url":"https://api.github.com/repos/peff/git/commits/40c17eb18494d20d6ffaa4f1b2237824a1cb52a6"},{"sha":"14f437f3385db68275124d82bb9686cb6f75f67c","author":{"name":"Todd Zullinger","email":"eda1a53aeee0e35b250c1ad5efd9d7ee63926d0e@pobox.com"},"message":"RelNotes: add details on Perl module changes\n\nDocument changes to core and non-core Perl module handling in 2.17.\n\nSigned-off-by: Todd Zullinger <tmz@pobox.com>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":false,"url":"https://api.github.com/repos/peff/git/commits/14f437f3385db68275124d82bb9686cb6f75f67c"},{"sha":"bd9958c35883e2199ceef21b34d9b26783d30cba","author":{"name":"David Pursehouse","email":"db50ae67856e12e3bc09af3c7dda2a3c617c138b@collab.net"},"message":"Documentation/merge-strategies: typofix\n\nIt's strategy, not stragegy.\n\nSigned-off-by: David Pursehouse <dpursehouse@collab.net>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":false,"url":"https://api.github.com/repos/peff/git/commits/bd9958c35883e2199ceef21b34d9b26783d30cba"},{"sha":"1775e990f793965dcfc2cf62f4efccf0f2c21e28","author":{"name":"Todd Zullinger","email":"eda1a53aeee0e35b250c1ad5efd9d7ee63926d0e@pobox.com"},"message":"completion: complete tags with git tag --delete/--verify\n\nCompletion of tag names has worked for the short -d/-v options since\n88e21dc746 (\"Teach bash about completing arguments for git-tag\",\n2007-08-31).  The long options were not added to \"git tag\" until many\nyears later, in c97eff5a95 (\"git-tag: introduce long forms for the\noptions\", 2011-08-28).\n\nExtend tag name completion to --delete/--verify.\n\nSigned-off-by: Todd Zullinger <tmz@pobox.com>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":false,"url":"https://api.github.com/repos/peff/git/commits/1775e990f793965dcfc2cf62f4efccf0f2c21e28"},{"sha":"9ee0540a40988cf56611a341232dcb5bed6d1f06","author":{"name":"Johannes Schindelin","email":"c714eff280a95c3e5bbcc9303c4499eebb0d49aa@gmx.de"},"message":"mingw: abort on invalid strftime formats\n\nOn Windows, strftime() does not silently ignore invalid formats, but\nwarns about them and then returns 0 and sets errno to EINVAL.\n\nUnfortunately, Git does not expect such a behavior, as it disagrees\nwith strftime()'s semantics on Linux. As a consequence, Git\nmisinterprets the return value 0 as \"I need more space\" and grows the\nbuffer. As the larger buffer does not fix the format, the buffer grows\nand grows and grows until we are out of memory and abort.\n\nIdeally, we would switch off the parameter validation just for\nstrftime(), but we cannot even override the invalid parameter handler\nvia _set_thread_local_invalid_parameter_handler() using MINGW because\nthat function is not declared. Even _set_invalid_parameter_handler(),\nwhich *is* declared, does not help, as it simply does... nothing.\n\nSo let's just bite the bullet and override strftime() for MINGW and\nabort on an invalid format string. While this does not provide the\nbest user experience, it is the best we can do.\n\nSee https://msdn.microsoft.com/en-us/library/fe06s4ak.aspx for more\ndetails.\n\nThis fixes https://github.com/git-for-windows/git/issues/863\n\nSigned-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":false,"url":"https://api.github.com/repos/peff/git/commits/9ee0540a40988cf56611a341232dcb5bed6d1f06"},{"sha":"206a6ae01355e4d5d0e01e6d99d960fcc907e6b3","author":{"name":"Michele Locati","email":"a2a7bb24b8cf5fcfc2da6d2a0edda88905ccd6c0@locati.it"},"message":"filter-branch: use printf instead of echo -e\n\nIn order to echo a tab character, it's better to use printf instead of\n\"echo -e\", because it's more portable (for instance, \"echo -e\" doesn't work\nas expected on a Mac).\n\nThis solves the \"fatal: Not a valid object name\" error in git-filter-branch\nwhen using the --state-branch option.\n\nFurthermore, let's switch from \"/bin/echo\" to just \"echo\", so that the\nbuilt-in echo command is used where available.\n\nSigned-off-by: Michele Locati <michele@locati.it>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":false,"url":"https://api.github.com/repos/peff/git/commits/206a6ae01355e4d5d0e01e6d99d960fcc907e6b3"},{"sha":"156e1782a88d882faf66680b5155a1c140e86a56","author":{"name":"Ramsay Jones","email":"5f27f63ff4a7d14be74386ad2c8a8b5eb52d0e05@ramsayjones.plus.com"},"message":"-Wuninitialized: remove some 'init-self' workarounds\n\nThe 'self-initialised' variables construct (ie <type> var = var;) has\nbeen used to silence gcc '-W[maybe-]uninitialized' warnings. This has,\nunfortunately, caused MSVC to issue 'uninitialized variable' warnings.\nAlso, using clang static analysis causes complaints about an 'Assigned\nvalue is garbage or undefined'.\n\nThere are six such constructs in the current codebase. Only one of the\nsix causes gcc to issue a '-Wmaybe-uninitialized' warning (which will\nbe addressed elsewhere). The remaining five 'init-self' gcc workarounds\nare noted below, along with the commit which introduced them:\n\n  1. builtin/rev-list.c: 'reaches' and 'all', see commit 457f08a030\n     (\"git-rev-list: add --bisect-vars option.\", 2007-03-21).\n\n  2. merge-recursive.c:2064 'mrtree', see commit f120ae2a8e (\"merge-\n     recursive.c: mrtree in merge() is not used before set\", 2007-10-29).\n\n  3. fast-import.c:3023 'oe', see commit 85c62395b1 (\"fast-import: let\n     importers retrieve blobs\", 2010-11-28).\n\n  4. fast-import.c:3006 'oe', see commit 28c7b1f7b7 (\"fast-import: add a\n     get-mark command\", 2015-07-01).\n\nRemove the 'self-initialised' variable constructs noted above.\n\nSigned-off-by: Ramsay Jones <ramsay@ramsayjones.plus.com>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":false,"url":"https://api.github.com/repos/peff/git/commits/156e1782a88d882faf66680b5155a1c140e86a56"},{"sha":"00a4b0350198ce2039af2360ff5d83a1f8ee6cd9","author":{"name":"Ramsay Jones","email":"5f27f63ff4a7d14be74386ad2c8a8b5eb52d0e05@ramsayjones.plus.com"},"message":"read-cache: fix an -Wmaybe-uninitialized warning\n\nThe function ce_write_entry() uses a 'self-initialised' variable\nconstruct, for the symbol 'saved_namelen', to suppress a gcc\n'-Wmaybe-uninitialized' warning, given that the warning is a false\npositive.\n\nFor the purposes of this discussion, the ce_write_entry() function has\nthree code blocks of interest, that look like so:\n\n        /* block #1 */\n        if (ce->ce_flags & CE_STRIP_NAME) {\n                saved_namelen = ce_namelen(ce);\n                ce->ce_namelen = 0;\n        }\n\n        /* block #2 */\n        /*\n\t * several code blocks that contain, among others, calls\n         * to copy_cache_entry_to_ondisk(ondisk, ce);\n         */\n\n        /* block #3 */\n        if (ce->ce_flags & CE_STRIP_NAME) {\n                ce->ce_namelen = saved_namelen;\n                ce->ce_flags &= ~CE_STRIP_NAME;\n        }\n\nThe warning implies that gcc thinks it is possible that the first\nblock is not entered, the calls to copy_cache_entry_to_ondisk()\ncould toggle the CE_STRIP_NAME flag on, thereby entering block #3\nwith saved_namelen unset. However, the copy_cache_entry_to_ondisk()\nfunction does not write to ce->ce_flags (it only reads). gcc could\neasily determine this, since that function is local to this file,\nbut it obviously doesn't.\n\nIn order to suppress this warning, we make it clear to the reader\n(human and compiler), that block #3 will only be entered when the\nfirst block has been entered, by introducing a new 'stripped_name'\nboolean variable. We also take the opportunity to change the type\nof 'saved_namelen' to 'unsigned int' to match ce->ce_namelen.\n\nSigned-off-by: Ramsay Jones <ramsay@ramsayjones.plus.com>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":false,"url":"https://api.github.com/repos/peff/git/commits/00a4b0350198ce2039af2360ff5d83a1f8ee6cd9"},{"sha":"b635ed97a06e10e6b562d8a4356444ac8e31dce8","author":{"name":"Jeff King","email":"7e57302763bea699aee296fb53304dc616ab92d5@peff.net"},"message":"doc/gitattributes: mention non-recursive behavior\n\nThe gitattributes documentation claims that the pattern\nrules are largely the same as for gitignore. However, the\nrules for recursion are different.\n\nIn an ideal world, we would make them the same (if for\nnothing else than consistency and simplicity), but that\nwould create backwards compatibility issues. For some\ndiscussion, see this thread:\n\n  https://public-inbox.org/git/slrnkldd3g.1l4.jan@majutsushi.net/\n\nBut let's at least document the differences instead of\nactively misleading the user by claiming that they're the\nsame.\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/peff/git/commits/b635ed97a06e10e6b562d8a4356444ac8e31dce8"},{"sha":"75901dfd52ef97df51621a23156db96c9cd4a90b","author":{"name":"Junio C Hamano","email":"3228067b6039a0d99bddaf967dafdecd5cc61600@pobox.com"},"message":"Merge branch 'ma/config-page-only-in-list-mode'\n\nIn a way similar to how \"git tag\" learned to honor the pager\nsetting only in the list mode, \"git config\" learned to ignore the\npager setting when it is used for setting values (i.e. when the\npurpose of the operation is not to \"show\").\n\n* ma/config-page-only-in-list-mode:\n  config: change default of `pager.config` to \"on\"\n  config: respect `pager.config` in list/get-mode only\n  t7006: add tests for how git config paginates","distinct":false,"url":"https://api.github.com/repos/peff/git/commits/75901dfd52ef97df51621a23156db96c9cd4a90b"},{"sha":"beb2cdf5041104a7513301a9b20944a617eec94e","author":{"name":"Junio C Hamano","email":"3228067b6039a0d99bddaf967dafdecd5cc61600@pobox.com"},"message":"Merge branch 'ma/skip-writing-unchanged-index'\n\nInternal API clean-up to allow write_locked_index() optionally skip\nwriting the in-core index when it is not modified.\n\n* ma/skip-writing-unchanged-index:\n  write_locked_index(): add flag to avoid writing unchanged index","distinct":false,"url":"https://api.github.com/repos/peff/git/commits/beb2cdf5041104a7513301a9b20944a617eec94e"}]}
{"actor":{"display_login":"peff"}}