git filter-branch --tree-filter has a problem with filename with accentuated letter: $ git add foo/baré $ git commit -m "adding a file with an accent" Created initial commit b27ae97: adding a file with an accent 0 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 "foo/bar\303\251" $ git filter-branch --tree-filter "rm -rf foo" Rewrite b27ae977459379e4e7eee1a3d523f908903ea6ae (1/1) WARNING: Ref 'refs/heads/master' is unchanged there the foo/baré file still exists, but: $ git filter-branch --tree-filter "rm -rf foo; git add -u" will suppress the said file from history. The culprit seem to be those line of filter-branch: (around line 279) git diff-index -r $commit | cut -f 2- | tr '\012' '\000' | \ xargs -0 git update-index --add --replace --remove git diff-index giving the filename as "foo/bar\303\251" -- Rémi Vanicat - To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html