summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xlorry16
-rw-r--r--tests/git-backup-on-error.stdout6
2 files changed, 16 insertions, 6 deletions
diff --git a/lorry b/lorry
index 39fed88..5fea080 100755
--- a/lorry
+++ b/lorry
@@ -189,11 +189,17 @@ class Lorry(cliapp.Application):
gitdir = os.path.join(dirname, 'git')
backupdir = self.backup_gitdir(name, dirname, gitdir)
try:
+ self.needs_aggressive = False
table[vcstype](name, dirname, gitdir, spec)
if self.settings['repack']:
self.progress('.. repacking %s git repository' % name)
- self.run_program(['git', 'repack', '-a', '-d', '--depth=250',
- '--window=250'], cwd=gitdir)
+ self.run_program(['git', 'config',
+ 'pack.windowMemory', '128M'], cwd=gitdir)
+ args = ['git', 'gc']
+ if self.needs_aggressive:
+ args += ['--aggressive']
+ self.run_program(args, cwd=gitdir)
+
self.bundle(name, gitdir)
self.make_tarball(name, gitdir)
except:
@@ -294,6 +300,7 @@ class Lorry(cliapp.Application):
self.progress('.. creating git repo')
os.mkdir(gitdir)
self.run_program(['git', 'init', '--bare', gitdir])
+ self.needs_aggressive = True
# branches are the listed branches, plus the branch specified in url
if 'branches' in spec:
@@ -348,7 +355,7 @@ class Lorry(cliapp.Application):
def gitify_svn(self, project_name, dirname, gitdir, spec):
if not os.path.exists(gitdir):
self.progress('.. doing initial clone')
- os.mkdir(gitdir)
+ self.needs_aggressive = True
layout = spec["layout"]
# if standard layour specified, fill in the defaults
if layout == "standard":
@@ -381,6 +388,7 @@ class Lorry(cliapp.Application):
self.run_program(['git', 'svn', 'fetch'], cwd=gitdir)
def gitify_cvs(self, project_name, dirname, gitdir, spec):
+ self.needs_aggressive = True
self.run_program(['git', 'cvsimport', '-a', '-d', spec['url'],
'-C', gitdir, spec['module']])
@@ -394,6 +402,7 @@ class Lorry(cliapp.Application):
self.run_program(['hg', 'clone', '--quiet', spec['url'], hgdir])
if not os.path.exists(gitdir):
+ self.needs_aggressive = True
self.run_program(['git', 'init', '--bare', gitdir])
self.progress('.. fast-exporting into git')
@@ -418,6 +427,7 @@ class Lorry(cliapp.Application):
self.run_program(['git', 'init', '--bare', gitdir])
cmdline = ["%s.tar-importer" % __file__, tardest]
self.run_program(cmdline, cwd=gitdir)
+ self.needs_aggressive = True
def push_to_mirror_server(self, name, gitdir,
diff --git a/tests/git-backup-on-error.stdout b/tests/git-backup-on-error.stdout
index 7e18431..b284701 100644
--- a/tests/git-backup-on-error.stdout
+++ b/tests/git-backup-on-error.stdout
@@ -12,9 +12,9 @@ DATADIR/work-dir/git-backup-test-repo/git-post-fail-DATETIME/info
DATADIR/work-dir/git-backup-test-repo/git-post-fail-DATETIME/info/exclude
DATADIR/work-dir/git-backup-test-repo/git-post-fail-DATETIME/info/refs
DATADIR/work-dir/git-backup-test-repo/git-post-fail-DATETIME/objects
+DATADIR/work-dir/git-backup-test-repo/git-post-fail-DATETIME/packed-refs
DATADIR/work-dir/git-backup-test-repo/git-post-fail-DATETIME/refs
DATADIR/work-dir/git-backup-test-repo/git-post-fail-DATETIME/refs/heads
-DATADIR/work-dir/git-backup-test-repo/git-post-fail-DATETIME/refs/heads/master
DATADIR/work-dir/git-backup-test-repo/git-post-fail-DATETIME/refs/tags
DATADIR/work-dir/git-backup-test-repo/git-pre-update-DATETIME
DATADIR/work-dir/git-backup-test-repo/git-pre-update-DATETIME/FETCH_HEAD
@@ -27,9 +27,9 @@ DATADIR/work-dir/git-backup-test-repo/git-pre-update-DATETIME/info
DATADIR/work-dir/git-backup-test-repo/git-pre-update-DATETIME/info/exclude
DATADIR/work-dir/git-backup-test-repo/git-pre-update-DATETIME/info/refs
DATADIR/work-dir/git-backup-test-repo/git-pre-update-DATETIME/objects
+DATADIR/work-dir/git-backup-test-repo/git-pre-update-DATETIME/packed-refs
DATADIR/work-dir/git-backup-test-repo/git-pre-update-DATETIME/refs
DATADIR/work-dir/git-backup-test-repo/git-pre-update-DATETIME/refs/heads
-DATADIR/work-dir/git-backup-test-repo/git-pre-update-DATETIME/refs/heads/master
DATADIR/work-dir/git-backup-test-repo/git-pre-update-DATETIME/refs/tags
DATADIR/work-dir/git-backup-test-repo/git/FETCH_HEAD
DATADIR/work-dir/git-backup-test-repo/git/HEAD
@@ -41,7 +41,7 @@ DATADIR/work-dir/git-backup-test-repo/git/info
DATADIR/work-dir/git-backup-test-repo/git/info/exclude
DATADIR/work-dir/git-backup-test-repo/git/info/refs
DATADIR/work-dir/git-backup-test-repo/git/objects
+DATADIR/work-dir/git-backup-test-repo/git/packed-refs
DATADIR/work-dir/git-backup-test-repo/git/refs
DATADIR/work-dir/git-backup-test-repo/git/refs/heads
-DATADIR/work-dir/git-backup-test-repo/git/refs/heads/master
DATADIR/work-dir/git-backup-test-repo/git/refs/tags