{"push_id":1776183646,"size":80,"distinct_size":0,"ref":"refs/heads/jk/bitmap-reuse-delta","head":"dc38dcf3360f2c869f1965a3bfec79e6935fa427","before":"43112ed8517fcbfffbf5a69997a9d8a0a7c1202f","commits":[{"sha":"072473e6593783a291a7bb5249086985268e6b9f","author":{"name":"Ævar Arnfjörð Bjarmason","email":"f39cfd0b24e0a81f65944956d2eafe947e5be136@gmail.com"},"message":"Makefile & configure: reword inaccurate comment about PCRE\n\nReword an outdated & inaccurate comment which suggests that only\ngit-grep can use PCRE.\n\nThis comment was added back when PCRE support was initially added in\ncommit 63e7e9d8b6 (\"git-grep: Learn PCRE\", 2011-05-09), and was true\nat the time.\n\nIt hasn't been telling the full truth since git-log learned to use\nPCRE with --grep in commit 727b6fc3ed (\"log --grep: accept\n--basic-regexp and --perl-regexp\", 2012-10-03), and more importantly\nis likely to get more inaccurate over time as more use is made of PCRE\nin other areas.\n\nReword it to be more future-proof, and to more clearly explain that\nthis enables user-initiated runtime behavior.\n\nCopy/pasting this so much in configure.ac is lame, these Makefile-like\nflags aren't even used by autoconf, just the corresponding\n--with[out]-* options. But copy/pasting the comments that make sense\nfor the Makefile to configure.ac where they make less sense is the\npattern everything else follows in that file. I'm not going to war\nagainst that as part of this change, just following the existing\npattern.\n\nSigned-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":false,"url":"https://api.github.com/repos/peff/git/commits/072473e6593783a291a7bb5249086985268e6b9f"},{"sha":"d048cb13c237655d7637c36b5cbe1eed263987c8","author":{"name":"Ævar Arnfjörð Bjarmason","email":"f39cfd0b24e0a81f65944956d2eafe947e5be136@gmail.com"},"message":"grep & rev-list doc: stop promising libpcre for --perl-regexp\n\nStop promising in our grep & rev-list options documentation that we're\nalways going to be using libpcre when given the --perl-regexp option.\n\nInstead talk about using \"Perl-compatible regular expressions\" and\nusing these types of patterns using \"a compile-time dependency\".\n\nSaying \"libpcre\" means that we're talking about libpcre.so, which is\nalways going to be v1. This change is part of an ongoing saga to add\nsupport for libpcre2, which comes with PCRE v2.\n\nIn the future we might use some completely unrelated library to\nprovide perl-compatible regular expression support. By wording the\ndocumentation differently and not promising any specific version of\nPCRE or even PCRE at all we have more wiggle room to change the\nimplementation.\n\nSigned-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":false,"url":"https://api.github.com/repos/peff/git/commits/d048cb13c237655d7637c36b5cbe1eed263987c8"},{"sha":"3eb585c112a75c1b2d1ecf0e98e4c2ad12750afa","author":{"name":"Ævar Arnfjörð Bjarmason","email":"f39cfd0b24e0a81f65944956d2eafe947e5be136@gmail.com"},"message":"test-lib: rename the LIBPCRE prerequisite to PCRE\n\nRename the LIBPCRE prerequisite to PCRE. This is for preparation for\nlibpcre2 support, where having just \"LIBPCRE\" would be confusing as it\nimplies v1 of the library.\n\nNone of these tests are incompatible between versions 1 & 2 of\nlibpcre, it's less confusing to give them a more general name to make\nit clear that they work on both library versions.\n\nSigned-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":false,"url":"https://api.github.com/repos/peff/git/commits/3eb585c112a75c1b2d1ecf0e98e4c2ad12750afa"},{"sha":"9df46763ef1ee46f2dc1de768b1403552779d011","author":{"name":"Ævar Arnfjörð Bjarmason","email":"f39cfd0b24e0a81f65944956d2eafe947e5be136@gmail.com"},"message":"log: add exhaustive tests for pattern style options & config\n\nAdd exhaustive tests for how the different grep.patternType options &\nthe corresponding command-line options affect git-log.\n\nBefore this change it was possible to patch revision.c so that the\n--basic-regexp option was synonymous with --extended-regexp, and\n--perl-regexp wasn't recognized at all, and still have 100% of the\ntest suite pass.\n\nThis was because the first test being modified here, added in commit\n34a4ae55b2 (\"log --grep: use the same helper to set -E/-F options as\n\"git grep\"\", 2012-10-03), didn't actually check whether we'd enabled\nextended regular expressions as distinct from re-toggling non-fixed\nstring support.\n\nFix that by changing the pattern to a pattern that'll only match if\n--extended-regexp option is provided, but won't match under the\ndefault --basic-regexp option.\n\nOther potential regressions were possible since there were no tests\nfor the rest of the combinations of grep.patternType configuration\ntoggles & corresponding git-log command-line options. Add exhaustive\ntests for those.\n\nThe patterns being passed to fixed/basic/extended/PCRE are carefully\ncrafted to return the wrong thing if the grep engine were to pick any\nother matching method than the one it's told to use.\n\nSigned-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":false,"url":"https://api.github.com/repos/peff/git/commits/9df46763ef1ee46f2dc1de768b1403552779d011"},{"sha":"9e3cbc59d5ec9d1b53c0c2e8c81fa2f3adca5696","author":{"name":"Ævar Arnfjörð Bjarmason","email":"f39cfd0b24e0a81f65944956d2eafe947e5be136@gmail.com"},"message":"log: make --regexp-ignore-case work with --perl-regexp\n\nMake the --regexp-ignore-case option work with --perl-regexp. This\nnever worked, and there was no test for this. Fix the bug and add a\ntest.\n\nWhen PCRE support was added in commit 63e7e9d8b6 (\"git-grep: Learn\nPCRE\", 2011-05-09) compile_pcre_regexp() would only check\nopt->ignore_case, but when the --perl-regexp option was added in\ncommit 727b6fc3ed (\"log --grep: accept --basic-regexp and\n--perl-regexp\", 2012-10-03) the code didn't set the opt->ignore_case.\n\nChange the test suite to test for -i and --invert-regexp with\nbasic/extended/perl patterns in addition to fixed, which was the only\npatternType that was tested for before in combination with those\noptions.\n\nSigned-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":false,"url":"https://api.github.com/repos/peff/git/commits/9e3cbc59d5ec9d1b53c0c2e8c81fa2f3adca5696"},{"sha":"9001c1920c9b812efc671bdc0c313d0a3418d8ee","author":{"name":"Ævar Arnfjörð Bjarmason","email":"f39cfd0b24e0a81f65944956d2eafe947e5be136@gmail.com"},"message":"grep: add a test asserting that --perl-regexp dies when !PCRE\n\nAdd a test asserting that when --perl-regexp (and -P for grep) is\ngiven to git-grep & git-log that we die with an error.\n\nIn developing the PCRE v2 series I introduced a regression where -P\nwould (through control-flow fall-through) become synonymous with basic\nPOSIX matching. I.e. 'git grep -P '[\\d]' would match \"d\" instead of\ndigits.\n\nThe entire test suite would still pass with this serious regression,\nsince everything that tested for --perl-regexp would be guarded by the\nPCRE prerequisite, fix that blind-spot by adding tests under !PCRE\nasserting that git must die when given --perl-regexp or -P.\n\nSigned-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":false,"url":"https://api.github.com/repos/peff/git/commits/9001c1920c9b812efc671bdc0c313d0a3418d8ee"},{"sha":"4aeb720d3f997bf09cff2c8c92f74da400950b24","author":{"name":"Ævar Arnfjörð Bjarmason","email":"f39cfd0b24e0a81f65944956d2eafe947e5be136@gmail.com"},"message":"grep: add a test for backreferences in PCRE patterns\n\nAdd a test for backreferences such as (.)\\1 in PCRE patterns. This\ntest ensures that the PCRE_NO_AUTO_CAPTURE option isn't turned\non. Before this change turning it on would break these sort of\npatterns, but wouldn't break any tests.\n\nSigned-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":false,"url":"https://api.github.com/repos/peff/git/commits/4aeb720d3f997bf09cff2c8c92f74da400950b24"},{"sha":"e01b4dab01e4d0c8ae57647279c1075ec56d2b58","author":{"name":"Ævar Arnfjörð Bjarmason","email":"f39cfd0b24e0a81f65944956d2eafe947e5be136@gmail.com"},"message":"grep: change non-ASCII -i test to stop using --debug\n\nChange a non-ASCII case-insensitive test case to stop using --debug,\nand instead simply test for the expected results.\n\nThe test coverage remains the same with this change, but the test\nwon't break due to internal refactoring.\n\nThis test was added in commit 793dc676e0 (\"grep/icase: avoid kwsset\nwhen -F is specified\", 2016-06-25). It was asserting that the regex\nmust be compiled with compile_fixed_regexp(), instead test for the\nexpected results, allowing the underlying implementation to change.\n\nSigned-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":false,"url":"https://api.github.com/repos/peff/git/commits/e01b4dab01e4d0c8ae57647279c1075ec56d2b58"},{"sha":"c5813658f762792bcd0f418ba0dac50f0626d2b9","author":{"name":"Ævar Arnfjörð Bjarmason","email":"f39cfd0b24e0a81f65944956d2eafe947e5be136@gmail.com"},"message":"grep: add tests for --threads=N and grep.threads\n\nAdd tests for --threads=N being supplied on the command-line, or when\ngrep.threads=N being supplied in the configuration.\n\nWhen the threading support was made run-time configurable in commit\n89f09dd34e (\"grep: add --threads=<num> option and grep.threads\nconfiguration\", 2015-12-15) no tests were added for it.\n\nIn developing a change to the grep code I was able to make\n'--threads=1 <pat>` segfault, while the test suite still passed. This\nchange fixes that blind spot in the tests.\n\nIn addition to asserting that asking for N threads shouldn't segfault,\ntest that the grep output given any N is the same.\n\nThe choice to test only 1..10 as opposed to 1..8 or 1..16 or whatever\nis arbitrary. Testing 1..1024 works locally for me (but gets\nnoticeably slower as more threads are spawned). Given the structure of\nthe code there's no reason to test an arbitrary number of threads,\nonly 0, 1 and >=2 are special modes of operation.\n\nA later patch introduces a PTHREADS test prerequisite which is true\nunder NO_PTHREADS=UnfortunatelyYes, but even under NO_PTHREADS it's\nfine to test --threads=N, we'll just ignore it and not use\nthreading. So these tests also make sense under that mode to assert\nthat --threads=N without pthreads still returns expected results.\n\nSigned-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":false,"url":"https://api.github.com/repos/peff/git/commits/c5813658f762792bcd0f418ba0dac50f0626d2b9"},{"sha":"5d52a30edaa8bbfd502e88250e3170673b07204b","author":{"name":"Ævar Arnfjörð Bjarmason","email":"f39cfd0b24e0a81f65944956d2eafe947e5be136@gmail.com"},"message":"grep: amend submodule recursion test for regex engine testing\n\nAmend the submodule recursion test to prepare it for subsequent tests\nof whether it passes along the grep.patternType to the submodule\ngreps.\n\nThis is the result of searching & replacing:\n\n    foobar -> (1|2)d(3|4)\n    foo    -> (1|2)\n    bar    -> (3|4)\n\nCurrently there's no tests for whether e.g. -P or -E is correctly\npassed along, tests for that will be added in a follow-up change, but\nfirst add content to the tests which will match differently under\ndifferent regex engines.\n\nReuse the pattern established in an earlier commit of mine in this\nseries (\"log: add exhaustive tests for pattern style options &\nconfig\", 2017-04-07). The pattern \"(.|.)[\\d]\" will match this content\ndifferently under fixed/basic/extended & perl.\n\nThis test code was originally added in commit 0281e487fd (\"grep:\noptionally recurse into submodules\", 2016-12-16).\n\nSigned-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":false,"url":"https://api.github.com/repos/peff/git/commits/5d52a30edaa8bbfd502e88250e3170673b07204b"},{"sha":"5ee6f1a21b60be8a7c7d24ad6aa60939ca5efbda","author":{"name":"Ævar Arnfjörð Bjarmason","email":"f39cfd0b24e0a81f65944956d2eafe947e5be136@gmail.com"},"message":"grep: add tests for grep pattern types being passed to submodules\n\nAdd testing for grep pattern types being correctly passed to\nsubmodules. The pattern \"(.|.)[\\d]\" matches differently under\nfixed (not at all), and then matches different lines under\nbasic/extended & perl regular expressions, so this change asserts that\nthe pattern type is passed along correctly.\n\nSigned-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":false,"url":"https://api.github.com/repos/peff/git/commits/5ee6f1a21b60be8a7c7d24ad6aa60939ca5efbda"},{"sha":"77f6f4406fef43130e9c72e32ac5e30c5bbe0b9e","author":{"name":"Ævar Arnfjörð Bjarmason","email":"f39cfd0b24e0a81f65944956d2eafe947e5be136@gmail.com"},"message":"grep: add a test helper function for less verbose -f \\0 tests\n\nAdd a helper function to make the tests which check for patterns with\n\\0 in them more succinct. Right now this isn't a big win, but\nsubsequent commits will add a lot more of these tests.\n\nThe helper is based on the match() function in t3070-wildmatch.sh.\n\nSigned-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":false,"url":"https://api.github.com/repos/peff/git/commits/77f6f4406fef43130e9c72e32ac5e30c5bbe0b9e"},{"sha":"12fc32faa8b51d33f3793c45ea20ab02b9717574","author":{"name":"Ævar Arnfjörð Bjarmason","email":"f39cfd0b24e0a81f65944956d2eafe947e5be136@gmail.com"},"message":"grep: prepare for testing binary regexes containing rx metacharacters\n\nAdd setup code needed for testing regexes that contain both binary\ndata and regex metacharacters.\n\nThe POSIX regcomp() function inherently can't support that, because it\ntakes a \\0-delimited char *, but other regex engines APIs like PCRE v2\ntake a pattern/length pair, and are thus able to handle \\0s in\npatterns as well as any other character.\n\nWhen kwset was imported in commit 9eceddeec6 (\"Use kwset in grep\",\n2011-08-21) this limitation was fixed, but at the expense of\nintroducing the undocumented limitation that any pattern containing \\0\nimplicitly becomes a fixed match (equivalent to -F having been\nprovided).\n\nThat's not something we'd like to keep in the future. The inability to\nmatch patterns containing \\0 is a leaky implementation detail.\n\nSo add tests as a first step towards changing that. In order to test\nthat \\0-patterns can properly match as regexes the test string needs\nto have some regex metacharacters in it.\n\nThere were other blind spots in the tests. The code around kwset\nspecially handles case-insensitive & non-ASCII data, but there were no\ntests for this.\n\nFix all of that by amending the text being matched to contain both\nregex metacharacters & non-ASCII data.\n\nSigned-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":false,"url":"https://api.github.com/repos/peff/git/commits/12fc32faa8b51d33f3793c45ea20ab02b9717574"},{"sha":"966be95549374916fc2736897b99c4918899b8ca","author":{"name":"Ævar Arnfjörð Bjarmason","email":"f39cfd0b24e0a81f65944956d2eafe947e5be136@gmail.com"},"message":"grep: add tests to fix blind spots with \\0 patterns\n\nAddress a big blind spot in the tests for patterns containing \\0. The\nis_fixed() function considers any string that contains \\0 fixed, even\nif it contains regular expression metacharacters, those patterns are\ncurrently matched with kwset.\n\nBefore this change removing that memchr(s, 0, len) check from\nis_fixed() wouldn't change the result of any of the tests, since\nregcomp() will happily match the part before the \\0.\n\nThe kwset path is dependent on whether the the -i flag is on, and\nwhether the pattern has any non-ASCII characters, but none of this was\ntested for.\n\nSigned-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":false,"url":"https://api.github.com/repos/peff/git/commits/966be95549374916fc2736897b99c4918899b8ca"},{"sha":"88b6197d0b4f5ad480e9585baa984cac51f4771f","author":{"name":"Ævar Arnfjörð Bjarmason","email":"f39cfd0b24e0a81f65944956d2eafe947e5be136@gmail.com"},"message":"perf: add a GIT_PERF_MAKE_COMMAND for when *_MAKE_OPTS won't do\n\nAdd a git GIT_PERF_MAKE_COMMAND variable to compliment the existing\nGIT_PERF_MAKE_OPTS facility. This allows specifying an arbitrary shell\ncommand to execute instead of 'make'.\n\nThis is useful e.g. in cases where the name, semantics or defaults of\na Makefile flag have changed over time. It can even be used to change\nthe contents of the tree, useful for monkeypatching ancient versions\nof git to get them to build.\n\nThis opens Pandora's box in some ways, it's now possible to\n\"jailbreak\" the perf environment and e.g. modify the source tree via\nthis arbitrary instead of just issuing a custom \"make\" command, such a\ncommand has to be re-entrant in the sense that subsequent perf runs\nwill re-use the possibly modified tree.\n\nIt would be pointless to try to mitigate or work around that caveat in\na tool purely aimed at Git developers, so this change makes no attempt\nto do so.\n\nSigned-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":false,"url":"https://api.github.com/repos/peff/git/commits/88b6197d0b4f5ad480e9585baa984cac51f4771f"},{"sha":"b11ad029cb67070f04e131b3afb739da5d086509","author":{"name":"Ævar Arnfjörð Bjarmason","email":"f39cfd0b24e0a81f65944956d2eafe947e5be136@gmail.com"},"message":"perf: emit progress output when unpacking & building\n\nAmend the t/perf/run output so that in addition to the \"Running N\ntests\" heading currently being emitted, it also emits \"Unpacking $rev\"\nand \"Building $rev\" when setting up the build/$rev directory & when\nbuilding it, respectively.\n\nThis makes it easier to see what's going on and what revision is being\ntested as the output scrolls by.\n\nSigned-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":false,"url":"https://api.github.com/repos/peff/git/commits/b11ad029cb67070f04e131b3afb739da5d086509"},{"sha":"b3487ccc0bffc28e134333b164d0d84fdd15d9f4","author":{"name":"Samuel Lijin","email":"c0e6cfc9d3fc344605335ab1304f95770b9aafc0@gmail.com"},"message":"t7300: clean -d should skip dirs with ignored files\n\nIf git sees a directory which contains only untracked and ignored\nfiles, clean -d should not remove that directory. It was recently\ndiscovered that this is *not* true of git clean -d, and it's possible\nthat this has never worked correctly; this test and its accompanying\npatch series aims to fix that.\n\nSigned-off-by: Samuel Lijin <sxlijin@gmail.com>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":false,"url":"https://api.github.com/repos/peff/git/commits/b3487ccc0bffc28e134333b164d0d84fdd15d9f4"},{"sha":"0a81d4a55917514091727696a09ac649d03b57ff","author":{"name":"Samuel Lijin","email":"c0e6cfc9d3fc344605335ab1304f95770b9aafc0@gmail.com"},"message":"t7061: status --ignored should search untracked dirs\n\nPer eb8c5b87, `status --ignored` by design does not list ignored files\nif they are in a directory which contains only ignored and untracked\nfiles (which is itself considered to be untracked) without `-uall`. This\ndoes not make sense for `--ignored`, which claims to \"Show ignored files\nas well.\"\n\nThus we revisit eb8c5b87 and decide that for such directories, `status\n--ignored` will list the directory as untracked *and* list all ignored\nfiles within said directory even without `-uall`.\n\nSigned-off-by: Samuel Lijin <sxlijin@gmail.com>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":false,"url":"https://api.github.com/repos/peff/git/commits/0a81d4a55917514091727696a09ac649d03b57ff"},{"sha":"df5bcdf83aeb94718602ebc8c0f597166bb493f1","author":{"name":"Samuel Lijin","email":"c0e6cfc9d3fc344605335ab1304f95770b9aafc0@gmail.com"},"message":"dir: recurse into untracked dirs for ignored files\n\nWe consider directories containing only untracked and ignored files to\nbe themselves untracked, which in the usual case means we don't have to\nsearch these directories. This is problematic when we want to collect\nignored files with DIR_SHOW_IGNORED_TOO, though, so we teach\nread_directory_recursive() to recurse into untracked directories to find\nthe ignored files they contain when DIR_SHOW_IGNORED_TOO is set. This\nhas the side effect of also collecting all untracked files in untracked\ndirectories as well.\n\nSigned-off-by: Samuel Lijin <sxlijin@gmail.com>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":false,"url":"https://api.github.com/repos/peff/git/commits/df5bcdf83aeb94718602ebc8c0f597166bb493f1"},{"sha":"fb898888491b83c9a3396fb559032ca78807a0c0","author":{"name":"Samuel Lijin","email":"c0e6cfc9d3fc344605335ab1304f95770b9aafc0@gmail.com"},"message":"dir: hide untracked contents of untracked dirs\n\nWhen we taught read_directory_recursive() to recurse into untracked\ndirectories in search of ignored files given DIR_SHOW_IGNORED_TOO, that\nhad the side effect of teaching it to collect the untracked contents of\nuntracked directories. It doesn't always make sense to return these,\nthough (we do need them for `clean -d`), so we introduce a flag\n(DIR_KEEP_UNTRACKED_CONTENTS) to control whether or not read_directory()\nstrips dir->entries of the untracked contents of untracked dirs.\n\nWe also introduce check_contains() to check if one dir_entry corresponds\nto a path which contains the path corresponding to another dir_entry.\n\nThis also fixes known breakages in t7061, since status --ignored now\nsearches untracked directories for ignored files.\n\nSigned-off-by: Samuel Lijin <sxlijin@gmail.com>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":false,"url":"https://api.github.com/repos/peff/git/commits/fb898888491b83c9a3396fb559032ca78807a0c0"}]}
{"actor":{"display_login":"peff"}}