From: Michael J Gruber Date: Fri, 15 Aug 2008 13:58:11 GMT Subject: Re: Converting from svn to git Message-ID: In-Reply-To: David Neu venit, vidit, dixit 11.08.2008 19:46: > OK, I did > > $ git-filter-branch --tree-filter 'rm -rf subdir1/ subdir2/ subdir3/' -- --all > > which looks good, except when I open gitk, I still see "empty" commits > that correspond to subdir1/, subdir2/ and subdir3/. > > Is there anyway to remove those? A while ago I "complained" that rebase would skip empty commits. You might experiment with that. Alternatively, the following works for me: git filter-branch --commit-filter 'cmd="git commit-tree"; test `git show --pretty=oneline $GIT_COMMIT|wc -l` = 1 && cmd="skip_commit"; $cmd "$@"' -- --all This skips all commits which introduce no diff. It will not remove branches or tags which are related only to those subdirs. I am sure there will be more elegant ways to do that (esp. the test with wc). Michael