Subject: migrating from svn: How to clean up history?

From: Hartmut Goebel <[email-masked]>
Date: Tue, 13 Dec 2011 15:53:09 +0100

Hello,

I'm one of the developers of www.pyinstaller.org, a tool for 
bundling/packagin Python scripts and al required modules into a single 
executable for easy distribution. We are in the process of migrating 
from Subversion to git.

Our SVN-Repo contains some stuff we do not want or do not need in the 
git repo. How can we clean this up?

1) Useless commits e.g. tagging -> I want to remove these
2) copy or move mistakes -> I want to "correct" the copy

Example for 1): This occurs e.g. if this is done

svn cp trunk tags/v0.1 -m 'release v0.1' <<<--- this on in not needed
svn rm tags/v0.1 -m 'release v0.1'
svn cp trunk tags/v0.1 -m 'release v0.1'

In this case I want to completely eliminate the first commit.

Example for 2): This occurs e.g. if this is done

svn cp trunk tags/v0.1 -m 'release v0.1'
svn cp trunk tags/v0.1 -m 'release v0.1' <<-- actually copies to 
tags/v0.1/trunk

In this case I want to change eliminate the first commit (this is he 
same as case 1) and rewrite commit 2 to rewrite the path.

I already did some experiments with `git filter-branch` without success. 
(I manage renaming the tags, though.)

Any hints how to to this clean-up?

-- 
Schönen Gruß - Regards
Hartmut Goebel
Dipl.-Informatiker (univ.), CISSP, CSSLP

Goebel Consult
Spezialist für IT-Sicherheit in komplexen Umgebungen
http://www.goebel-consult.de

Monatliche Kolumne: http://www.cissp-gefluester.de/
Goebel Consult ist Mitglied bei http://www.7-it.de