Johannes Sixt [off-list ref] writes:
Because if the repository is non-bare, then filter-branch updates the
work-tree at the end of the run; we don't want to overwrite uncommitted
work in this case.
This behavior is a relic from cg-admin-rewritehist, I think. I've never
found it useful.
Ok, I think "read-tree -m -u HEAD" at the end sort of makes sense, if you
filtered the branch you are currently sitting on. Does that mean we do
not have to barf on dirtyness if we can tell if the filter-branch will not
touch the current branch at all? Again, I am not suggesting it as an
improvement, but I am trying to see if I am talking a total nonsense.
Is the reason why you haven't found it is useful is because you never
filter the current branch?