The "git-filter-branch" documentation warns that (quote):
git filter-branch has a plethora of pitfalls that can produce non-obvious manglings of the intended history rewrite (and can leave you with little time to investigate such problems since it has such abysmal performance). These safety and performance issues cannot be backward compatibly fixed and as such, its use is not recommended.
git-filter-branch has a glut of gotchas generating mangled history rewrites.
Besides the performance concerns, there is another concern about commit signing. According to the git filter-branch docs (quote):
If the tag has a signature attached, the signature will be stripped. It is by definition impossible to preserve signatures.
Hence, I wonder why to use git filter-branch and if other options had been considered?