Subject: Re: Converting from svn to git

From: Michael J Gruber <[email-masked]>
Date: Fri, 15 Aug 2008 15:58:11 +0200

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