X-Git-Url: http://xvm.mit.edu/gitweb/invirt/scripts/git-migration.git/blobdiff_plain/4befd818889473386ab9b2a361c8e9ed8f6ee4b3..13acea16c598252cd00f049e1f1b28daffe0856e:/git-migrate diff --git a/git-migrate b/git-migrate index 35f3142..f10a512 100755 --- a/git-migrate +++ b/git-migrate @@ -11,16 +11,29 @@ def clonePackage(base, pkg): shutil.rmtree(pkg) # Use --no-follow-parent because we're going to handle that with # grafts. - subprocess.check_call(['git', 'svn', 'clone', '--no-follow-parent', + subprocess.check_call(['git', 'svn', 'clone', + '--no-follow-parent', '-Aauthors', '-q', - '--no-metadata', '%s/packages/%s' % (base, pkg)], + '--no-metadata', + '%s/packages/%s' % (base, pkg)], stdout=subprocess.PIPE) # Then make the repository bare, because git-svn can't do this shutil.move('%s/.git' % pkg, '%s.git' % pkg) - shutil.rmtree('%s' % pkg) - subprocess.check_call(['git', 'config', 'core.bare', 'true'], cwd='%s.git' % pkg) + shutil.rmtree(pkg) + subprocess.check_call(['git', 'config', 'core.bare', 'true'], + cwd='%s.git' % pkg) + + # Some of these repos have a rev where everything was deleted + # as a result of the move. We don't want that rev to exist. + p = subprocess.Popen(['git', 'ls-files'], + cwd='%s.git' % pkg, + stdout=subprocess.PIPE) + p.wait() + if len(p.stdout.read()) == 0: + subprocess.check_call(['git', 'reset', 'HEAD^'], + cwd='%s.git' % pkg) def cloneAllPackages(base): for pkg in open('package-list'):