{"push_id":972547962,"size":38,"distinct_size":0,"ref":"refs/heads/jk/credential-interactive","head":"22a1efadcd0cb31fb4948fdaadda5495325d4893","before":"ca014dbc17f3ec899753e7d9a6090686eab95872","commits":[{"sha":"9624a22ac603d3d59622b1f45a62d02f5fe55a25","author":{"email":"58cc993db606fd7043084d51c23db751557f1001@gmail.com","name":"Christian Couder"},"message":"dir: free untracked cache when removing it\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/peff/git/commits/9624a22ac603d3d59622b1f45a62d02f5fe55a25"},{"sha":"06b6b68ff943de9e5c2f537807c054cd536731d1","author":{"email":"ae1612baeac2c94189da6526d748806017c7e8d3@gmail.com","name":"Will Palmer"},"message":"test for '!' handling in rev-parse's named commits\n\nIn anticipation of extending this behaviour, add tests verifying the\nhandling of exclamation marks when looking up a commit \"by name\".\n\nSpecifically, as documented: '<rev>^{/!Message}' should fail, as the '!'\nprefix is reserved; while '<rev>^{!!Message}' should search for a commit\nwhose message contains the string \"!Message\".\n\nSigned-off-by: Will Palmer <wmpalmer@gmail.com>\nSigned-off-by: Stephen P. Smith <ischis2@cox.net>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":false,"url":"https://api.github.com/repos/peff/git/commits/06b6b68ff943de9e5c2f537807c054cd536731d1"},{"sha":"d4cddd66d7ab620fe449ab01382b27178c908c10","author":{"email":"024f400cd820cb2ddbe54c7fecfd01e45f30bb96@gmail.com","name":"Nguyễn Thái Ngọc Duy"},"message":"worktree.c: fix indentation\n\nSigned-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":false,"url":"https://api.github.com/repos/peff/git/commits/d4cddd66d7ab620fe449ab01382b27178c908c10"},{"sha":"618244e160cb0777bc8d41055f7de0192b10ea0f","author":{"email":"024f400cd820cb2ddbe54c7fecfd01e45f30bb96@gmail.com","name":"Nguyễn Thái Ngọc Duy"},"message":"worktree: stop supporting moving worktrees manually\n\nThe current update_linked_gitdir() has a bug that can create \"gitdir\"\nfile in non-multi-worktree setup. Worse, sometimes it can write relative\npath to \"gitdir\" file, which will not work (e.g. \"git worktree list\"\nwill display the worktree's location incorrectly)\n\nInstead of fixing this, we step back a bit. The original design was\nprobably not well thought out. For now, if the user manually moves a\nworktree, they have to fix up \"gitdir\" file manually or the worktree\nwill get pruned.\n\nHelped-by: Eric Sunshine <sunshine@sunshineco.com>\nSigned-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":false,"url":"https://api.github.com/repos/peff/git/commits/618244e160cb0777bc8d41055f7de0192b10ea0f"},{"sha":"113e6413187c65a9fbf2b845a1fb31c7d17c0755","author":{"email":"58cc993db606fd7043084d51c23db751557f1001@gmail.com","name":"Christian Couder"},"message":"update-index: use enum for untracked cache options\n\nHelped-by: Duy Nguyen <pclouds@gmail.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/peff/git/commits/113e6413187c65a9fbf2b845a1fb31c7d17c0755"},{"sha":"eaab83d0e574c9f3440a2364a7975f9ffe75f188","author":{"email":"58cc993db606fd7043084d51c23db751557f1001@gmail.com","name":"Christian Couder"},"message":"update-index: add --test-untracked-cache\n\nIt is nice to just be able to test if untracked cache is\nsupported without enabling it.\n\nHelped-by: David Turner <dturner@twopensource.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/peff/git/commits/eaab83d0e574c9f3440a2364a7975f9ffe75f188"},{"sha":"6d19db1491f1f48c5112f460e1f2d2e359e113c9","author":{"email":"58cc993db606fd7043084d51c23db751557f1001@gmail.com","name":"Christian Couder"},"message":"update-index: add untracked cache notifications\n\nAttempting to flip the untracked-cache feature on for a random index\nfile with\n\n    cd /random/unrelated/place\n    git --git-dir=/somewhere/else/.git update-index --untracked-cache\n\nwould not work as you might expect. Because flipping the feature on\nin the index also records the location of the corresponding working\ntree (/random/unrelated/place in the above example), when the index\nis subsequently used to keep track of files in the working tree in\n/somewhere/else, the feature is disabled.\n\nWith this patch \"git update-index --[test-]untracked-cache\" tells the\nuser in which directory tests are performed. This makes it easy to\nspot any problem.\n\nAlso in verbose mode, let's tell the user when the cache is enabled\nor disabled.\n\nHelped-by: Duy Nguyen <pclouds@gmail.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/peff/git/commits/6d19db1491f1f48c5112f460e1f2d2e359e113c9"},{"sha":"e7c0c5354be01bedb4c6f0ad3b095ff0bfefa272","author":{"email":"58cc993db606fd7043084d51c23db751557f1001@gmail.com","name":"Christian Couder"},"message":"update-index: move 'uc' var declaration\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/peff/git/commits/e7c0c5354be01bedb4c6f0ad3b095ff0bfefa272"},{"sha":"4a4ca4796df6b81d5995f31e87e9e6a64c2b889d","author":{"email":"58cc993db606fd7043084d51c23db751557f1001@gmail.com","name":"Christian Couder"},"message":"dir: add {new,add}_untracked_cache()\n\nFactor out code into new_untracked_cache() and\nadd_untracked_cache(), which will be used\nin later commits.\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/peff/git/commits/4a4ca4796df6b81d5995f31e87e9e6a64c2b889d"},{"sha":"07b29bfd8d3de9a16c1c93e285b6980ca6b77b45","author":{"email":"58cc993db606fd7043084d51c23db751557f1001@gmail.com","name":"Christian Couder"},"message":"dir: add remove_untracked_cache()\n\nFactor out code into remove_untracked_cache(), which will be used\nin a later commit.\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/peff/git/commits/07b29bfd8d3de9a16c1c93e285b6980ca6b77b45"},{"sha":"0e0f761842eafb51c1a5d93fbc84470e2d7ee7c3","author":{"email":"58cc993db606fd7043084d51c23db751557f1001@gmail.com","name":"Christian Couder"},"message":"dir: simplify untracked cache \"ident\" field\n\nIt is not a good idea to compare kernel versions and disable\nthe untracked cache if it changes, as people may upgrade and\nstill want the untracked cache to work. So let's just\ncompare work tree locations and kernel name to decide if we\nshould disable it.\n\nAlso storing many locations in the ident field and comparing\nto any of them can be dangerous if GIT_WORK_TREE is used with\ndifferent values. So let's just store one location, the\nlocation of the current work tree.\n\nThe downside is that untracked cache can only be used by one\ntype of OS for now. Exporting a git repo to different clients\nvia a network to e.g. Linux and Windows means that only one\ncan use the untracked cache.\n\nIf the location changed in the ident field and we still want\nan untracked cache, let's delete the cache and recreate it.\n\nNote that if an untracked cache has been created by a\nprevious Git version, then the kernel version is stored in\nthe ident field. As we now compare with just the kernel\nname the comparison will fail and the untracked cache will\nbe disabled until it's recreated.\n\nHelped-by: Torsten Bögershausen <tboegi@web.de>\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/peff/git/commits/0e0f761842eafb51c1a5d93fbc84470e2d7ee7c3"},{"sha":"86efa215276aaeaef0c556c73f1993b6f36dcf91","author":{"email":"53fb8db7833fca1e1746dd8592f61048d350f64c@gmx.de","name":"Johannes Schindelin"},"message":"merge-file: let conflict markers match end-of-line style of the context\n\nWhen merging files with CR/LF line endings, the conflict markers should\nmatch those, lest the output file has mixed line endings.\n\nThis is particularly of interest on Windows, where some editors get\n*really* confused by mixed line endings.\n\nThe original version of this patch by Beat Bolli respected core.eol, and\na subsequent improvement by this developer also respected gitattributes.\nThis approach was suboptimal, though: `git merge-file` was invented as a\ndrop-in replacement for GNU merge and as such has no problem operating\noutside of any repository at all!\n\nAnother problem with the original approach was pointed out by Junio\nHamano: legacy repositories might have their text files committed using\nCR/LF line endings (and core.eol and the gitattributes would give us a\nfalse impression there). Therefore, the much superior approach is to\nsimply match the context's line endings, if any.\n\nWe actually do not have to look at the *entire* context at all: if the\nfiles are all LF-only, or if they all have CR/LF line endings, it is\nsufficient to look at just a *single* line to match that style. And if\nthe line endings are mixed anyway, it is *still* okay to imitate just a\nsingle line's eol: we will just add to the pile of mixed line endings,\nand there is nothing we can do about that.\n\nSo what we do is: we look at the line preceding the conflict, falling\nback to the line preceding that in case it was the last line and had no\nline ending, falling back to the first line, first in the first\npost-image, then the second post-image, and finally the pre-image.\nIf we find consistent CR/LF (or undecided) end-of-line style, we match\nthat, otherwise we use LF-only line endings for the conflict markers.\n\nNote that while it is true that there have to be at least two lines we\ncan look at (otherwise there would be no conflict), the same is not true\nfor line *endings*: the three files in question could all consist of a\nsingle line without any line ending, each. In this case we fall back to\nusing LF-only.\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/86efa215276aaeaef0c556c73f1993b6f36dcf91"},{"sha":"15980deab9f41324aba5cc9536e463d204bafe63","author":{"email":"53fb8db7833fca1e1746dd8592f61048d350f64c@gmx.de","name":"Johannes Schindelin"},"message":"merge-file: ensure that conflict sections match eol style\n\nIn the previous patch, we made sure that the conflict markers themselves\nmatch the end-of-line style of the input files. However, this still left\nout the conflicting text itself: if it lacks a trailing newline, we\nadd one, and should add a carriage return when appropriate, too.\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/15980deab9f41324aba5cc9536e463d204bafe63"},{"sha":"435ec090ec6aed9c533e096b31947b3fa765548e","author":{"email":"58cc993db606fd7043084d51c23db751557f1001@gmail.com","name":"Christian Couder"},"message":"config: add core.untrackedCache\n\nWhen we know that mtime on directory as given by the environment\nis usable for the purpose of untracked cache, we may want the\nuntracked cache to be always used without any mtime test or\nkernel name check being performed.\n\nAlso when we know that mtime is not usable for the purpose of\nuntracked cache, for example because the repo is shared over a\nnetwork file system, we may want the untracked-cache to be\nautomatically removed from the index.\n\nAllow the user to express such preference by setting the\n'core.untrackedCache' configuration variable, which can take\n'keep', 'false', or 'true' and default to 'keep'.\n\nWhen read_index_from() is called, it now adds or removes the\nuntracked cache in the index to respect the value of this\nvariable. So it does nothing if the value is `keep` or if the\nvariable is unset; it adds the untracked cache if the value is\n`true`; and it removes the cache if the value is `false`.\n\n`git update-index --[no-|force-]untracked-cache` still adds the\nuntracked cache to, or removes it, from the index, but this\nshows a warning if it goes against the value of\ncore.untrackedCache, because the next time the index is read\nthe untracked cache will be added or removed if the\nconfiguration is set to do so.\n\nAlso `--untracked-cache` used to check that the underlying\noperating system and file system change `st_mtime` field of a\ndirectory if files are added or deleted in that directory. But\nbecause those tests take a long time, `--untracked-cache` no\nlonger performs them. Instead, there is now\n`--test-untracked-cache` to perform the tests. This change\nmakes `--untracked-cache` the same as `--force-untracked-cache`.\n\nThis last change is backward incompatible and should be\nmentioned in the release notes.\n\nHelped-by: Duy Nguyen <pclouds@gmail.com>\nHelped-by: Torsten Bögershausen <tboegi@web.de>\nHelped-by: Stefan Beller <sbeller@google.com>\nSigned-off-by: Christian Couder <chriscool@tuxfamily.org>\nSigned-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>\n\nread-cache: Duy'sfixup\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/peff/git/commits/435ec090ec6aed9c533e096b31947b3fa765548e"},{"sha":"dae6c322fa106d72dabd7551f388715e6a9f2ebf","author":{"email":"58cc993db606fd7043084d51c23db751557f1001@gmail.com","name":"Christian Couder"},"message":"test-dump-untracked-cache: don't modify the untracked cache\n\nTo correctly perform its testing function,\ntest-dump-untracked-cache should not change the state of the\nuntracked cache in the index.\n\nAs a previous patch makes read_index_from() change the state of\nthe untracked cache and as test-dump-untracked-cache indirectly\ncalls this function, we need a mechanism to prevent\nread_index_from() from changing the untracked cache state when\nit's called from test-dump-untracked-cache.\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/peff/git/commits/dae6c322fa106d72dabd7551f388715e6a9f2ebf"},{"sha":"7c121788f4c93a29dbec0d61b3cd986a757a5077","author":{"email":"58cc993db606fd7043084d51c23db751557f1001@gmail.com","name":"Christian Couder"},"message":"t7063: add tests for core.untrackedCache\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/peff/git/commits/7c121788f4c93a29dbec0d61b3cd986a757a5077"},{"sha":"f3ee9ca53bc04e9770747ea58951135d60b11a8d","author":{"email":"8c2951295f8292b0c03727bc4652981172298eae@yhbt.net","name":"Eric Wong"},"message":"pass transport verbosity down to git_connect\n\nWhile working in connect.c to perform non-blocking connections,\nI noticed calling \"git fetch -v\" was not causing the progress\nmessages inside git_tcp_connect_sock to be emitted as I\nexpected.\n\nLooking at history, it seems connect_setup has never been called\nwith the verbose parameter.  Since transport already has a\n\"verbose\" field, use that field instead of another parameter\nin connect_setup.\n\nSigned-off-by: Eric Wong <normalperson@yhbt.net>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":false,"url":"https://api.github.com/repos/peff/git/commits/f3ee9ca53bc04e9770747ea58951135d60b11a8d"},{"sha":"1a8630dc3b1cc6f1361a4e5d94630133c24c97d9","author":{"email":"5a28c51a1a2fd940035a2c87b954b4548c87165f@gmail.com","name":"Lars Schneider"},"message":"convert: treat an empty string for clean/smudge filters as \"cat\"\n\nOnce a lower-priority configuration file defines a clean or smudge\nfilter, there is no convenient way to override it to produce as-is\noutput.  Even though the configuration mechanism implements \"the\nlast one wins\" semantics, you cannot set them to an empty string and\nexpect them to work, as apply_filter() would try to run the empty\nstring as an external command and fail.  The conversion is not done,\nbut the function would still report a failure to convert.\n\nEven though resetting the variable to \"cat\" (i.e. pass the data back\nas-is and report success) is an obvious and a viable way to solve\nthis, it is wasteful to spawn an external process just as a\nworkaround.\n\nInstead, teach apply_filter() to treat an empty string as a no-op\nfilter that always returns successfully its input as-is without\nconversion.\n\nSigned-off-by: Lars Schneider <larsxschneider@gmail.com>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":false,"url":"https://api.github.com/repos/peff/git/commits/1a8630dc3b1cc6f1361a4e5d94630133c24c97d9"},{"sha":"0769854f3db2c09c8b5993ea023ea07ddc1eb6eb","author":{"email":"ae1612baeac2c94189da6526d748806017c7e8d3@gmail.com","name":"Will Palmer"},"message":"object name: introduce '^{/!-<negative pattern>}' notation\n\nTo name a commit, you can now use the :/!-<negative pattern> regex\nstyle, and consequentially, say\n\n    $ git rev-parse HEAD^{/!-foo}\n\nand it will return the hash of the first commit reachable from HEAD,\nwhose commit message does not contain \"foo\". This is the opposite of the\nexisting <rev>^{/<pattern>} syntax.\n\nThe specific use-case this is intended for is to perform an operation,\nexcluding the most-recent commits containing a particular marker. For\nexample, if you tend to make \"work in progress\" commits, with messages\nbeginning with \"WIP\", you work, then it could be useful to diff against\n\"the most recent commit which was not a WIP commit\". That sort of thing\nnow possible, via commands such as:\n\n    $ git diff @^{/!-^WIP}\n\nThe leader '/!-', rather than simply '/!', to denote a negative match,\nis chosen to leave room for additional modifiers in the future.\n\nSigned-off-by: Will Palmer <wmpalmer@gmail.com>\nSigned-off-by: Stephen P. Smith <ischis2@cox.net>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":false,"url":"https://api.github.com/repos/peff/git/commits/0769854f3db2c09c8b5993ea023ea07ddc1eb6eb"},{"sha":"0d4cc1b45bf063b3a46654098a9fb85f82f386a7","author":{"email":"696e3fbcf235d40b6ea1ebd61c87cbea79d444e7@peff.net","name":"Jeff King"},"message":"give \"nbuf\" strbuf a more meaningful name\n\nIt's a common pattern in our code to read paths from stdin,\nseparated either by newlines or NULs, and unquote as\nnecessary. In each of these five cases we use \"nbuf\" to\ntemporarily store the unquoted value. Let's give it the more\nmeaningful name \"unquoted\", which makes it easier to\nunderstand the purpose of the variable.\n\nWhile we're at it, let's also static-initialize all of our\nstrbufs. It's not wrong to call strbuf_init, but it\nincreases the cognitive load on the reader, who might wonder\n\"do we sometimes avoid initializing them?  why?\".\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/0d4cc1b45bf063b3a46654098a9fb85f82f386a7"}]}