git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [BUG] ls-files '**' globstar matches one or more directories instead of zero or more directories

From
ABAlistair Buxton <a.j.buxton@gmail.com>
Date
Apr 16, 2017, 16:29 UTC
Message-ID
<CAO-Op+Fd9x7O66skWWy5TkTfMst7ohUiw3U9MMujyvYsjWnFSg@mail.gmail.com>
In-Reply-To
<CACsJy8DQWrLZF3wUQ5WF2FfriM6ko8Zwm_x5ErEEWTE6n5rayw@mail.gmail.com>
On 16 April 2017 at 12:25, Duy Nguyen <pclouds@gmail.com> wrote:
> git ls-files ':(glob)**/*'
>
> Without that '**' is a normal '*' and matching just subdirs is expected.

But '*/' should match exactly one subdirectory deep. Instead it matches one more more subdirectories.

Meaning it behaves the way '**/*/' should.
Try the following in the git source repo:
    shopt -s globstar
    diff <(ls -1 */.gitignore | sort) <(git ls-files '*/.gitignore' | sort)
    diff <(ls -1 */**/.gitignore | sort) <(git ls-files '*/.gitignore' | sort)
of course it works as expected if you say the magic word:
    diff <(ls -1 */.gitignore | sort) <(git ls-files
':(glob)*/.gitignore' | sort)
-- 
Alistair Buxton
a.j.buxton@gmail.com
Previous: Duy NguyenNext: Alistair Buxton
Message 4 of 5 in “[BUG] ls-files '**' globstar matches one or more directories instead of zero or more directories”
  1. Alistair BuxtonApr 14, 2017
  2. Duy NguyenApr 16, 2017
  3. Duy NguyenApr 16, 2017
  4. Alistair BuxtonApr 16, 2017
  5. Alistair BuxtonApr 16, 2017

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.