
Hi Vikram,
On Fri, Apr 27, 2012 at 9:39 AM, Vikram Narayanan vikram186@gmail.comwrote:
patman shouts when it couldn't find a $(HOME)/.config/patman file. Handle it in a sane way by creating a new one for the user. It looks for a user.name and user.email in the global .gitconfig file, waits for the user input if it can't find those.
Signed-off-by: Vikram Narayanan vikram186@gmail.com Cc: Simon Glass sjg@chromium.org
Acked-by: Simon Glass sjg@chromium.org
In terms of changing the config file to ~/.patman, this could actually be a subsequent patch if you like. But there are a few nits below if you re-issue.
tools/patman/gitutil.py | 18 ++++++++++++++++++ tools/patman/settings.py | 34 +++++++++++++++++++++++++++++++--- 2 files changed, 49 insertions(+), 3 deletions(-)
diff --git a/tools/patman/gitutil.py b/tools/patman/gitutil.py index 48ca998..2eacb13 100644 --- a/tools/patman/gitutil.py +++ b/tools/patman/gitutil.py @@ -357,6 +357,24 @@ def GetAliasFile(): fname = os.path.join(GetTopLevel(), fname.strip()) return fname
+def GetDefaultUserName():
- """ Gets the user.name from .gitconfig file.
- Returns:
User name found in .gitconfig file, or None if none
- """
- uname = command.OutputOneLine('git', 'config', '--global', 'user.name
')
- return uname
+def GetDefaultUserEmail():
- """ Gets the user.email from the global .gitconfig file.
- Returns:
User's email found in .gitconfig file, or None if none
- """
- uemail = command.OutputOneLine('git', 'config', '--global',
'user.email')
- return uemail
def Setup(): """Set up git utils, by reading the alias files.""" settings.Setup('') diff --git a/tools/patman/settings.py b/tools/patman/settings.py index 049c709..03ea307 100644 --- a/tools/patman/settings.py +++ b/tools/patman/settings.py @@ -24,7 +24,7 @@ import os import re
import command
+import gitutil
def ReadGitAliases(fname): """Read a git alias file. This is in the form used by git: @@ -61,6 +61,30 @@ def ReadGitAliases(fname):
fd.close()
+def CreatePatmanConfigFile(config_fname):
- """ Creates a config file under $(HOME)/.config/ if it can't find one.
nits: Remove space before 'Creates' and add Args: to document config_fname,
- Returns:
None
- """
- name = gitutil.GetDefaultUserName()
- if name == None:
name = raw_input("Enter name: ")
- email = gitutil.GetDefaultUserEmail()
- if email == None:
email = raw_input("Enter email: ")
- try:
f = open(config_fname, 'w')
- except IOError:
print "Couldn't create patman config file\n"
raise
- print >>f, "[alias]\nme: %s <%s>" % (name, email)
- f.close();
def Setup(config_fname=''): """Set up the settings module by reading config files.
@@ -70,8 +94,12 @@ def Setup(config_fname=''): settings = ConfigParser.SafeConfigParser() if config_fname == '': config_fname = '%s/.config/patman' % os.getenv('HOME')
- if config_fname:
settings.read(config_fname)
if not os.path.exists(config_fname):
print "No config file found under ~/.config/\nCreating one...\n"
CreatePatmanConfigFile(config_fname)
settings.read(config_fname)
for name, value in settings.items('alias'): alias[name] = value.split(',')
-- 1.7.4.1
Regards,
Simon