mirror of
https://github.com/Fishwaldo/u-boot.git
synced 2025-03-21 06:31:31 +00:00
patman: Handle creation of patman config file
patman shouts when it couldn't find a $(HOME)/.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 there. Update the same in the README Signed-off-by: Vikram Narayanan <vikram186@gmail.com> Acked-by: Simon Glass <sjg@chromium.org> Cc: Simon Glass <sjg@chromium.org> Cc: Wolfgang Denk <wd@denx.de>
This commit is contained in:
parent
2b36c75d7b
commit
87d65558ef
3 changed files with 55 additions and 3 deletions
|
@ -68,6 +68,9 @@ How to configure it
|
|||
For most cases patman will locate and use the file 'doc/git-mailrc' in
|
||||
your U-Boot directory. This contains most of the aliases you will need.
|
||||
|
||||
During the first run patman creates a config file for you by taking the default
|
||||
user name and email address from the global .gitconfig file.
|
||||
|
||||
To add your own, create a file ~/.patman like this:
|
||||
|
||||
>>>>
|
||||
|
|
|
@ -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('')
|
||||
|
|
|
@ -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,33 @@ def ReadGitAliases(fname):
|
|||
|
||||
fd.close()
|
||||
|
||||
def CreatePatmanConfigFile(config_fname):
|
||||
"""Creates a config file under $(HOME)/.patman if it can't find one.
|
||||
|
||||
Args:
|
||||
config_fname: Default config filename i.e., $(HOME)/.patman
|
||||
|
||||
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 +97,12 @@ def Setup(config_fname=''):
|
|||
settings = ConfigParser.SafeConfigParser()
|
||||
if config_fname == '':
|
||||
config_fname = '%s/.patman' % os.getenv('HOME')
|
||||
if config_fname:
|
||||
settings.read(config_fname)
|
||||
|
||||
if not os.path.exists(config_fname):
|
||||
print "No config file found ~/.patman\nCreating one...\n"
|
||||
CreatePatmanConfigFile(config_fname)
|
||||
|
||||
settings.read(config_fname)
|
||||
|
||||
for name, value in settings.items('alias'):
|
||||
alias[name] = value.split(',')
|
||||
|
|
Loading…
Add table
Reference in a new issue