aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobie Basak <rb-oss-1@justgohome.co.uk>2008-12-29 16:03:04 +0000
committerGuido Guenther <agx@sigxcpu.org>2008-12-29 19:11:46 +0100
commit6f4af4ae55f12e4d1cb5a1426d039edf5d04dee8 (patch)
tree9f6e89f7ce8d8b976a9178c5b9c8396a9df54913
parent80921ebfda217cd9862f8a98d0c406b22404151b (diff)
Use name and email from git
Closes: #509867
-rw-r--r--docs/manpages/git-dch.sgml8
-rw-r--r--gbp/config.py3
-rw-r--r--gbp/git_utils.py6
-rwxr-xr-xgit-dch15
4 files changed, 29 insertions, 3 deletions
diff --git a/docs/manpages/git-dch.sgml b/docs/manpages/git-dch.sgml
index be23906..91a97b6 100644
--- a/docs/manpages/git-dch.sgml
+++ b/docs/manpages/git-dch.sgml
@@ -33,6 +33,7 @@
<arg><option>--meta-closes=bug-close-tags</option></arg>
<arg><option>--snapshot-number=</option><replaceable>expression</replaceable></arg>
<arg><option>--git-log=</option><replaceable>git-log-options</replaceable></arg>
+ <arg><option>--git-author</option></arg>
<arg choice="plain"><replaceable>[path1 path2]</replaceable></arg>
</cmdsynopsis>
</refsynopsisdiv>
@@ -178,6 +179,13 @@
all.</para>
</listitem>
</varlistentry>
+ <varlistentry>
+ <term><option>--git-author</option>
+ </term>
+ <listitem>
+ <para>Use user.name and user.email from <application>git-config</application>(1) for changelog trailer</para>
+ </listitem>
+ </varlistentry>
</variablelist>
</refsect1>
<refsect1>
diff --git a/gbp/config.py b/gbp/config.py
index cb524df..0f167e2 100644
--- a/gbp/config.py
+++ b/gbp/config.py
@@ -46,6 +46,7 @@ class GbpOptionParser(OptionParser):
'meta-closes' : 'Closes|LP',
'id-length' : '0',
'no-dch' : 'False',
+ 'git-author' : 'False',
}
help = {
'debian-branch':
@@ -66,6 +67,8 @@ class GbpOptionParser(OptionParser):
"use pristine-tar to create .orig.tar.gz, default is '%(pristine-tar)s'",
'filter':
"files to filter out during import (can be given multiple times)",
+ 'git-author':
+ "use name and email from git-config for changelog trailer, default is '%(git-author)s'"
}
config_files = [ '/etc/git-buildpackage/gbp.conf',
os.path.expanduser('~/.gbp.conf'),
diff --git a/gbp/git_utils.py b/gbp/git_utils.py
index da8884e..ce4ebed 100644
--- a/gbp/git_utils.py
+++ b/gbp/git_utils.py
@@ -153,6 +153,12 @@ class GitRepository(object):
GitRm(verbose=verbose)(files)
return not self.is_clean()[0]
+ def get_config(self, name):
+ """Gets the config value associated with name"""
+ self.__check_path()
+ value, ret = self.__git_getoutput('config', [ name ])
+ if ret: raise KeyError
+ return value[0][:-1] # first line with \n ending removed
def create_repo(path):
"""create a repository at path"""
diff --git a/git-dch b/git-dch
index 3ca423d..b426a60 100755
--- a/git-dch
+++ b/git-dch
@@ -82,11 +82,19 @@ def add_changelog_section(msg, distribution, author=None, email=None, version=No
spawn_dch(msg=msg, newversion= True, version=version, author=author, email=email, distribution=distribution)
-def fixup_trailer():
+def fixup_trailer(repo, git_author=False):
"""fixup the changelog trailer's comitter and email address - it might
otherwise point to the last git committer instead of the person creating
the changelog"""
- spawn_dch(msg='')
+ author = email = None
+ if git_author:
+ try: author = repo.get_config('user.name')
+ except KeyError: pass
+
+ try: email = repo.get_config('user.email')
+ except KeyError: pass
+
+ spawn_dch(msg='', author=author, email=email)
def head_commit():
@@ -279,6 +287,7 @@ def main(argv):
help="mark as snapshot build")
version_group.add_option("-N", "--new-version", dest="new_version",
help="use this as base for the new version number")
+ version_group.add_config_file_option(option_name="git-author", dest="git_author", action="store_true")
commit_group.add_config_file_option(option_name="meta", dest="meta",
help="parse meta tags in commit messages, default is '%(meta)s'", action="store_true")
commit_group.add_config_file_option(option_name="meta-closes", dest="meta_closes",
@@ -355,7 +364,7 @@ def main(argv):
if commits:
shortlog_to_dch(repo, commits, options)
- fixup_trailer()
+ fixup_trailer(repo, git_author=options.git_author)
elif not first_commit:
print "No changes detected from %s to %s." % (since, until)