[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