diff options
author | Lars Wirzenius <lars.wirzenius@codethink.co.uk> | 2011-10-31 10:53:19 +0000 |
---|---|---|
committer | Lars Wirzenius <lars.wirzenius@codethink.co.uk> | 2011-10-31 10:53:19 +0000 |
commit | 3f1f760c7b1453bf4faa3a5d595a5e7c7db389f1 (patch) | |
tree | 21c9b357a35a866da24f986d36aa7feae5a38b91 /lorry | |
parent | be989e4496606bf6709fda60f83bfebb61416784 (diff) | |
download | lorry-3f1f760c7b1453bf4faa3a5d595a5e7c7db389f1.tar.gz |
Fix bzr to branch to local repo first, then fast-export from that
It seems fast-export suffers greatly from any lag to the bzr repository,
so this way we eliminate that.
Diffstat (limited to 'lorry')
-rwxr-xr-x | lorry | 21 |
1 files changed, 16 insertions, 5 deletions
@@ -79,17 +79,26 @@ class Lorry(cliapp.Application): self.run_program(['git', 'pull'], cwd=gitdir) def gitify_bzr(self, dirname, gitdir, spec): + bzrdir = os.path.join(dirname, 'bzr') + if os.path.exists(bzrdir): + self.progress('.. updating bzr branch') + self.run_program(['bzr', 'pull', '--quiet', spec['url']], + cwd=bzrdir) + else: + self.progress('.. doing initial bzr branch') + self.run_program(['bzr', 'branch', '--quiet', spec['url'], bzrdir]) + self.progress('.. fast-exporting from bzr') export = os.path.join(dirname, 'fast-export') - self.run_program(['bzr', 'fast-export', '--quiet', - spec['url'], export]) + self.run_program(['bzr', 'fast-export', '--quiet', bzrdir, export]) + if not os.path.exists(gitdir): self.progress('.. creating git repo') os.mkdir(gitdir) - self.run_program(['git', 'init', '.'], cwd=gitdir) - self.progress('.. reading fast-export data') + self.run_program(['git', 'init', gitdir]) + self.progress('.. fast-importing into git') - self.run_program(['sh', '-c', 'git fast-import < ../fast-import'], + self.run_program(['sh', '-c', 'git fast-import < ../fast-export'], cwd=gitdir) def gitify_svn(self, dirname, gitdir, spec): @@ -118,6 +127,8 @@ class Lorry(cliapp.Application): self.run_program(['git', 'push', 'gitorious', 'master'], cwd=gitdir) def run_program(self, argv, **kwargs): + logging.debug('Running: argv=%s kwargs=%s' % + (repr(argv), repr(kwargs))) exit, out, err = self.runcmd_unchecked(argv, **kwargs) logging.debug('Command: %s\nExit: %s\nStdout:\n%sStderr:\n%s' % (argv, exit, self.indent(out), self.indent(err))) |