<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>
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>
'meta-closes' : 'Closes|LP',
'id-length' : '0',
'no-dch' : 'False',
+ 'git-author' : 'False',
}
help = {
'debian-branch':
"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'),
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"""
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():
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",
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)