Re: Converting from svn to git
- From
Michael J Gruber <michaeljgruber+gmane@fastmail.fm>
- Date
- Aug 15, 2008, 13:58 UTC
- Message-ID
- <g8421k$qcs$1@ger.gmane.org>
- In-Reply-To
- <e0b44a890808111046q2626defdnab31b0d7b1c4578@mail.gmail.com>
David Neu venit, vidit, dixit 11.08.2008 19:46:
Show 8 quoted lines
> 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