On Mon, Feb 05, 2024 at 06:48:52PM +0000, Phillip Wood wrote: > Hi Karthik > > On 29/01/2024 11:35, Karthik Nayak wrote: > > When the user uses an empty string pattern (""), we don't match any refs > > in git-for-each-ref(1). This is because in git-for-each-ref(1), we use > > path based matching and an empty string doesn't match any path. > > > > In this commit we change this behavior by making empty string pattern > > match all references. This is done by introducing a new flag > > `FILTER_REFS_NO_FILTER` in `ref-filter.c`, which uses the newly > > introduced `refs_for_each_all_refs()` function to iterate over all the > > refs in the repository. > > It actually iterates over all the refs in the current worktree, not all the > refs in the repository. I have to say that I find it extremely unintuitive > that "" behaves differently to not giving a pattern. I wonder if we can find > a better UI here - perhaps a command line option to include pseudorefs? I tend to agree, and have argued for a flag in another thread, too [1]. Something like `--show-all-refs` feels a lot more intuitive to me and also doesn't have the potential to break preexisting scripts which pass the empty prefix (which would have returned the empty set of refs, but now returns all refs). [1]: https://lore.kernel.org/git/ZZWCXFghtql4i4YE@tanuki/ Patrick
Attachment:
signature.asc
Description: PGP signature