On Wed, May 11, 2016 at 06:47:20AM -0700, Geoff Nixon wrote:
> 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:
> - 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
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html