Re: [PATCH] filter-branch: do not consider diverging submodules a 'dirty worktree'
- From
Johannes Sixt <j.sixt@viscovery.net>
- Date
- Feb 4, 2009, 17:25 UTC
- Message-ID
- <4989CF79.2070209@viscovery.net>
- In-Reply-To
- <7vvdrqunog.fsf@gitster.siamese.dyndns.org>
Junio C Hamano schrieb:
Show 25 quoted lines
> 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=
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.
-- Hannes