From 6f8a6a6c5cb4fb713a4acdbafd47f9e65ce99938 Mon Sep 17 00:00:00 2001 From: David Aguilar Date: Sun, 30 Dec 2007 21:05:25 -0800 Subject: [PATCH] Start separating global and local config settings --- ugitlibs/defaults.py | 5 +++-- ugitlibs/git.py | 18 +++++++++++++----- ugitlibs/models.py | 10 ++++++---- 3 files changed, 22 insertions(+), 11 deletions(-) diff --git a/ugitlibs/defaults.py b/ugitlibs/defaults.py index e5e4876..c9a332a 100644 --- a/ugitlibs/defaults.py +++ b/ugitlibs/defaults.py @@ -1,6 +1,6 @@ #!/usr/bin/env python -import user -DIRECTORY = user.home +import os +DIRECTORY = os.getcwd() WIDTH = 780 HEIGHT = 512 X = (1024-WIDTH) - ((1024-WIDTH)/2) @@ -9,3 +9,4 @@ SPLITTER_TOP_0 = 251 SPLITTER_TOP_1 = 192 SPLITTER_BOTTOM_0 = 133 SPLITTER_BOTTOM_1 = 166 +DIFF_CONTEXT = 5 diff --git a/ugitlibs/git.py b/ugitlibs/git.py index 1edf9fd..4d8afa8 100644 --- a/ugitlibs/git.py +++ b/ugitlibs/git.py @@ -2,6 +2,8 @@ import os import re import types + +import defaults import utils from cStringIO import StringIO @@ -130,7 +132,7 @@ def diff(commit=None,filename=None, color=False, suppress_header=True, reverse=False): "Invokes git diff on a filepath." - argv = [ 'diff'] + argv = [ 'diff', '--unified='+str(defaults.DIFF_CONTEXT), '--patch-with-raw'] if reverse: argv.append('-R') if color: argv.append('--color') if cached: argv.append('--cached') @@ -191,11 +193,17 @@ def format_patch(revs): num_patches += output[-1].count(os.linesep) return os.linesep.join(output) -def config(key, value=None): - if value is not None: - return git('config', key, value) +def config(key, value=None, local=True): + argv = ['config'] + if not local: + argv.append('--global') + if value is None: + argv.append('--get') + argv.append(key) else: - return git('config', '--get', key) + argv.append(key) + argv.append(value) + return git(*argv) def log(oneline=True, all=False): '''Returns a pair of parallel arrays listing the revision sha1's diff --git a/ugitlibs/models.py b/ugitlibs/models.py index b0dcadd..0729761 100644 --- a/ugitlibs/models.py +++ b/ugitlibs/models.py @@ -35,8 +35,10 @@ class Model(model.Model): # Used primarily by the main UI window_geom = utils.parse_geom(git.config('ugit.geometry')), project = os.path.basename(os.getcwd()), - name = git.config('user.name'), - email = git.config('user.email'), + local_name = git.config('user.name'), + local_email = git.config('user.email'), + global_name = git.config('user.name', local=False), + global_email = git.config('user.email', local=False), commitmsg = '', staged = [], unstaged = [], @@ -156,10 +158,10 @@ class Model(model.Model): msg = self.get_commitmsg() signoff =('Signed-off by: %s <%s>' - %(self.get_name(), self.get_email())) + % (self.get_local_name(), self.get_local_email())) if signoff not in msg: - self.set_commitmsg(msg + '\n\n' + signoff) + self.set_commitmsg(msg + os.linesep*2 + signoff) def apply_diff(self, filename): return git.apply(filename) -- 2.11.4.GIT