Actually run the git filter-branch, then delete the packages that have
authorEvan Broder <broder@mit.edu>
Wed, 24 Dec 2008 22:46:16 +0000 (17:46 -0500)
committerEvan Broder <broder@mit.edu>
Wed, 24 Dec 2008 22:46:16 +0000 (17:46 -0500)
been merged away.

svn path=/trunk/scripts/git-migration/; revision=1883

git-migrate

index 7440717..f259f54 100755 (executable)
@@ -81,13 +81,26 @@ def mergeHistory(old_pkg, new_pkg, n):
     print >>f, ' '.join(graft)
 
 def mergeHistories():
     print >>f, ' '.join(graft)
 
 def mergeHistories():
+    grafts = []
     for line in open('grafts'):
         line = line.strip()
         if line[0] == '#' or line == '':
             continue
         
     for line in open('grafts'):
         line = line.strip()
         if line[0] == '#' or line == '':
             continue
         
-        old_pkg, new_pkg, n = line.split()
-        mergeHistory(old_pkg, new_pkg, int(n))
+        grafts.append(line.split())
+    
+    for graft in grafts:
+        mergeHistory(*graft)
+    
+    for line in open('package-list'):
+        line = line.strip()
+        subprocess.check_call(['git', 'filter-branch',
+                               '--',
+                               '--all'],
+                              cwd='%s.git' % line)
+    
+    for graft in grafts:
+        shutil.rmtree('%s.git' % graft[0])
 
 if __name__ == '__main__':
     try:
 
 if __name__ == '__main__':
     try: