Cannot rewrite branch(es) with a dirty working directory

From: James Blackburn <hidden>
Date: 2016-06-15 22:51:57

Hi All,

I get a spurious:
"Cannot rewrite branch(es) with a dirty working directory."
trying to filter-branch in a clean git repo (having done a reset). The
error disappears when I do git status.

Log of the shell commands:
bash:jamesb:xl-cbga-20:33083> mkdir org.eclipse.cdt.core.linux.ia64
bash:jamesb:xl-cbga-20:33084> cp -r
../../../CDT_HEAD_GIT/org.eclipse.cdt/.git
org.eclipse.cdt.core.linux.ia64/
bash:jamesb:xl-cbga-20:33085> cd org.eclipse.cdt.core.linux.ia64/
mbash:jamesb:xl-cbga-20:33086> git reset --hard
Checking out files: 100% (11879/11879), done.
HEAD is now at a03d454 Build against a local mirror of the 3.7 p2 repo
bash:jamesb:xl-cbga-20:33087> git filter-branch --subdirectory-filter
core/org.eclipse.cdt.core.linux.ia64 -- master
Cannot rewrite branch(es) with a dirty working directory.
bash:jamesb:xl-cbga-20:33088> git status
# On branch master
nothing to commit (working directory clean)
bash:jamesb:xl-cbga-20:33089> git filter-branch --subdirectory-filter
core/org.eclipse.cdt.core.linux.ia64 -- master
Rewrite d7092b12c93925f6f7c4725a5abc72e55650621c (16/16)
Ref 'refs/heads/master' was rewritten
bash:jamesb:xl-cbga-20:33090> git --version
git version 1.7.3.2

Is there a particular reason why filter-branch thinks the tree is
dirty, and status magically fixes this?

Cheers,
James
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help