[projects/git-slug: 2/170] Read default user name from git configuration
glen
glen at pld-linux.org
Mon Sep 21 21:38:58 CEST 2015
commit cb22c0a14fb85c0b5338ce58ebac8956c2d010b7
Author: Kacper Kornet <draenog at pld-linux.org>
Date: Fri Sep 9 13:37:07 2011 +0100
Read default user name from git configuration
gitrepo.py | 14 ++++++++++++++
slug.py | 8 ++++++--
2 files changed, 20 insertions(+), 2 deletions(-)
---
diff --git a/gitrepo.py b/gitrepo.py
index 6b3e616..a78c409 100644
--- a/gitrepo.py
+++ b/gitrepo.py
@@ -26,10 +26,24 @@ class GitRepo:
def commandio(self, clist):
return self.command(clist).communicate()
+ def commandexc(self, clist):
+ proc = self.command(clist)
+ (out, err) = proc.communicate()
+ if proc.returncode:
+ raise GitRepoError(err)
+ return out
+
def commitfile(self, path, message):
clist = ['commit', '-m', message, path]
self.commandio(clist)
+ def configvalue(self, option):
+ clist = ['config', '-z', option]
+ try:
+ return self.commandexc(clist)
+ except GitRepoError:
+ return None
+
def fetch(self, fetchlist=[], depth = 0, remotename=REMOTE_NAME):
clist = ['fetch']
if depth:
diff --git a/slug.py b/slug.py
index a4d27a3..f2045a9 100755
--- a/slug.py
+++ b/slug.py
@@ -32,7 +32,11 @@ class ThreadFetch(threading.Thread):
print '------', package, '------\n' + stderr
self.queue.task_done()
-
+def get_user():
+ email=GitRepo().configvalue('user.email')
+ if email:
+ email = email.partition('@')[0]
+ return email
parser = argparse.ArgumentParser(description='PLD tool for interaction with git repos',
formatter_class=argparse.ArgumentDefaultsHelpFormatter)
@@ -45,7 +49,7 @@ parser.add_argument('--depth', help='depth of fetch', default=0)
parser.add_argument('-n', '--newpkgs', help='download packages that do not exist on local side', action='store_true')
parser.add_argument('-r', '--remoterefs', help='repository with list of all refs',
default=os.path.join(os.getenv('HOME'),'PLD_clone/Refs.git'))
-parser.add_argument('-u', '--user', help='the user name to register for pushes for new repositories')
+parser.add_argument('-u', '--user', help='the user name to register for pushes for new repositories', default = get_user())
parser.add_argument('dirpattern', nargs='?', default = '*')
options = parser.parse_args()
================================================================
---- gitweb:
http://git.pld-linux.org/gitweb.cgi/projects/git-slug.git/commitdiff/4ed64f73960519a2f4fd04c42950b2c96ae795c5
More information about the pld-cvs-commit
mailing list