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

Re: Bug: `git-filter-branch −−subdirectory−filter` fails on Darwin, others?

From
Jeff King <peff@peff.net>
Date
May 11, 2016, 14:08 UTC
Message-ID
<20160511140802.GA20134@sigill.intra.peff.net>
In-Reply-To
<154a01265c2.c271895e226206.8641058706319152212@geoff.codes>
On Wed, May 11, 2016 at 06:47:20AM -0700, Geoff Nixon wrote:
Show 9 quoted lines
> I believe I have found a bug in git. On Mac OS X (at least 10.9
> through 10.11), and versions of git from the current HEAD down through
> at least 1.8.x, `git filter-branch −−subdirectory−filter ...` fails.
> Using, e.g., the following example (from the docs for
> git-filter-branch), `git filter-branch --subdirectory-filter foodir --
> --all`, and using the git repository as the example repository, `git
> filter-branch --subdirectory-filter Documentation -- --all`, the
> "error message" one receives is "fatal: bad revision
> '−−subdirectory−filter'".
I just double-checked, and it works fine for me in a simple test:
  git init
  mkdir subdir
  for i in 1 2 3 4 5; do
    echo $i >base-$i
    echo $i >subdir/sub-$i
    git add .
    git commit -m $i
  done
  git filter-branch --subdirectory-filter subdir -- --all
That's on:
  $ sw_vers
  ProductName:    Mac OS X
  ProductVersion: 10.9.5
  BuildVersion:   13F34

However, I notice the error message you show has non-ascii dashes when it prints "--subdirectory-filter". That matches what you said below:

Show 6 quoted lines
>     - Exporting PS4 to 'WTF: $LINENO ' and setting `-x` is practically
>     of no use, except that the last line before it fails appears to be
>     `git rev-parse --no-flags --revs-only --symbolic-full-name
>     --default HEAD $'�\210\222�\210\222subdirectory�\210\222filter`
>     (including the octal sequences and bad-unicode character, those
>     are not email artifacts)

Are you sure that you are invoking filter-branch with regular ascii dashes, and not Unicode "minus-sign" (U+2212)?

I seem to recall this coming up once before related to OS X, but I can't seem to find it in the archive. And I don't recall if it was related to the terminal, a keyboard setting, or something else.

-Peff
Previous: Geoff NixonNext: Geoff Nixon
Message 2 of 3 in “Bug: `git-filter-branch −−subdirectory−filter` fails on Darwin, others?”
  1. Geoff NixonMay 11, 2016
  2. Jeff KingMay 11, 2016
  3. Geoff NixonMay 11, 2016

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.