Subject: Re: Converting from svn to git

From: Michael J Gruber <[email-masked]>
Date: Sun, 10 Aug 2008 17:32:34 +0200

David Neu venit, vidit, dixit 10.08.2008 16:54:
> Thanks for the reply - this looks like what I'd need, but
> I can't see how to keep the contents of the base dir and
> lose the subdirs, e.g.
> 
> $ git-filter-branch --subdirectory-filter . HEAD
> 
> removes all subdirs and the contents of the base dir.
> 
> So, I figure I'd remove each subdir, using
> 
> $ git-filter-branch --tree-filter 'rm -rf subdir1/' HEAD
> 
> but this complains if subdir1 contains subdirectories, it
> says: Namespace refs/original/ not empty

It complains because filter-branch stores the original refs in that 
namespace, and on the second filter-branch run it wants to do this 
again. You can avoid this by using the "-f" option to filter-branch, or 
by removing all subsirs in one go ("rm -rf subdir1 subdir2..."). Also, 
you might want to rewrite all refs ("--all"), not just HEAD.

Michael