mirror of
https://github.com/Fishwaldo/u-boot.git
synced 2025-06-08 07:41:39 +00:00
patman: Add a call to get_maintainer.pl if it exists
For Linux the best way to figure out where to send a patch is with the "get_maintainer.pl" script. Add support for calling it from patman. Support is added unconditionally for "scripts/get_maintainer.pl" in case it is helpful for any other projects. Signed-off-by: Doug Anderson <dianders@chromium.org>
This commit is contained in:
parent
3118725515
commit
21a19d70e2
3 changed files with 74 additions and 2 deletions
|
@ -43,6 +43,9 @@ Series-to: fred.blogs@napier.co.nz
|
||||||
|
|
||||||
in one of your commits, the series will be sent there.
|
in one of your commits, the series will be sent there.
|
||||||
|
|
||||||
|
In Linux this will also call get_maintainer.pl on each of your
|
||||||
|
patches automatically.
|
||||||
|
|
||||||
|
|
||||||
How to use this tool
|
How to use this tool
|
||||||
====================
|
====================
|
||||||
|
@ -65,8 +68,12 @@ will get a consistent result each time.
|
||||||
How to configure it
|
How to configure it
|
||||||
===================
|
===================
|
||||||
|
|
||||||
For most cases patman will locate and use the file 'doc/git-mailrc' in
|
For most cases of using patman for U-Boot developement patman will
|
||||||
your U-Boot directory. This contains most of the aliases you will need.
|
locate and use the file 'doc/git-mailrc' in your U-Boot directory.
|
||||||
|
This contains most of the aliases you will need.
|
||||||
|
|
||||||
|
For Linux the 'scripts/get_maintainer.pl' handles figuring out where
|
||||||
|
to send patches pretty well.
|
||||||
|
|
||||||
During the first run patman creates a config file for you by taking the default
|
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.
|
user name and email address from the global .gitconfig file.
|
||||||
|
|
63
tools/patman/get_maintainer.py
Normal file
63
tools/patman/get_maintainer.py
Normal file
|
@ -0,0 +1,63 @@
|
||||||
|
# Copyright (c) 2012 The Chromium OS Authors.
|
||||||
|
#
|
||||||
|
# See file CREDITS for list of people who contributed to this
|
||||||
|
# project.
|
||||||
|
#
|
||||||
|
# This program is free software; you can redistribute it and/or
|
||||||
|
# modify it under the terms of the GNU General Public License as
|
||||||
|
# published by the Free Software Foundation; either version 2 of
|
||||||
|
# the License, or (at your option) any later version.
|
||||||
|
#
|
||||||
|
# This program is distributed in the hope that it will be useful,
|
||||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
# GNU General Public License for more details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU General Public License
|
||||||
|
# along with this program; if not, write to the Free Software
|
||||||
|
# Foundation, Inc., 59 Temple Place, Suite 330, Boston,
|
||||||
|
# MA 02111-1307 USA
|
||||||
|
#
|
||||||
|
|
||||||
|
import command
|
||||||
|
import gitutil
|
||||||
|
import os
|
||||||
|
|
||||||
|
def FindGetMaintainer():
|
||||||
|
"""Look for the get_maintainer.pl script.
|
||||||
|
|
||||||
|
Returns:
|
||||||
|
If the script is found we'll return a path to it; else None.
|
||||||
|
"""
|
||||||
|
try_list = [
|
||||||
|
os.path.join(gitutil.GetTopLevel(), 'scripts'),
|
||||||
|
]
|
||||||
|
# Look in the list
|
||||||
|
for path in try_list:
|
||||||
|
fname = os.path.join(path, 'get_maintainer.pl')
|
||||||
|
if os.path.isfile(fname):
|
||||||
|
return fname
|
||||||
|
|
||||||
|
return None
|
||||||
|
|
||||||
|
def GetMaintainer(fname, verbose=False):
|
||||||
|
"""Run get_maintainer.pl on a file if we find it.
|
||||||
|
|
||||||
|
We look for get_maintainer.pl in the 'scripts' directory at the top of
|
||||||
|
git. If we find it we'll run it. If we don't find get_maintainer.pl
|
||||||
|
then we fail silently.
|
||||||
|
|
||||||
|
Args:
|
||||||
|
fname: Path to the patch file to run get_maintainer.pl on.
|
||||||
|
|
||||||
|
Returns:
|
||||||
|
A list of email addresses to CC to.
|
||||||
|
"""
|
||||||
|
get_maintainer = FindGetMaintainer()
|
||||||
|
if not get_maintainer:
|
||||||
|
if verbose:
|
||||||
|
print "WARNING: Couldn't find get_maintainer.pl"
|
||||||
|
return []
|
||||||
|
|
||||||
|
stdout = command.Output(get_maintainer, '--norolestats', fname)
|
||||||
|
return stdout.splitlines()
|
|
@ -22,6 +22,7 @@
|
||||||
import itertools
|
import itertools
|
||||||
import os
|
import os
|
||||||
|
|
||||||
|
import get_maintainer
|
||||||
import gitutil
|
import gitutil
|
||||||
import terminal
|
import terminal
|
||||||
|
|
||||||
|
@ -225,6 +226,7 @@ class Series(dict):
|
||||||
if process_tags:
|
if process_tags:
|
||||||
list += gitutil.BuildEmailList(commit.tags)
|
list += gitutil.BuildEmailList(commit.tags)
|
||||||
list += gitutil.BuildEmailList(commit.cc_list)
|
list += gitutil.BuildEmailList(commit.cc_list)
|
||||||
|
list += get_maintainer.GetMaintainer(commit.patch)
|
||||||
all_ccs += list
|
all_ccs += list
|
||||||
print >>fd, commit.patch, ', '.join(list)
|
print >>fd, commit.patch, ', '.join(list)
|
||||||
self._generated_cc[commit.patch] = list
|
self._generated_cc[commit.patch] = list
|
||||||
|
|
Loading…
Add table
Reference in a new issue