mirror of
https://github.com/u-boot/u-boot.git
synced 2025-05-08 19:11:53 +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
|
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.
|
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:
|
To add your own, create a file ~/.patman like this:
|
||||||
|
|
||||||
>>>>
|
>>>>
|
||||||
|
|
|
@ -357,6 +357,24 @@ def GetAliasFile():
|
||||||
fname = os.path.join(GetTopLevel(), fname.strip())
|
fname = os.path.join(GetTopLevel(), fname.strip())
|
||||||
return fname
|
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():
|
def Setup():
|
||||||
"""Set up git utils, by reading the alias files."""
|
"""Set up git utils, by reading the alias files."""
|
||||||
settings.Setup('')
|
settings.Setup('')
|
||||||
|
|
|
@ -24,7 +24,7 @@ import os
|
||||||
import re
|
import re
|
||||||
|
|
||||||
import command
|
import command
|
||||||
|
import gitutil
|
||||||
|
|
||||||
def ReadGitAliases(fname):
|
def ReadGitAliases(fname):
|
||||||
"""Read a git alias file. This is in the form used by git:
|
"""Read a git alias file. This is in the form used by git:
|
||||||
|
@ -61,6 +61,33 @@ def ReadGitAliases(fname):
|
||||||
|
|
||||||
fd.close()
|
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=''):
|
def Setup(config_fname=''):
|
||||||
"""Set up the settings module by reading config files.
|
"""Set up the settings module by reading config files.
|
||||||
|
|
||||||
|
@ -70,8 +97,12 @@ def Setup(config_fname=''):
|
||||||
settings = ConfigParser.SafeConfigParser()
|
settings = ConfigParser.SafeConfigParser()
|
||||||
if config_fname == '':
|
if config_fname == '':
|
||||||
config_fname = '%s/.patman' % os.getenv('HOME')
|
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'):
|
for name, value in settings.items('alias'):
|
||||||
alias[name] = value.split(',')
|
alias[name] = value.split(',')
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue