From: Junio C Hamano Date: Wed, 04 Feb 2009 17:17:19 GMT Subject: Re: [PATCH] filter-branch: do not consider diverging submodules a 'dirty worktree' Message-ID: <7vvdrqunog.fsf@gitster.siamese.dyndns.org> In-Reply-To: Johannes Schindelin 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 ] [--tree-filter ] \ 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=