Hi,
On Wed, Aug 16, 2017 at 09:31:35AM -0700, Chris Lamb wrote:
> tags 872351 + patch
> thanks
>
> Patch attached.
Thanks! Can you update docs/manpages/gbp-pq{,-rpm}.sgml as well?
Cheers,
-- Guido
>
>
> Regards,
>
> --
> ,''`.
> : :' : Chris Lamb
> `. `'` [email protected] / chris-lamb.co.uk
> `-
> diff --git a/gbp/config.py b/gbp/config.py
> index 3c484cd..aba0dcb 100644
> --- a/gbp/config.py
> +++ b/gbp/config.py
> @@ -101,7 +101,8 @@ class GbpOptionParser(OptionParser):
> @cvar def_config_files: config files we parse
> @type def_config_files: dict (type, path)
> """
> - defaults = {'allow-unauthenticated': 'False',
> + defaults = {'abbrev': 7
> + 'allow-unauthenticated': 'False',
> 'arch': '',
> 'author-date-is-committer-date': 'False',
> 'author-is-committer': 'False',
> @@ -343,6 +344,8 @@ class GbpOptionParser(OptionParser):
> 'drop':
> "In case of 'export' drop the patch-queue branch "
> "after export. Default is '%(drop)s'",
> + 'abbrev':
> + "abbreviate commits to this length. default is '%(abbrev)s'",
> 'commit':
> "commit changes after export, Default is '%(commit)s'",
> 'rollback':
> diff --git a/gbp/scripts/common/pq.py b/gbp/scripts/common/pq.py
> index e9502ea..cf98a6c 100644
> --- a/gbp/scripts/common/pq.py
> +++ b/gbp/scripts/common/pq.py
> @@ -185,7 +185,7 @@ def write_patch_file(filename, commit_info, diff):
> DEFAULT_PATCH_NUM_PREFIX_FORMAT = "%04d-"
>
>
> -def format_patch(outdir, repo, commit_info, series, numbered=True,
> +def format_patch(outdir, repo, commit_info, series, abbrev, numbered=True,
> path_exclude_regex=None, topic='', name=None,
> renumber=False,
> patch_num_prefix_format=DEFAULT_PATCH_NUM_PREFIX_FORMAT):
> """Create patch of a single commit"""
> @@ -235,14 +235,14 @@ def format_patch(outdir, repo, commit_info, series,
> numbered=True,
> patch = None
> if paths:
> diff = repo.diff('%s^!' % commit_info['id'], paths=paths, stat=80,
> - summary=True, text=True, abbrev=7, renames=False)
> + summary=True, text=True, abbrev=abbrev,
> renames=False)
> patch = write_patch_file(filepath, commit_info, diff)
> if patch:
> series.append(patch)
> return patch
>
>
> -def format_diff(outdir, filename, repo, start, end, path_exclude_regex=None):
> +def format_diff(outdir, filename, repo, start, end, abbrev,
> path_exclude_regex=None):
> """Create a patch of diff between two repository objects"""
>
> info = {'author': repo.get_author_info()}
> @@ -260,7 +260,7 @@ def format_diff(outdir, filename, repo, start, end,
> path_exclude_regex=None):
> paths = patch_path_filter(file_status, path_exclude_regex)
> if paths:
> diff = repo.diff(start, end, paths=paths, stat=80, summary=True,
> - text=True, abbrev=7, renames=False)
> + text=True, abbrev=abbrev, renames=False)
> return write_patch_file(filename, info, diff)
> return None
>
> diff --git a/gbp/scripts/pq.py b/gbp/scripts/pq.py
> index 66a8d0d..8f7adb0 100755
> --- a/gbp/scripts/pq.py
> +++ b/gbp/scripts/pq.py
> @@ -98,7 +98,8 @@ def generate_patches(repo, start, end, outdir, options):
> if 'topic' in cmds:
> topic = cmds['topic']
> name = cmds.get('name', None)
> - format_patch(outdir, repo, info, patches, options.patch_numbers,
> + format_patch(outdir, repo, info, patches, options.abbrev,
> + numbered=options.patch_numbers,
> topic=topic, name=name,
> renumber=options.renumber,
> patch_num_prefix_format=options.patch_num_format)
> @@ -396,6 +397,7 @@ def build_parser(name):
> parser.add_config_file_option(option_name="time-machine",
> dest="time_machine", type="int")
> parser.add_boolean_config_file_option("drop", dest='drop')
> parser.add_boolean_config_file_option(option_name="commit",
> dest="commit")
> + parser.add_config_file_option(option_name="abbrev", dest="abbrev",
> type="int")
> parser.add_option("--force", dest="force", action="store_true",
> default=False,
> help="in case of import even import if the branch
> already exists")
> parser.add_config_file_option(option_name="color", dest="color",
> type='tristate')
> diff --git a/gbp/scripts/pq_rpm.py b/gbp/scripts/pq_rpm.py
> index ebce7ff..9b7fb6a 100755
> --- a/gbp/scripts/pq_rpm.py
> +++ b/gbp/scripts/pq_rpm.py
> @@ -86,9 +86,9 @@ def generate_patches(repo, start, end, outdir, options):
> merges = repo.get_commits(start, end_commit, options=['--merges'])
> if merges:
> # Shorten SHA1s
> - start_sha1 = repo.rev_parse(start, short=7)
> - merge_sha1 = repo.rev_parse(merges[0], short=7)
> - patch_fn = format_diff(outdir, None, repo, start_sha1, merge_sha1)
> + start_sha1 = repo.rev_parse(start, short=options.abbrev)
> + merge_sha1 = repo.rev_parse(merges[0], short=options.abbrev)
> + patch_fn = format_diff(outdir, None, repo, start_sha1, merge_sha1,
> options.abbrev)
> if patch_fn:
> gbp.log.info("Merge commits found! Diff between %s..%s written "
> "into one monolithic diff" % (start_sha1,
> merge_sha1))
> @@ -382,6 +382,7 @@ def build_parser(name):
> parser.add_config_file_option(option_name="color-scheme",
> dest="color_scheme")
> parser.add_config_file_option(option_name="tmp-dir", dest="tmp_dir")
> + parser.add_config_file_option(option_name="abbrev", dest="abbrev",
> type="int")
> parser.add_config_file_option(option_name="upstream-tag",
> dest="upstream_tag")
> parser.add_config_file_option(option_name="spec-file", dest="spec_file")