git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Lucas Seiki Oshiro <lucasseikioshiro@gmail.com>
To: JAYATHEERTH K <jayatheerthkulkarni2005@gmail.com>
Cc: Junio C Hamano <gitster@pobox.com>,
	"brian m. carlson" <sandals@crustytoothpaste.net>,
	git@vger.kernel.org, peff@peff.net, piotrsiupa@gmail.com
Subject: Re: [PATCH] t3706: Add test for wildcard vs literal pathspec
Date: Wed, 16 Apr 2025 12:49:51 -0300	[thread overview]
Message-ID: <717161C8-497D-42C7-8C10-AC112238EEFD@gmail.com> (raw)
In-Reply-To: <CA+rGoLesZ3nSjruJ8_XRWVsFpMu8mo_4cCOdB-GFHU_qXkXDCQ@mail.gmail.com>


> Yes ls-files is also a great example, I will add them in the test.


I was going to suggest you to use `git ls-files -o 'f**'` in your test,
 which would eliminate the need of `git add` and `git reset`. However, I
just found that the bug doesn't happen here:

```
git init
touch foo 'f*' 'f**' f bar
git ls-files -o 'f*'
```

Here (I'm using the current `next`, currently at `fd585f7`),
`git ls-files -o 'f*'` list the files correctly:

```
f
f*
f**
foo
```

I also tried with `git grep`:

```
git init
touch foo 'f*' 'f**' f bar
for f in *; do echo 123 > "$f"; done
git add -A
git grep 123 -- 'f*'

and somehow it worked:

```
f:1:123
f*:1:123
f**:1:123
foo:1:123
```

So, if I'm not doing anything wrong, it looks that it is not solely
related to pathspecs, but related to pathspecs when used with some other
commands. hmmm...

> I think for the pathspec and glob specific commands almost all the commands
> share the same code, so it should work the same for all.


I also though the same, but somehow it behaves differently at least with
`ls-files` and `grep`. Perhaps it will need further investigation on how
some commands behave correctly and some don't. I would start by
inspecting other commands that uses pathspecs (some that I remember:
checkout, log, show, stash, status, ls-files, grep) and see if they work
correctly or not, then compare the two groups and see what differs
between them under the hook.

  reply	other threads:[~2025-04-16 15:50 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-04-12  9:46 [PATCH 0/1] add: fix pathspec handling when literal filenames match wildcard K Jayatheerth
2025-04-12  9:46 ` [PATCH 1/1] add: fix handling literal filenames and wildcards K Jayatheerth
2025-04-12 17:40   ` [PATCH] t3706: Add test for wildcard vs literal pathspec K Jayatheerth
2025-04-14 16:51     ` Lucas Seiki Oshiro
2025-04-14 17:08       ` JAYATHEERTH K
2025-04-14 21:42     ` Junio C Hamano
2025-04-15 22:32     ` brian m. carlson
2025-04-16  1:56       ` JAYATHEERTH K
2025-04-16 13:11         ` Junio C Hamano
2025-04-16 14:49           ` JAYATHEERTH K
2025-04-16 15:49             ` Lucas Seiki Oshiro [this message]
2025-04-16 16:00               ` Junio C Hamano
2025-04-19  4:59                 ` JAYATHEERTH K
2025-04-19 17:43                   ` Lucas Seiki Oshiro
2025-04-22 11:57                     ` JAYATHEERTH K
2025-04-16 16:40               ` JAYATHEERTH K
2025-04-16 16:43                 ` JAYATHEERTH K
2025-04-12 15:45 ` [PATCH 0/1] add: fix pathspec handling when literal filenames match wildcard Lucas Seiki Oshiro
2025-04-12 17:34   ` JAYATHEERTH K

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=717161C8-497D-42C7-8C10-AC112238EEFD@gmail.com \
    --to=lucasseikioshiro@gmail.com \
    --cc=git@vger.kernel.org \
    --cc=gitster@pobox.com \
    --cc=jayatheerthkulkarni2005@gmail.com \
    --cc=peff@peff.net \
    --cc=piotrsiupa@gmail.com \
    --cc=sandals@crustytoothpaste.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).