summaryrefslogtreecommitdiffstats
path: root/layman/overlays/git.py
diff options
context:
space:
mode:
authorGunnar Wrobel <p@rdus.de>2007-09-11 05:53:25 +0000
committerGunnar Wrobel <p@rdus.de>2007-09-11 05:53:25 +0000
commit387b74f15929efbdce79a6fbf12448f90bb83766 (patch)
treec3276ef615b29a6ead43338bd7e9a8d9405a60ea /layman/overlays/git.py
parente9543f5112a716f421d3ecf228996b0fa66d1f29 (diff)
downloadlayman-387b74f15929efbdce79a6fbf12448f90bb83766.tar.gz
layman-387b74f15929efbdce79a6fbf12448f90bb83766.tar.bz2
layman-387b74f15929efbdce79a6fbf12448f90bb83766.zip
Import layman.
Diffstat (limited to 'layman/overlays/git.py')
-rw-r--r--layman/overlays/git.py63
1 files changed, 63 insertions, 0 deletions
diff --git a/layman/overlays/git.py b/layman/overlays/git.py
new file mode 100644
index 0000000..007e841
--- /dev/null
+++ b/layman/overlays/git.py
@@ -0,0 +1,63 @@
+#!/usr/bin/python
+# -*- coding: utf-8 -*-
+#################################################################################
+# LAYMAN GIT OVERLAY HANDLER
+#################################################################################
+# File: git.py
+#
+# Handles git overlays
+#
+# Copyright:
+# (c) 2005 - 2006 Gunnar Wrobel, Stefan Schweizer
+# Distributed under the terms of the GNU General Public License v2
+#
+# Author(s):
+# Gunnar Wrobel <wrobel@gentoo.org>
+# Stefan Schweizer <genstef@gentoo.org>
+''' Git overlay support.'''
+
+__version__ = "$Id: git.py 146 2006-05-27 09:52:36Z wrobel $"
+
+#===============================================================================
+#
+# Dependencies
+#
+#-------------------------------------------------------------------------------
+
+from layman.utils import path
+from layman.overlays.overlay import Overlay
+
+#===============================================================================
+#
+# Class GitOverlay
+#
+#-------------------------------------------------------------------------------
+
+class GitOverlay(Overlay):
+ ''' Handles git overlays.'''
+
+ type = 'Git'
+
+ binary_command = '/usr/bin/git'
+
+ def add(self, base):
+ '''Add overlay.'''
+
+ self.supported()
+
+ return self.cmd(self.binary_command + ' clone "' + self.src + '/" "'
+ + path([base, self.name]) + '"')
+
+ def sync(self, base):
+ '''Sync overlay.'''
+
+ self.supported()
+
+ return self.cmd('cd "' + path([base, self.name]) + '" && '
+ + self.binary_command + ' pull')
+
+ def supported(self):
+ '''Overlay type supported?'''
+
+ return Overlay.supported(self, [(self.binary_command, 'git',
+ 'dev-util/git'),])