Skip to content

Copilot requires "directory access" when searching Git commit history via git log -L /<regex>/,/<regex>/ #2251

@dscho

Description

@dscho

Describe the bug

Copilot (or more likely, Claude Opus) is still quite clumsy when it comes to investigating Git commit history effectively. So I frequently tell it not to pipe git log output into head or tail or grep but instead to use the available options, such as --grep <regex>, -G<regex> or -L /<regex>/,/<regex>/. The latter, however, is mistaken by Copilot as a directory access, leading to strange/funny questions like this:


● Trace lints section origin (shell)
  └ cd /home/me/wip && git
    --no-pager log -L '/\[lints/,/all.*deny/':Cargo.toml
    --oneline --no-patch HEAD | head -5

╭─────────────────────────────────────────────────────────────╮
│ Allow directory access                                      │
│ ─────────────────────────────────────────────────────────── │
│ This action may read or write the following path outside    │
│ your allowed directory list.                                │
│                                                             │
│ ╭─────────────────────────────────────────────────────────╮ │
│ │ /\[lints/,/all.*deny/                                   │ │
│ ╰─────────────────────────────────────────────────────────╯ │
│                                                             │
│ Do you want to allow this?                                  │
│                                                             │
│   1. Yes                                                    │
│ ❯ 2. Yes, and add these directories to the allowed list     │
│   3. No (Esc)                                               │
│                                                             │
│ ↑↓ to navigate · Enter to select · Esc to cancel            │
╰─────────────────────────────────────────────────────────────╯

Affected version

1.0.9

Steps to reproduce the behavior

  1. Ask Copilot to run a git log -L command with regular expressions
  2. observe the bogus "Allow directory access" question

Expected behavior

Copilot should not mistake the <arg> in git log -L ` for a directory.

Additional context

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No fields configured for Bug.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions