From: Michael Roach Date: Tue, 04 Nov 2025 09:22:00 GMT Subject: Message-ID: <0be81c5272a5e42c8471239a1369ee6c32401bb1@mroach.com> Thank you for filling out a Git bug report! Please answer the following questions to help us understand your issue. What did you do before the bug happened? (Steps to reproduce your issue) I ran: $ git grep -rl --color=never '#!/.*/env ruby' What did you expect to happen? (Expected behavior) Get a list of filenames where the contents matched the regex What happened instead? (Actual behavior) For one of my files named `ensure-string-env.rb` was printed with part of the path in colour, and the first dash of the filename replaced with a colon. What's different between what you expected and what actually happened? I expected: images/deploy_tools/scripts/ensure-string-env.rb I got: images/deploy_tools/scripts/ensure:string-env.rb The string up to the colon was printed in pink Anything else you want to add: I tested with both zsh and bash with the same result. I teested with git 2.47.3 and 2.49.1 everything worked correctly. I also tried other terminals to rule that out. 2.51.1 is the current version on Fedora 42 I was able to reproduce this with: $ echo foo > test-one $ git add test-one $ git grep -l foo test:one This seems to be reproducible with any filename containing a dash [System Info] git version: git version 2.51.1 cpu: x86_64 no commit associated with this build sizeof-long: 8 sizeof-size_t: 8 shell-path: /bin/sh libcurl: 8.11.1 OpenSSL: OpenSSL 3.2.6 30 Sep 2025 zlib-ng: 2.2.5 SHA-1: SHA1_DC SHA-256: SHA256_BLK default-ref-format: files default-hash: sha1 uname: Linux 6.17.5-200.fc42.x86_64 #1 SMP PREEMPT_DYNAMIC Fri Oct 24 14:10:01 UTC 2025 x86_64 compiler info: gnuc: 15.2 libc info: glibc: 2.41 $SHELL (typically, interactive shell): /bin/zsh [Enabled Hooks] pre-commit