summaryrefslogtreecommitdiffstats
path: root/layman
diff options
context:
space:
mode:
authorBrian Dolbec <brian.dolbec@gmail.com>2011-02-17 13:48:54 -0800
committerBrian Dolbec <brian.dolbec@gmail.com>2011-02-17 13:48:54 -0800
commitaf55bea519642b9742135498e5fddaececab7d1f (patch)
tree738b455b887019b0c9eba836851018e7c894fe31 /layman
parentcc15f2551e105540850101572ccba275a6fc1ace (diff)
downloadlayman-af55bea519642b9742135498e5fddaececab7d1f.tar.gz
layman-af55bea519642b9742135498e5fddaececab7d1f.tar.bz2
layman-af55bea519642b9742135498e5fddaececab7d1f.zip
add per repo type config options
Diffstat (limited to 'layman')
-rw-r--r--layman/overlays/bzr.py15
-rw-r--r--layman/overlays/cvs.py8
-rw-r--r--layman/overlays/darcs.py17
-rw-r--r--layman/overlays/git.py8
-rw-r--r--layman/overlays/mercurial.py17
-rw-r--r--layman/overlays/rsync.py5
-rw-r--r--layman/overlays/svn.py31
7 files changed, 85 insertions, 16 deletions
diff --git a/layman/overlays/bzr.py b/layman/overlays/bzr.py
index e73c2f4..a236210 100644
--- a/layman/overlays/bzr.py
+++ b/layman/overlays/bzr.py
@@ -50,8 +50,14 @@ class BzrOverlay(OverlaySource):
self.supported()
+ cfg_opts = self.config["bzr_addopts"]
+
# bzr get SOURCE TARGET
- args = ['get', self.src + '/', path([base, self.parent.name])]
+ if cfg_opts:
+ args = ['get', cfg_opts,
+ self.src + '/', path([base, self.parent.name])]
+ else:
+ args = ['get', self.src + '/', path([base, self.parent.name])]
return self.run_command(*args)
def sync(self, base, quiet = False):
@@ -59,8 +65,13 @@ class BzrOverlay(OverlaySource):
self.supported()
+ cfg_opts = self.config["bzr_syncopts"]
+
# bzr pull --overwrite SOURCE
- args = ['pull', '--overwrite', self.src]
+ if cfg_opts:
+ args = ['pull', cfg_opts, '--overwrite', self.src]
+ else:
+ args = ['pull', '--overwrite', self.src]
return self.run_command(*args, cwd=path([base, self.parent.name]))
def supported(self):
diff --git a/layman/overlays/cvs.py b/layman/overlays/cvs.py
index f8fc277..e4ee5eb 100644
--- a/layman/overlays/cvs.py
+++ b/layman/overlays/cvs.py
@@ -74,12 +74,16 @@ class CvsOverlay(OverlaySource):
self.supported()
+ cfg_opts = self.config["cvs_addopts"]
+
# cvs [-q] co -d SOURCE SCOPE
args = []
if quiet:
args.append('-q')
args.append('co')
args.append('-d')
+ if cfg_opts:
+ args.append(cfg_opts)
args.append(self.parent.name)
args.append(self.subpath)
@@ -90,12 +94,16 @@ class CvsOverlay(OverlaySource):
self.supported()
+ cfg_opts = self.config["cvs_syncopts"]
+
# cvs [-q] update -d
args = []
if quiet:
args.append('-q')
args.append('update')
args.append('-d')
+ if cfg_opts:
+ args.append(cfg_opts)
return self.run_command(*args, cwd=path([base, self.parent.name]))
def supported(self):
diff --git a/layman/overlays/darcs.py b/layman/overlays/darcs.py
index 7d89477..cfaba51 100644
--- a/layman/overlays/darcs.py
+++ b/layman/overlays/darcs.py
@@ -49,8 +49,16 @@ class DarcsOverlay(OverlaySource):
self.supported()
+ cfg_opts = self.config["darcs_addopts"]
+
# darcs get --partial SOURCE TARGET
- args = ['get', '--partial', self.src + '/', path([base, self.parent.name])]
+ if cfg_opts:
+ args = ['get', '--partial', cfg_opts,
+ self.src + '/', path([base, self.parent.name])]
+ else:
+ args = ['get', '--partial',
+ self.src + '/', path([base, self.parent.name])]
+
return self.run_command(*args)
def sync(self, base, quiet = False):
@@ -58,8 +66,13 @@ class DarcsOverlay(OverlaySource):
self.supported()
+ cfg_opts = self.config["darcs_addopts"]
+
# darcs pull --all SOURCE
- args = ['pull', '--all', self.src]
+ if cfg_opts:
+ args = ['pull', '--all', cfg_opts, self.src]
+ else:
+ args = ['pull', '--all', self.src]
return self.run_command(*args, cwd=path([base, self.parent.name]))
def supported(self):
diff --git a/layman/overlays/git.py b/layman/overlays/git.py
index caa73f4..9517398 100644
--- a/layman/overlays/git.py
+++ b/layman/overlays/git.py
@@ -54,10 +54,14 @@ class GitOverlay(OverlaySource):
return source + '/'
return source
+ cfg_opts = self.config["git_addopts"]
+
# git clone [-q] SOURCE TARGET
args = ['clone']
if quiet:
args.append('-q')
+ if cfg_opts:
+ args.append(cfg_opts)
args.append(fix_git_source(self.src))
args.append(path([base, self.parent.name]))
return self.run_command(*args)
@@ -67,9 +71,13 @@ class GitOverlay(OverlaySource):
self.supported()
+ cfg_opts = self.config["git_syncopts"]
+
args = ['pull']
if quiet:
args.append('-q')
+ if cfg_opts:
+ args.append(cfg_opts)
return self.run_command(*args, cwd=path([base, self.parent.name]))
def supported(self):
diff --git a/layman/overlays/mercurial.py b/layman/overlays/mercurial.py
index 06cf59d..377ad4c 100644
--- a/layman/overlays/mercurial.py
+++ b/layman/overlays/mercurial.py
@@ -49,8 +49,15 @@ class MercurialOverlay(OverlaySource):
self.supported()
+ cfg_opts = self.config["mercurial_addopts"]
+
# hg clone SOURCE TARGET
- args = ['clone', self.src + '/', path([base, self.parent.name])]
+ if cfg_opts:
+ args = ['clone', cfg_opts,
+ self.src + '/', path([base, self.parent.name])]
+ else:
+ args = ['clone', self.src + '/', path([base, self.parent.name])]
+
return self.run_command(*args)
def sync(self, base, quiet = False):
@@ -58,8 +65,14 @@ class MercurialOverlay(OverlaySource):
self.supported()
+ cfg_opts = self.config["mercurial_syncopts"]
+
# hg pull -u SOURCE
- args = ['pull', '-u', self.src]
+ if cfg_opts:
+ args = ['pull', '-u', cfg_opts, self.src]
+ else:
+ args = ['pull', '-u', self.src]
+
return self.run_command(*args, cwd=path([base, self.parent.name]))
def supported(self):
diff --git a/layman/overlays/rsync.py b/layman/overlays/rsync.py
index 3a5a342..d6f3281 100644
--- a/layman/overlays/rsync.py
+++ b/layman/overlays/rsync.py
@@ -61,8 +61,13 @@ class RsyncOverlay(OverlaySource):
# rsync OPTIONS [-q] SOURCE TARGET
args = ['-rlptDvz', '--progress', '--delete', '--delete-after', '--timeout=180',
'--exclude=distfiles/*', '--exclude=local/*', '--exclude=packages/*']
+
+ cfg_opts = self.config["rsync_syncopts"]
+
if quiet:
args.append('-q')
+ if cfg_opts:
+ args.append(cfg_opts)
args.append(self.src + '/')
args.append(path([base, self.parent.name]))
diff --git a/layman/overlays/svn.py b/layman/overlays/svn.py
index 2a30198..69d7b05 100644
--- a/layman/overlays/svn.py
+++ b/layman/overlays/svn.py
@@ -1,8 +1,8 @@
#!/usr/bin/python
# -*- coding: utf-8 -*-
-#################################################################################
+###############################################################################
# LAYMAN SVN OVERLAY HANDLER
-#################################################################################
+###############################################################################
# File: svn.py
#
# Handles subversion overlays
@@ -18,20 +18,20 @@
__version__ = "$Id: svn.py 236 2006-09-05 20:39:37Z wrobel $"
-#===============================================================================
+#==============================================================================
#
# Dependencies
#
-#-------------------------------------------------------------------------------
+#------------------------------------------------------------------------------
from layman.utils import path
from layman.overlays.source import OverlaySource, require_supported
-#===============================================================================
+#==============================================================================
#
# Class SvnOverlay
#
-#-------------------------------------------------------------------------------
+#------------------------------------------------------------------------------
class SvnOverlay(OverlaySource):
''' Handles subversion overlays.'''
@@ -39,9 +39,11 @@ class SvnOverlay(OverlaySource):
type = 'Subversion'
type_key = 'svn'
- def __init__(self, parent, xml, config, _location, ignore = 0, quiet = False):
+ def __init__(self, parent, xml, config, _location,
+ ignore = 0, quiet = False):
- super(SvnOverlay, self).__init__(parent, xml, config, _location, ignore, quiet)
+ super(SvnOverlay, self).__init__(
+ parent, xml,config, _location, ignore, quiet)
def add(self, base, quiet = False):
'''Add overlay.'''
@@ -50,9 +52,13 @@ class SvnOverlay(OverlaySource):
super(SvnOverlay, self).add(base)
+ cfg_opts = self.config["svn_addopts"]
+
args = ['co']
if quiet:
args.append('-q')
+ if cfg_opts:
+ args.append(cfg_opts)
args.append(self.src + '/@')
args.append(path([base, self.parent.name]))
@@ -71,10 +77,14 @@ class SvnOverlay(OverlaySource):
repo_part = repo_part + '@'
return path([base, repo_part])
+ cfg_opts = self.config["svn_syncopts"]
+
# svn up [-q] TARGET
args = ['up']
if quiet:
args.append('-q')
+ if cfg_opts:
+ args.append(cfg_opts)
args.append(checkout_location())
return self.run_command(*args)
@@ -82,5 +92,6 @@ class SvnOverlay(OverlaySource):
def supported(self):
'''Overlay type supported?'''
- return require_supported([(self.command(), 'svn',
- 'dev-vcs/subversion'),])
+ return require_supported(
+ [(self.command(), 'svn','dev-vcs/subversion'),]
+ )