Junio,
in 039bc64e886 core.excludesfile clean-up you wrote:
> We probably could change git-ls-files to use the standard set > when no excludes are specified on the command line and ignore > processing was asked, or something like that, but that will be a > change in semantics and might break people's scripts in a subtle > way. I am somewhat reluctant to make such a change.
Just for the records: git-filter-branch uses git-ls-files in a way that requires that no exclude files are in effect. In particular, if the tree filter creates new files, they are unconditionally added. See the documentation of --tree-filter.
-- Hannes