Junio C Hamano <gitster@xxxxxxxxx> writes: > Stefan Beller <sbeller@xxxxxxxxxx> writes: > >> +attr;; >> +After `attr:` comes a space separated list of "attribute >> +... >> ++ > > The text looks OK, but does it format well? I didn't check this, but the remainder would look like this squashable patch. You seem to i18ngrep for "fatal" but we are using test_must_fail for the exit status, so I am not sure if that adds much value, so the additional tests here do nto use that pattern. diff --git a/pathspec.c b/pathspec.c index 693a5e7..0a02255 100644 --- a/pathspec.c +++ b/pathspec.c @@ -115,19 +115,19 @@ static void parse_pathspec_attr_match(struct pathspec_item *item, const char *va const char *attr = si->string; struct attr_match *am = &item->attr_match[j]; - attr_len = strcspn(attr, "="); switch (*attr) { case '!': am->match_mode = MATCH_UNSPECIFIED; attr++; - attr_len--; + attr_len = strlen(attr); break; case '-': am->match_mode = MATCH_UNSET; attr++; - attr_len--; + attr_len = strlen(attr); break; default: + attr_len = strcspn(attr, "="); if (attr[attr_len] != '=') am->match_mode = MATCH_SET; else { diff --git a/t/t6134-pathspec-with-labels.sh b/t/t6134-pathspec-with-labels.sh index 5da1a63..060047a 100755 --- a/t/t6134-pathspec-with-labels.sh +++ b/t/t6134-pathspec-with-labels.sh @@ -160,4 +160,9 @@ test_expect_success 'abort on giving invalid label on the command line' ' test_i18ngrep "fatal" actual ' +test_expect_success 'abort on asking for wrong magic' ' + test_must_fail git ls-files . ":(attr:-label=foo)" && + test_must_fail git ls-files . ":(attr:!label=foo)" +' + test_done -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html