Johannes Schindelin <johannes.schindelin@xxxxxx> writes: > As filter-branch could not care less about submodules' actual contents, > it does not make sense to check if the checked-out submodules are > up-to-date before running filter-branch. So do not do it. Sorry, but I am confused. Is that because even the tree-filter does not use the actual work tree but works in the temporary area .git-rewrite, and a diverged submodule cannot possibly matter (and index-filter works solely on the index anyway)? If so, why do we even check dirtiness of anything at all? This is not a "wouldn't this better?" proposal patch, but a "why isn't the patch like this?" question patch. git-filter-branch.sh | 6 ------ 1 files changed, 0 insertions(+), 6 deletions(-) diff --git i/git-filter-branch.sh w/git-filter-branch.sh index eb62f71..dda32e0 100755 --- i/git-filter-branch.sh +++ w/git-filter-branch.sh @@ -107,12 +107,6 @@ USAGE="[--env-filter <command>] [--tree-filter <command>] \ OPTIONS_SPEC= . git-sh-setup -if [ "$(is_bare_repository)" = false ]; then - git diff-files --quiet && - git diff-index --cached --quiet HEAD -- || - die "Cannot rewrite branch(es) with a dirty working directory." -fi - tempdir=.git-rewrite filter_env= filter_tree= -- 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