Hello community,
here is the log from the commit of package git-pw for openSUSE:Factory checked in at 2019-12-02 11:28:18
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/git-pw (Old)
and /work/SRC/openSUSE:Factory/.git-pw.new.4691 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "git-pw"
Mon Dec 2 11:28:18 2019 rev:3 rq:751689 version:1.7.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/git-pw/git-pw.changes 2019-02-11 21:27:58.798996582 +0100
+++ /work/SRC/openSUSE:Factory/.git-pw.new.4691/git-pw.changes 2019-12-02 11:30:26.834584949 +0100
@@ -1,0 +2,5 @@
+Wed Nov 27 08:11:06 UTC 2019 - Johannes Thumshirn
+
+- Update to v1.7.0
+
+-------------------------------------------------------------------
Old:
----
git-pw-1.5.1.tar.gz
New:
----
git-pw-1.7.0.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ git-pw.spec ++++++
--- /var/tmp/diff_new_pack.SQ5zJ7/_old 2019-12-02 11:30:27.630584581 +0100
+++ /var/tmp/diff_new_pack.SQ5zJ7/_new 2019-12-02 11:30:27.630584581 +0100
@@ -18,7 +18,7 @@
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
Name: git-pw
-Version: 1.5.1
+Version: 1.7.0
Release: 0
Summary: A tool for integrating Git with Patchwork
License: MIT
++++++ git-pw-1.5.1.tar.gz -> git-pw-1.7.0.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/git-pw-1.5.1/.travis.yml new/git-pw-1.7.0/.travis.yml
--- old/git-pw-1.5.1/.travis.yml 2018-12-17 12:11:28.000000000 +0100
+++ new/git-pw-1.7.0/.travis.yml 2019-09-22 00:38:01.000000000 +0200
@@ -3,10 +3,9 @@
cache: pip
python:
- 2.7
-- 3.4
- 3.5
- 3.6
-- pypy
+- 3.7
install:
- pip install tox-travis
script:
@@ -17,7 +16,7 @@
jobs:
include:
- stage: deploy
- python: 3.6
+ python: 3.7
install: skip # no tests, no depedencies needed
script: skip # we're not running tests
deploy:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/git-pw-1.5.1/AUTHORS new/git-pw-1.7.0/AUTHORS
--- old/git-pw-1.5.1/AUTHORS 2018-12-17 12:11:50.000000000 +0100
+++ new/git-pw-1.7.0/AUTHORS 2019-09-22 00:38:23.000000000 +0200
@@ -1,3 +1,4 @@
+Ezequiel Garcia
Michael Ellerman
Stephen Finucane
Tom Tromey
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/git-pw-1.5.1/ChangeLog new/git-pw-1.7.0/ChangeLog
--- old/git-pw-1.5.1/ChangeLog 2018-12-17 12:11:50.000000000 +0100
+++ new/git-pw-1.7.0/ChangeLog 2019-09-22 00:38:23.000000000 +0200
@@ -1,6 +1,42 @@
CHANGES
=======
+1.7.0
+-----
+
+* Release version 1.7.0
+* requirements: Make requirements less strict (again)
+* Drop support for PyPy
+* utils: Simplify the unicodification of pager input
+* Handle integers too when printing CSV
+* setup.cfg: Minor tweaks
+* Resolves issues with CSV printing on Python 2
+* utils: Wrap CSV in quotes
+* Don't compare against 'sys.stdout'
+* Decode received mboxes
+* Store manpages in version control
+* tox: Use click-man executable instead
+* tox: Add code coverage
+* tox: Run flake8 on tests too
+* tox: Cleanup
+* tox: Remove 'release' target
+* tox: Remove py34, add py37
+
+1.6.0
+-----
+
+* Drop support for Python 3.4
+
+1.5.2
+-----
+
+* Download patches to temporary file
+* Add missing module docstrings
+* Decode output from 'subprocess.check\_output'
+* gitignore: Add autogenerated reno files
+* Print git-am output
+* README: Silly fix on install instructions
+
1.5.1
-----
@@ -42,35 +78,3 @@
* tests: Move to top-level directory
* Add swp files to .gitignore
* tests: Add 'bundle' tests
-* tests: Add 'patch' tests
-* tests: Add 'series' tests
-* bundle: 'api.download' returns a string
-* patch: Remove duplication
-* tests: Don't reuse the same name
-* Specify what ARGS argument for 'apply' commands means
-* Don't require escaping arguments
-* Add missing argument for \_echo\_via\_pager call
-* tests: Add tests for 'utils.git\_config'
-* Abide by git's pager settings
-
-1.2.0
------
-
-* Add initial unit tests
-* README: Replace backticks with asterisks
-* Resolve TODO
-* Take advantage of features from API v1.1
-* Prepare for required server version
-* Handle additional error codes
-* Allow users to show, download and apply bundles by name
-* docs: Modernize build process
-* docs: Use RTD theme locally
-* Save to file by default
-* Lower logging levels for some messages
-* Allow bulk updating
-* Fix type signatures
-
-1.1.2
------
-
-* Add missing release notes for last few bugfixes
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/git-pw-1.5.1/PKG-INFO new/git-pw-1.7.0/PKG-INFO
--- old/git-pw-1.5.1/PKG-INFO 2018-12-17 12:11:51.000000000 +0100
+++ new/git-pw-1.7.0/PKG-INFO 2019-09-22 00:38:23.000000000 +0200
@@ -1,11 +1,14 @@
-Metadata-Version: 1.1
+Metadata-Version: 1.2
Name: git-pw
-Version: 1.5.1
+Version: 1.7.0
Summary: Git-Patchwork integration tool
-Home-page: https://git-pw.readthedocs.io/
+Home-page: https://github.com/getpatchwork/git-pw
Author: Stephen Finucane
Author-email: stephen@that.guru
License: MIT License
+Project-URL: Bug Tracker, https://github.com/getpatchwork/git-pw/issues
+Project-URL: Source Code, https://github.com/getpatchwork/git-pw
+Project-URL: Documentation, https://git-pw.readthedocs.io
Description: ======
git-pw
======
@@ -71,7 +74,7 @@
$ git clone https://github.com/getpatchwork/git-pw
$ cd git-pw
- $ pip install --user . # or 'sudo python setup.py'
+ $ pip install --user . # or 'sudo python setup.py install'
Getting Started
---------------
@@ -150,6 +153,9 @@
Platform: UNKNOWN
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3
+Classifier: Programming Language :: Python :: 3.5
+Classifier: Programming Language :: Python :: 3.6
+Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python
Classifier: Development Status :: 4 - Beta
Classifier: Environment :: Console
@@ -157,3 +163,4 @@
Classifier: Intended Audience :: Information Technology
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
+Requires-Python: >=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/git-pw-1.5.1/README.rst new/git-pw-1.7.0/README.rst
--- old/git-pw-1.5.1/README.rst 2018-12-17 12:11:28.000000000 +0100
+++ new/git-pw-1.7.0/README.rst 2019-09-22 00:38:01.000000000 +0200
@@ -63,7 +63,7 @@
$ git clone https://github.com/getpatchwork/git-pw
$ cd git-pw
- $ pip install --user . # or 'sudo python setup.py'
+ $ pip install --user . # or 'sudo python setup.py install'
Getting Started
---------------
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/git-pw-1.5.1/docs/requirements.txt new/git-pw-1.7.0/docs/requirements.txt
--- old/git-pw-1.5.1/docs/requirements.txt 2018-12-17 12:11:28.000000000 +0100
+++ new/git-pw-1.7.0/docs/requirements.txt 2019-09-22 00:38:01.000000000 +0200
@@ -1,6 +1,5 @@
-r ../requirements.txt
sphinx>=1.5,<2.0
sphinx-click>=1.0,<2.0
-click-man>=0.2,<0.3
reno>=2.0,<3.0
sphinx_rtd_theme==0.3.1
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/git-pw-1.5.1/git_pw/__init__.py new/git-pw-1.7.0/git_pw/__init__.py
--- old/git-pw-1.5.1/git_pw/__init__.py 2018-12-17 12:11:28.000000000 +0100
+++ new/git-pw-1.7.0/git_pw/__init__.py 2019-09-22 00:38:01.000000000 +0200
@@ -1,3 +1,8 @@
+"""
+git-pw -- A tool for integrating Git with Patchwork, the web-based patch
+tracking system.
+"""
+
import pkg_resources
__version__ = pkg_resources.get_distribution('git-pw').version
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/git-pw-1.5.1/git_pw/api.py new/git-pw-1.7.0/git_pw/api.py
--- old/git-pw-1.5.1/git_pw/api.py 2018-12-17 12:11:28.000000000 +0100
+++ new/git-pw-1.7.0/git_pw/api.py 2019-09-22 00:38:01.000000000 +0200
@@ -4,8 +4,10 @@
from functools import update_wrapper
import logging
+import os.path
import re
import sys
+import tempfile
import click
import requests
@@ -195,7 +197,8 @@
LOG.error('Filename was expected but was not provided in response')
sys.exit(1)
- output_path = header.group(1)
+ output_path = os.path.join(tempfile.mkdtemp(prefix='git-pw'),
+ header.group(1))
with open(output_path, 'wb') as output_file:
LOG.debug('Saving to %s', output_path)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/git-pw-1.5.1/git_pw/bundle.py new/git-pw-1.7.0/git_pw/bundle.py
--- old/git-pw-1.5.1/git_pw/bundle.py 2018-12-17 12:11:28.000000000 +0100
+++ new/git-pw-1.7.0/git_pw/bundle.py 2019-09-22 00:38:01.000000000 +0200
@@ -3,6 +3,7 @@
"""
import logging
+import pty
import sys
import click
@@ -72,9 +73,11 @@
bundle = _get_bundle(bundle_id)
if output:
- output.write(api.get(bundle['mbox']).text)
+ content = api.get(bundle['mbox']).content
- if output != sys.stdout:
+ output.write(content)
+
+ if output.fileno() != pty.STDOUT_FILENO:
path = output.name
else:
path = api.download(bundle['mbox'])
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/git-pw-1.5.1/git_pw/patch.py new/git-pw-1.7.0/git_pw/patch.py
--- old/git-pw-1.5.1/git_pw/patch.py 2018-12-17 12:11:28.000000000 +0100
+++ new/git-pw-1.7.0/git_pw/patch.py 2019-09-22 00:38:01.000000000 +0200
@@ -3,6 +3,7 @@
"""
import logging
+import pty
import sys
import arrow
@@ -72,11 +73,11 @@
if fmt == 'diff':
content = patch['diff']
else:
- content = api.get(patch['mbox']).text
+ content = api.get(patch['mbox']).content
output.write(content)
- if output != sys.stdout:
+ if output.fileno() != pty.STDOUT_FILENO:
path = output.name
else:
if fmt == 'diff':
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/git-pw-1.5.1/git_pw/series.py new/git-pw-1.7.0/git_pw/series.py
--- old/git-pw-1.5.1/git_pw/series.py 2018-12-17 12:11:28.000000000 +0100
+++ new/git-pw-1.7.0/git_pw/series.py 2019-09-22 00:38:01.000000000 +0200
@@ -3,7 +3,7 @@
"""
import logging
-import sys
+import pty
import arrow
import click
@@ -52,9 +52,11 @@
series = api.detail('series', series_id)
if output:
- output.write(api.get(series['mbox']).text)
+ content = api.get(series['mbox']).content
- if output != sys.stdout:
+ output.write(content)
+
+ if output.fileno() != pty.STDOUT_FILENO:
path = output.name
else:
path = api.download(series['mbox'])
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/git-pw-1.5.1/git_pw/shell.py new/git-pw-1.7.0/git_pw/shell.py
--- old/git-pw-1.5.1/git_pw/shell.py 2018-12-17 12:11:28.000000000 +0100
+++ new/git-pw-1.7.0/git_pw/shell.py 2019-09-22 00:38:01.000000000 +0200
@@ -1,5 +1,5 @@
"""
-TODO.
+Command-line interface to the Patchwork API.
"""
import click
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/git-pw-1.5.1/git_pw/utils.py new/git-pw-1.7.0/git_pw/utils.py
--- old/git-pw-1.5.1/git_pw/utils.py 2018-12-17 12:11:28.000000000 +0100
+++ new/git-pw-1.7.0/git_pw/utils.py 2019-09-22 00:38:01.000000000 +0200
@@ -2,19 +2,25 @@
Utility functions.
"""
-import codecs
+from __future__ import print_function
+
+import csv
import os
import subprocess
import sys
import click
+import six
from tabulate import tabulate
-if sys.version_info < (3, 0):
- _text = unicode # noqa
-else:
- _text = str # noqa
+def ensure_str(s):
+ if s is None:
+ s = ''
+ elif not isinstance(s, (six.text_type, six.binary_type)):
+ s = str(s)
+
+ return six.ensure_str(s)
def trim(string, length=70): # type: (str, int) -> str
@@ -46,10 +52,12 @@
cmd.append(mbox)
try:
- subprocess.check_output(cmd, stderr=subprocess.STDOUT)
+ output = subprocess.check_output(cmd, stderr=subprocess.STDOUT)
except subprocess.CalledProcessError as exc:
- print(exc.output)
+ print(exc.output.decode('utf-8'))
sys.exit(exc.returncode)
+ else:
+ print(output.decode('utf-8'), end='')
def _tabulate(output, headers, fmt):
@@ -60,33 +68,18 @@
elif fmt == 'simple':
return tabulate(output, headers, tablefmt='simple')
elif fmt == 'csv':
- result = []
- result.append(','.join(headers))
+ result = six.StringIO()
+ writer = csv.writer(
+ result, quoting=csv.QUOTE_ALL, lineterminator=os.linesep)
+ writer.writerow([ensure_str(h) for h in headers])
for item in output:
- result.append(
- ','.join(_text(x if x is not None else '') for x in item))
- return '\n'.join(result)
+ writer.writerow([ensure_str(i) for i in item])
+ return result.getvalue()
print('pw.format must be one of: table, simple, csv')
sys.exit(1)
-def _is_ascii_encoding(encoding):
- """Checks if a given encoding is ascii."""
- try:
- return codecs.lookup(encoding).name == 'ascii'
- except LookupError:
- return False
-
-
-def _get_best_encoding(stream):
- """Returns the default stream encoding if not found."""
- rv = getattr(stream, 'encoding', None) or sys.getdefaultencoding()
- if _is_ascii_encoding(rv):
- return 'utf-8'
- return rv
-
-
def _echo_via_pager(pager, output):
env = dict(os.environ)
# When the LESS environment variable is unset, Git sets it to FRX (if
@@ -94,21 +87,20 @@
if 'LESS' not in env:
env['LESS'] = 'FRX'
- c = subprocess.Popen(pager, shell=True, stdin=subprocess.PIPE,
- env=env)
- encoding = _get_best_encoding(c.stdin)
+ pager = subprocess.Popen(pager.split(), stdin=subprocess.PIPE, env=env)
+
+ output = six.ensure_binary(output)
try:
- for line in output:
- c.stdin.write(line.encode(encoding, 'replace'))
+ pager.communicate(input=output)
except (IOError, KeyboardInterrupt):
pass
else:
- c.stdin.close()
+ pager.stdin.close()
while True:
try:
- c.wait()
+ pager.wait()
except KeyboardInterrupt:
pass
else:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/git-pw-1.5.1/git_pw.egg-info/PKG-INFO new/git-pw-1.7.0/git_pw.egg-info/PKG-INFO
--- old/git-pw-1.5.1/git_pw.egg-info/PKG-INFO 2018-12-17 12:11:50.000000000 +0100
+++ new/git-pw-1.7.0/git_pw.egg-info/PKG-INFO 2019-09-22 00:38:23.000000000 +0200
@@ -1,11 +1,14 @@
-Metadata-Version: 1.1
+Metadata-Version: 1.2
Name: git-pw
-Version: 1.5.1
+Version: 1.7.0
Summary: Git-Patchwork integration tool
-Home-page: https://git-pw.readthedocs.io/
+Home-page: https://github.com/getpatchwork/git-pw
Author: Stephen Finucane
Author-email: stephen@that.guru
License: MIT License
+Project-URL: Bug Tracker, https://github.com/getpatchwork/git-pw/issues
+Project-URL: Source Code, https://github.com/getpatchwork/git-pw
+Project-URL: Documentation, https://git-pw.readthedocs.io
Description: ======
git-pw
======
@@ -71,7 +74,7 @@
$ git clone https://github.com/getpatchwork/git-pw
$ cd git-pw
- $ pip install --user . # or 'sudo python setup.py'
+ $ pip install --user . # or 'sudo python setup.py install'
Getting Started
---------------
@@ -150,6 +153,9 @@
Platform: UNKNOWN
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3
+Classifier: Programming Language :: Python :: 3.5
+Classifier: Programming Language :: Python :: 3.6
+Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python
Classifier: Development Status :: 4 - Beta
Classifier: Environment :: Console
@@ -157,3 +163,4 @@
Classifier: Intended Audience :: Information Technology
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
+Requires-Python: >=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/git-pw-1.5.1/git_pw.egg-info/SOURCES.txt new/git-pw-1.7.0/git_pw.egg-info/SOURCES.txt
--- old/git-pw-1.5.1/git_pw.egg-info/SOURCES.txt 2018-12-17 12:11:50.000000000 +0100
+++ new/git-pw-1.7.0/git_pw.egg-info/SOURCES.txt 2019-09-22 00:38:23.000000000 +0200
@@ -32,7 +32,26 @@
git_pw.egg-info/pbr.json
git_pw.egg-info/requires.txt
git_pw.egg-info/top_level.txt
+man/git-pw-bundle-apply.1
+man/git-pw-bundle-download.1
+man/git-pw-bundle-list.1
+man/git-pw-bundle-show.1
+man/git-pw-bundle.1
+man/git-pw-patch-apply.1
+man/git-pw-patch-download.1
+man/git-pw-patch-list.1
+man/git-pw-patch-show.1
+man/git-pw-patch-update.1
+man/git-pw-patch.1
+man/git-pw-series-apply.1
+man/git-pw-series-download.1
+man/git-pw-series-list.1
+man/git-pw-series-show.1
+man/git-pw-series.1
+man/git-pw.1
releasenotes/notes/api-v1-1-5c804713ef435739.yaml
+releasenotes/notes/drop-pypy-support-f670deb05ef527fe.yaml
+releasenotes/notes/drop-python34-support-5e01360fff605972.yaml
releasenotes/notes/enforce-filtering-by-project-59ed29c4b7edc0a5.yaml
releasenotes/notes/filter-item-list-by-user-id-4f4e7d6dc402093b.yaml
releasenotes/notes/filter-multiple-matches-197ff839f6b578da.yaml
@@ -40,6 +59,12 @@
releasenotes/notes/initial-release-0aad09064615d023.yaml
releasenotes/notes/issue-24-60a9fa796f666f35.yaml
releasenotes/notes/issue-29-884269fdf35f64b2.yaml
+releasenotes/notes/issue-43-c2c166e1fa23fe76.yaml
+releasenotes/notes/issue-44-66b78577e9534f16.yaml
+releasenotes/notes/issue-46-50933643cd5c8db0.yaml
+releasenotes/notes/issue-47-a9ac87642050d289.yaml
+releasenotes/notes/issue-48-694495f722119fed.yaml
+releasenotes/notes/issue-49-865c4f1657b97fce.yaml
releasenotes/notes/passthrough-git-am-arguments-23cd0b292304d648.yaml
releasenotes/notes/random-fixes-3da473a63c253f2d.yaml
releasenotes/notes/remove-python-3-2-3-3-support-8987031bed2c0333.yaml
@@ -50,6 +75,7 @@
releasenotes/notes/use-bundle-names-b1b3ee5c2858c96b.yaml
releasenotes/notes/use-git-pager-settings-ec6555d8311a8bec.yaml
releasenotes/notes/warn-on-multiple-filters-a4e01fdb5cf6e459.yaml
+tests/__init__.py
tests/test_api.py
tests/test_bundle.py
tests/test_patch.py
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/git-pw-1.5.1/git_pw.egg-info/pbr.json new/git-pw-1.7.0/git_pw.egg-info/pbr.json
--- old/git-pw-1.5.1/git_pw.egg-info/pbr.json 2018-12-17 12:11:50.000000000 +0100
+++ new/git-pw-1.7.0/git_pw.egg-info/pbr.json 2019-09-22 00:38:23.000000000 +0200
@@ -1 +1 @@
-{"git_version": "c22ac35", "is_release": true}
\ No newline at end of file
+{"git_version": "0562167", "is_release": true}
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/git-pw-1.5.1/git_pw.egg-info/requires.txt new/git-pw-1.7.0/git_pw.egg-info/requires.txt
--- old/git-pw-1.5.1/git_pw.egg-info/requires.txt 2018-12-17 12:11:50.000000000 +0100
+++ new/git-pw-1.7.0/git_pw.egg-info/requires.txt 2019-09-22 00:38:23.000000000 +0200
@@ -2,3 +2,4 @@
requests<3.0,>2.0
tabulate>=0.8
arrow>=0.10
+six>=1.12
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/git-pw-1.5.1/man/git-pw-bundle-apply.1 new/git-pw-1.7.0/man/git-pw-bundle-apply.1
--- old/git-pw-1.5.1/man/git-pw-bundle-apply.1 1970-01-01 01:00:00.000000000 +0100
+++ new/git-pw-1.7.0/man/git-pw-bundle-apply.1 2019-09-22 00:38:01.000000000 +0200
@@ -0,0 +1,11 @@
+.TH "GIT-PW BUNDLE APPLY" "1" "21-Sep-2019" "1.7.0" "git-pw bundle apply Manual"
+.SH NAME
+git-pw\-bundle\-apply \- Apply bundle.
+.SH SYNOPSIS
+.B git-pw bundle apply
+[OPTIONS] BUNDLE_ID [ARGS]...
+.SH DESCRIPTION
+Apply bundle.
+.PP
+Apply a bundle locally using the 'git-am' command. Any additional ARGS
+provided will be passed to the 'git-am' command.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/git-pw-1.5.1/man/git-pw-bundle-download.1 new/git-pw-1.7.0/man/git-pw-bundle-download.1
--- old/git-pw-1.5.1/man/git-pw-bundle-download.1 1970-01-01 01:00:00.000000000 +0100
+++ new/git-pw-1.7.0/man/git-pw-bundle-download.1 2019-09-22 00:38:01.000000000 +0200
@@ -0,0 +1,12 @@
+.TH "GIT-PW BUNDLE DOWNLOAD" "1" "21-Sep-2019" "1.7.0" "git-pw bundle download Manual"
+.SH NAME
+git-pw\-bundle\-download \- Download bundle in mbox format.
+.SH SYNOPSIS
+.B git-pw bundle download
+[OPTIONS] BUNDLE_ID [OUTPUT]
+.SH DESCRIPTION
+Download bundle in mbox format.
+.PP
+Download a bundle but do not apply it. ``OUTPUT`` is optional and can be an
+output path or ``-`` to output to ``stdout``. If ``OUTPUT`` is not
+provided, the output path will be automatically chosen.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/git-pw-1.5.1/man/git-pw-bundle-list.1 new/git-pw-1.7.0/man/git-pw-bundle-list.1
--- old/git-pw-1.5.1/man/git-pw-bundle-list.1 1970-01-01 01:00:00.000000000 +0100
+++ new/git-pw-1.7.0/man/git-pw-bundle-list.1 2019-09-22 00:38:01.000000000 +0200
@@ -0,0 +1,29 @@
+.TH "GIT-PW BUNDLE LIST" "1" "21-Sep-2019" "1.7.0" "git-pw bundle list Manual"
+.SH NAME
+git-pw\-bundle\-list \- List bundles.
+.SH SYNOPSIS
+.B git-pw bundle list
+[OPTIONS] [NAME]
+.SH DESCRIPTION
+List bundles.
+.PP
+List bundles on the Patchwork instance.
+.SH OPTIONS
+.TP
+\fB\-\-owner\fP OWNER
+Show only bundles with these owners. Should be an email, name or ID. Private bundles of other users will not be shown.
+.TP
+\fB\-\-sort\fP FIELD
+Sort output on given field.
+.TP
+\fB\-\-page\fP PAGE
+Page to retrieve items from. This is influenced by the size of LIMIT.
+.TP
+\fB\-\-limit\fP LIMIT
+Maximum number of items to show.
+.TP
+\fB\-c,\fP \-\-column COLUMN
+Columns to be included in output.
+.TP
+\fB\-f,\fP \-\-format [simple|table|csv]
+Output format. Defaults to the value of 'git config pw.format' else 'table'.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/git-pw-1.5.1/man/git-pw-bundle-show.1 new/git-pw-1.7.0/man/git-pw-bundle-show.1
--- old/git-pw-1.5.1/man/git-pw-bundle-show.1 1970-01-01 01:00:00.000000000 +0100
+++ new/git-pw-1.7.0/man/git-pw-bundle-show.1 2019-09-22 00:38:01.000000000 +0200
@@ -0,0 +1,14 @@
+.TH "GIT-PW BUNDLE SHOW" "1" "21-Sep-2019" "1.7.0" "git-pw bundle show Manual"
+.SH NAME
+git-pw\-bundle\-show \- Show information about bundle.
+.SH SYNOPSIS
+.B git-pw bundle show
+[OPTIONS] BUNDLE_ID
+.SH DESCRIPTION
+Show information about bundle.
+.PP
+Retrieve Patchwork metadata for a bundle.
+.SH OPTIONS
+.TP
+\fB\-f,\fP \-\-format [simple|table|csv]
+Output format. Defaults to the value of 'git config pw.format' else 'table'.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/git-pw-1.5.1/man/git-pw-bundle.1 new/git-pw-1.7.0/man/git-pw-bundle.1
--- old/git-pw-1.5.1/man/git-pw-bundle.1 1970-01-01 01:00:00.000000000 +0100
+++ new/git-pw-1.7.0/man/git-pw-bundle.1 2019-09-22 00:38:01.000000000 +0200
@@ -0,0 +1,33 @@
+.TH "GIT-PW BUNDLE" "1" "21-Sep-2019" "1.7.0" "git-pw bundle Manual"
+.SH NAME
+git-pw\-bundle \- Interact with bundles.
+.SH SYNOPSIS
+.B git-pw bundle
+[OPTIONS] COMMAND [ARGS]...
+.SH DESCRIPTION
+Interact with bundles.
+.PP
+Bundles are custom, user-defined groups of patches. Bundles can be
+used to keep patch lists, preserving order, for future inclusion in
+a tree. There's no restriction of number of patches and they don't
+even need to be in the same project. A single patch also can be
+part of multiple bundles at the same time. An example of Bundle
+usage would be keeping track of the Patches that are ready for
+merge to the tree.
+.SH COMMANDS
+.PP
+\fBapply\fP
+ Apply bundle.
+ See \fBgit-pw bundle-apply(1)\fP for full documentation on the \fBapply\fP command.
+.PP
+\fBshow\fP
+ Show information about bundle.
+ See \fBgit-pw bundle-show(1)\fP for full documentation on the \fBshow\fP command.
+.PP
+\fBdownload\fP
+ Download bundle in mbox format.
+ See \fBgit-pw bundle-download(1)\fP for full documentation on the \fBdownload\fP command.
+.PP
+\fBlist\fP
+ List bundles.
+ See \fBgit-pw bundle-list(1)\fP for full documentation on the \fBlist\fP command.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/git-pw-1.5.1/man/git-pw-patch-apply.1 new/git-pw-1.7.0/man/git-pw-patch-apply.1
--- old/git-pw-1.5.1/man/git-pw-patch-apply.1 1970-01-01 01:00:00.000000000 +0100
+++ new/git-pw-1.7.0/man/git-pw-patch-apply.1 2019-09-22 00:38:01.000000000 +0200
@@ -0,0 +1,18 @@
+.TH "GIT-PW PATCH APPLY" "1" "21-Sep-2019" "1.7.0" "git-pw patch apply Manual"
+.SH NAME
+git-pw\-patch\-apply \- Apply patch.
+.SH SYNOPSIS
+.B git-pw patch apply
+[OPTIONS] PATCH_ID [ARGS]...
+.SH DESCRIPTION
+Apply patch.
+.PP
+Apply a patch locally using the 'git-am' command. Any additional ARGS
+provided will be passed to the 'git-am' command.
+.SH OPTIONS
+.TP
+\fB\-\-series\fP SERIES
+Series to include dependencies from. Defaults to latest.
+.TP
+\fB\-\-deps\fP / \-\-no\-deps
+When applying the patch, include dependencies if available. Defaults to using the most recent series.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/git-pw-1.5.1/man/git-pw-patch-download.1 new/git-pw-1.7.0/man/git-pw-patch-download.1
--- old/git-pw-1.5.1/man/git-pw-patch-download.1 1970-01-01 01:00:00.000000000 +0100
+++ new/git-pw-1.7.0/man/git-pw-patch-download.1 2019-09-22 00:38:01.000000000 +0200
@@ -0,0 +1,19 @@
+.TH "GIT-PW PATCH DOWNLOAD" "1" "21-Sep-2019" "1.7.0" "git-pw patch download Manual"
+.SH NAME
+git-pw\-patch\-download \- Download patch in diff or mbox format.
+.SH SYNOPSIS
+.B git-pw patch download
+[OPTIONS] PATCH_ID [OUTPUT]
+.SH DESCRIPTION
+Download patch in diff or mbox format.
+.PP
+Download a patch but do not apply it. ``OUTPUT`` is optional and can be an
+output path or ``-`` to output to ``stdout``. If ``OUTPUT`` is not
+provided, the output path will be automatically chosen.
+.SH OPTIONS
+.TP
+\fB\-\-diff\fP
+Show patch in diff format.
+.TP
+\fB\-\-mbox\fP
+Show patch in mbox format.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/git-pw-1.5.1/man/git-pw-patch-list.1 new/git-pw-1.7.0/man/git-pw-patch-list.1
--- old/git-pw-1.5.1/man/git-pw-patch-list.1 1970-01-01 01:00:00.000000000 +0100
+++ new/git-pw-1.7.0/man/git-pw-patch-list.1 2019-09-22 00:38:01.000000000 +0200
@@ -0,0 +1,38 @@
+.TH "GIT-PW PATCH LIST" "1" "21-Sep-2019" "1.7.0" "git-pw patch list Manual"
+.SH NAME
+git-pw\-patch\-list \- List patches.
+.SH SYNOPSIS
+.B git-pw patch list
+[OPTIONS] [NAME]
+.SH DESCRIPTION
+List patches.
+.PP
+List patches on the Patchwork instance.
+.SH OPTIONS
+.TP
+\fB\-\-state\fP STATE
+Show only patches matching these states. Should be slugified representations of states. The available states are instance dependant.
+.TP
+\fB\-\-submitter\fP SUBMITTER
+Show only patches by these submitters. Should be an email, name or ID.
+.TP
+\fB\-\-delegate\fP DELEGATE
+Show only patches by these delegates. Should be an email or username.
+.TP
+\fB\-\-archived\fP
+Include patches that are archived.
+.TP
+\fB\-\-sort\fP FIELD
+Sort output on given field.
+.TP
+\fB\-\-page\fP PAGE
+Page to retrieve items from. This is influenced by the size of LIMIT.
+.TP
+\fB\-\-limit\fP LIMIT
+Maximum number of items to show.
+.TP
+\fB\-c,\fP \-\-column COLUMN
+Columns to be included in output.
+.TP
+\fB\-f,\fP \-\-format [simple|table|csv]
+Output format. Defaults to the value of 'git config pw.format' else 'table'.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/git-pw-1.5.1/man/git-pw-patch-show.1 new/git-pw-1.7.0/man/git-pw-patch-show.1
--- old/git-pw-1.5.1/man/git-pw-patch-show.1 1970-01-01 01:00:00.000000000 +0100
+++ new/git-pw-1.7.0/man/git-pw-patch-show.1 2019-09-22 00:38:01.000000000 +0200
@@ -0,0 +1,14 @@
+.TH "GIT-PW PATCH SHOW" "1" "21-Sep-2019" "1.7.0" "git-pw patch show Manual"
+.SH NAME
+git-pw\-patch\-show \- Show information about patch.
+.SH SYNOPSIS
+.B git-pw patch show
+[OPTIONS] PATCH_ID
+.SH DESCRIPTION
+Show information about patch.
+.PP
+Retrieve Patchwork metadata for a patch.
+.SH OPTIONS
+.TP
+\fB\-f,\fP \-\-format [simple|table|csv]
+Output format. Defaults to the value of 'git config pw.format' else 'table'.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/git-pw-1.5.1/man/git-pw-patch-update.1 new/git-pw-1.7.0/man/git-pw-patch-update.1
--- old/git-pw-1.5.1/man/git-pw-patch-update.1 1970-01-01 01:00:00.000000000 +0100
+++ new/git-pw-1.7.0/man/git-pw-patch-update.1 2019-09-22 00:38:01.000000000 +0200
@@ -0,0 +1,27 @@
+.TH "GIT-PW PATCH UPDATE" "1" "21-Sep-2019" "1.7.0" "git-pw patch update Manual"
+.SH NAME
+git-pw\-patch\-update \- Update one or more patches.
+.SH SYNOPSIS
+.B git-pw patch update
+[OPTIONS] PATCH_IDS...
+.SH DESCRIPTION
+Update one or more patches.
+.PP
+Updates one or more Patches on the Patchwork instance. Some operations may
+require admin or maintainer permissions.
+.SH OPTIONS
+.TP
+\fB\-\-commit\-ref\fP COMMIT_REF
+Set the patch commit reference hash
+.TP
+\fB\-\-state\fP STATE
+Set the patch state. Should be a slugified representation of a state. The available states are instance dependant.
+.TP
+\fB\-\-delegate\fP DELEGATE
+Set the patch delegate. Should be unique user identifier: either a username or a user's email address.
+.TP
+\fB\-\-archived\fP ARCHIVED
+Set the patch archived state.
+.TP
+\fB\-f,\fP \-\-format [simple|table|csv]
+Output format. Defaults to the value of 'git config pw.format' else 'table'.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/git-pw-1.5.1/man/git-pw-patch.1 new/git-pw-1.7.0/man/git-pw-patch.1
--- old/git-pw-1.5.1/man/git-pw-patch.1 1970-01-01 01:00:00.000000000 +0100
+++ new/git-pw-1.7.0/man/git-pw-patch.1 2019-09-22 00:38:01.000000000 +0200
@@ -0,0 +1,36 @@
+.TH "GIT-PW PATCH" "1" "21-Sep-2019" "1.7.0" "git-pw patch Manual"
+.SH NAME
+git-pw\-patch \- Interact with patches.
+.SH SYNOPSIS
+.B git-pw patch
+[OPTIONS] COMMAND [ARGS]...
+.SH DESCRIPTION
+Interact with patches.
+.PP
+Patches are the central object in Patchwork structure. A patch
+contains both a diff and some metadata, such as the name, the
+description, the author, the version of the patch etc. Patchwork
+stores not only the patch itself but also various metadata
+associated with the email that the patch was parsed from, such as
+the message headers or the date the message itself was received.
+.SH COMMANDS
+.PP
+\fBapply\fP
+ Apply patch.
+ See \fBgit-pw patch-apply(1)\fP for full documentation on the \fBapply\fP command.
+.PP
+\fBshow\fP
+ Show information about patch.
+ See \fBgit-pw patch-show(1)\fP for full documentation on the \fBshow\fP command.
+.PP
+\fBdownload\fP
+ Download patch in diff or mbox format.
+ See \fBgit-pw patch-download(1)\fP for full documentation on the \fBdownload\fP command.
+.PP
+\fBupdate\fP
+ Update one or more patches.
+ See \fBgit-pw patch-update(1)\fP for full documentation on the \fBupdate\fP command.
+.PP
+\fBlist\fP
+ List patches.
+ See \fBgit-pw patch-list(1)\fP for full documentation on the \fBlist\fP command.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/git-pw-1.5.1/man/git-pw-series-apply.1 new/git-pw-1.7.0/man/git-pw-series-apply.1
--- old/git-pw-1.5.1/man/git-pw-series-apply.1 1970-01-01 01:00:00.000000000 +0100
+++ new/git-pw-1.7.0/man/git-pw-series-apply.1 2019-09-22 00:38:01.000000000 +0200
@@ -0,0 +1,11 @@
+.TH "GIT-PW SERIES APPLY" "1" "21-Sep-2019" "1.7.0" "git-pw series apply Manual"
+.SH NAME
+git-pw\-series\-apply \- Apply series.
+.SH SYNOPSIS
+.B git-pw series apply
+[OPTIONS] SERIES_ID [ARGS]...
+.SH DESCRIPTION
+Apply series.
+.PP
+Apply a series locally using the 'git-am' command. Any additional ARGS
+provided will be passed to the 'git-am' command.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/git-pw-1.5.1/man/git-pw-series-download.1 new/git-pw-1.7.0/man/git-pw-series-download.1
--- old/git-pw-1.5.1/man/git-pw-series-download.1 1970-01-01 01:00:00.000000000 +0100
+++ new/git-pw-1.7.0/man/git-pw-series-download.1 2019-09-22 00:38:01.000000000 +0200
@@ -0,0 +1,12 @@
+.TH "GIT-PW SERIES DOWNLOAD" "1" "21-Sep-2019" "1.7.0" "git-pw series download Manual"
+.SH NAME
+git-pw\-series\-download \- Download series in mbox format.
+.SH SYNOPSIS
+.B git-pw series download
+[OPTIONS] SERIES_ID [OUTPUT]
+.SH DESCRIPTION
+Download series in mbox format.
+.PP
+Download a series but do not apply it. ``OUTPUT`` is optional and can be an
+output path or ``-`` to output to ``stdout``. If ``OUTPUT`` is not
+provided, the output path will be automatically chosen.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/git-pw-1.5.1/man/git-pw-series-list.1 new/git-pw-1.7.0/man/git-pw-series-list.1
--- old/git-pw-1.5.1/man/git-pw-series-list.1 1970-01-01 01:00:00.000000000 +0100
+++ new/git-pw-1.7.0/man/git-pw-series-list.1 2019-09-22 00:38:01.000000000 +0200
@@ -0,0 +1,29 @@
+.TH "GIT-PW SERIES LIST" "1" "21-Sep-2019" "1.7.0" "git-pw series list Manual"
+.SH NAME
+git-pw\-series\-list \- List series.
+.SH SYNOPSIS
+.B git-pw series list
+[OPTIONS] [NAME]
+.SH DESCRIPTION
+List series.
+.PP
+List series on the Patchwork instance.
+.SH OPTIONS
+.TP
+\fB\-\-submitter\fP SUBMITTER
+Show only series by these submitters. Should be an email, name or ID.
+.TP
+\fB\-\-sort\fP FIELD
+Sort output on given field.
+.TP
+\fB\-\-page\fP PAGE
+Page to retrieve items from. This is influenced by the size of LIMIT.
+.TP
+\fB\-\-limit\fP LIMIT
+Maximum number of items to show.
+.TP
+\fB\-c,\fP \-\-column COLUMN
+Columns to be included in output.
+.TP
+\fB\-f,\fP \-\-format [simple|table|csv]
+Output format. Defaults to the value of 'git config pw.format' else 'table'.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/git-pw-1.5.1/man/git-pw-series-show.1 new/git-pw-1.7.0/man/git-pw-series-show.1
--- old/git-pw-1.5.1/man/git-pw-series-show.1 1970-01-01 01:00:00.000000000 +0100
+++ new/git-pw-1.7.0/man/git-pw-series-show.1 2019-09-22 00:38:01.000000000 +0200
@@ -0,0 +1,14 @@
+.TH "GIT-PW SERIES SHOW" "1" "21-Sep-2019" "1.7.0" "git-pw series show Manual"
+.SH NAME
+git-pw\-series\-show \- Show information about series.
+.SH SYNOPSIS
+.B git-pw series show
+[OPTIONS] SERIES_ID
+.SH DESCRIPTION
+Show information about series.
+.PP
+Retrieve Patchwork metadata for a series.
+.SH OPTIONS
+.TP
+\fB\-f,\fP \-\-format [simple|table|csv]
+Output format. Defaults to the value of 'git config pw.format' else 'table'.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/git-pw-1.5.1/man/git-pw-series.1 new/git-pw-1.7.0/man/git-pw-series.1
--- old/git-pw-1.5.1/man/git-pw-series.1 1970-01-01 01:00:00.000000000 +0100
+++ new/git-pw-1.7.0/man/git-pw-series.1 2019-09-22 00:38:01.000000000 +0200
@@ -0,0 +1,31 @@
+.TH "GIT-PW SERIES" "1" "21-Sep-2019" "1.7.0" "git-pw series Manual"
+.SH NAME
+git-pw\-series \- Interact with series.
+.SH SYNOPSIS
+.B git-pw series
+[OPTIONS] COMMAND [ARGS]...
+.SH DESCRIPTION
+Interact with series.
+.PP
+Series are groups of patches, along with an optional cover letter.
+Series are mostly dumb containers, though they also contain some
+metadata themselves, such as a version (which is inherited by the
+patches and cover letter) and a count of the number of patches
+found in the series.
+.SH COMMANDS
+.PP
+\fBapply\fP
+ Apply series.
+ See \fBgit-pw series-apply(1)\fP for full documentation on the \fBapply\fP command.
+.PP
+\fBshow\fP
+ Show information about series.
+ See \fBgit-pw series-show(1)\fP for full documentation on the \fBshow\fP command.
+.PP
+\fBdownload\fP
+ Download series in mbox format.
+ See \fBgit-pw series-download(1)\fP for full documentation on the \fBdownload\fP command.
+.PP
+\fBlist\fP
+ List series.
+ See \fBgit-pw series-list(1)\fP for full documentation on the \fBlist\fP command.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/git-pw-1.5.1/man/git-pw.1 new/git-pw-1.7.0/man/git-pw.1
--- old/git-pw-1.5.1/man/git-pw.1 1970-01-01 01:00:00.000000000 +0100
+++ new/git-pw-1.7.0/man/git-pw.1 2019-09-22 00:38:01.000000000 +0200
@@ -0,0 +1,64 @@
+.TH "GIT-PW" "1" "21-Sep-2019" "1.7.0" "git-pw Manual"
+.SH NAME
+git-pw \- git-pw is a tool for integrating Git with...
+.SH SYNOPSIS
+.B git-pw
+[OPTIONS] COMMAND [ARGS]...
+.SH DESCRIPTION
+git-pw is a tool for integrating Git with Patchwork.
+.PP
+git-pw can interact with individual patches, complete patch series, and
+customized bundles. The three major subcommands are *patch*, *bundle*,
+and *series*.
+.PP
+The git-pw utility is a wrapper which makes REST calls to the Patchwork
+service. To use git-pw, you must set up your environment by configuring
+your Patchwork server URL and either an API token or a username and
+password. To configure the server URL, run::
+.PP
+ git config pw.server http://pw.server.com/path/to/patchwork
+.PP
+To configure the token, run::
+.PP
+ git config pw.token token
+.PP
+Alternatively, you can pass these options via command line parameters or
+environment variables.
+.PP
+For more information on any of the commands, simply pass ``--help`` to the
+appropriate command.
+.SH OPTIONS
+.TP
+\fB\-\-debug\fP
+Output more information about what's going on.
+.TP
+\fB\-\-token\fP TOKEN
+Authentication token. Defaults to the value of 'git config pw.token'.
+.TP
+\fB\-\-username\fP USERNAME
+Authentication username. Defaults to the value of 'git config pw.username'.
+.TP
+\fB\-\-password\fP PASSWORD
+Authentication password. Defaults to the value of 'git config pw.password'.
+.TP
+\fB\-\-server\fP SERVER
+Patchwork server address/hostname. Defaults to the value of 'git config pw.server'.
+.TP
+\fB\-\-project\fP PROJECT
+Patchwork project. Defaults the value of 'git config pw.project'.
+.TP
+\fB\-\-version\fP
+Show the version and exit.
+.SH COMMANDS
+.PP
+\fBpatch\fP
+ Interact with patches.
+ See \fBgit-pw-patch(1)\fP for full documentation on the \fBpatch\fP command.
+.PP
+\fBseries\fP
+ Interact with series.
+ See \fBgit-pw-series(1)\fP for full documentation on the \fBseries\fP command.
+.PP
+\fBbundle\fP
+ Interact with bundles.
+ See \fBgit-pw-bundle(1)\fP for full documentation on the \fBbundle\fP command.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/git-pw-1.5.1/releasenotes/notes/drop-pypy-support-f670deb05ef527fe.yaml new/git-pw-1.7.0/releasenotes/notes/drop-pypy-support-f670deb05ef527fe.yaml
--- old/git-pw-1.5.1/releasenotes/notes/drop-pypy-support-f670deb05ef527fe.yaml 1970-01-01 01:00:00.000000000 +0100
+++ new/git-pw-1.7.0/releasenotes/notes/drop-pypy-support-f670deb05ef527fe.yaml 2019-09-22 00:38:01.000000000 +0200
@@ -0,0 +1,4 @@
+---
+upgrade:
+ - |
+ *git-pw* no longer officially supports PyPy.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/git-pw-1.5.1/releasenotes/notes/drop-python34-support-5e01360fff605972.yaml new/git-pw-1.7.0/releasenotes/notes/drop-python34-support-5e01360fff605972.yaml
--- old/git-pw-1.5.1/releasenotes/notes/drop-python34-support-5e01360fff605972.yaml 1970-01-01 01:00:00.000000000 +0100
+++ new/git-pw-1.7.0/releasenotes/notes/drop-python34-support-5e01360fff605972.yaml 2019-09-22 00:38:01.000000000 +0200
@@ -0,0 +1,4 @@
+---
+upgrade:
+ - |
+ Support for Python 3.4 has been dropped.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/git-pw-1.5.1/releasenotes/notes/issue-43-c2c166e1fa23fe76.yaml new/git-pw-1.7.0/releasenotes/notes/issue-43-c2c166e1fa23fe76.yaml
--- old/git-pw-1.5.1/releasenotes/notes/issue-43-c2c166e1fa23fe76.yaml 1970-01-01 01:00:00.000000000 +0100
+++ new/git-pw-1.7.0/releasenotes/notes/issue-43-c2c166e1fa23fe76.yaml 2019-09-22 00:38:01.000000000 +0200
@@ -0,0 +1,5 @@
+---
+fixes:
+ - |
+ An issue that resulted in invalid output on Python 3 when a patch or series
+ was not successfully applied has been resolved.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/git-pw-1.5.1/releasenotes/notes/issue-44-66b78577e9534f16.yaml new/git-pw-1.7.0/releasenotes/notes/issue-44-66b78577e9534f16.yaml
--- old/git-pw-1.5.1/releasenotes/notes/issue-44-66b78577e9534f16.yaml 1970-01-01 01:00:00.000000000 +0100
+++ new/git-pw-1.7.0/releasenotes/notes/issue-44-66b78577e9534f16.yaml 2019-09-22 00:38:01.000000000 +0200
@@ -0,0 +1,5 @@
+---
+upgrade:
+ - |
+ Downloaded patches, series and bundles are now saved to a temporary
+ directory instead of the current directory.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/git-pw-1.5.1/releasenotes/notes/issue-46-50933643cd5c8db0.yaml new/git-pw-1.7.0/releasenotes/notes/issue-46-50933643cd5c8db0.yaml
--- old/git-pw-1.5.1/releasenotes/notes/issue-46-50933643cd5c8db0.yaml 1970-01-01 01:00:00.000000000 +0100
+++ new/git-pw-1.7.0/releasenotes/notes/issue-46-50933643cd5c8db0.yaml 2019-09-22 00:38:01.000000000 +0200
@@ -0,0 +1,4 @@
+---
+upgrade:
+ - |
+ CSV-formatted output is now quoted by default.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/git-pw-1.5.1/releasenotes/notes/issue-47-a9ac87642050d289.yaml new/git-pw-1.7.0/releasenotes/notes/issue-47-a9ac87642050d289.yaml
--- old/git-pw-1.5.1/releasenotes/notes/issue-47-a9ac87642050d289.yaml 1970-01-01 01:00:00.000000000 +0100
+++ new/git-pw-1.7.0/releasenotes/notes/issue-47-a9ac87642050d289.yaml 2019-09-22 00:38:01.000000000 +0200
@@ -0,0 +1,5 @@
+---
+fixes:
+ - |
+ Resolved an issue that prevented viewing patch diffs/mboxes in stdout on
+ Python 3.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/git-pw-1.5.1/releasenotes/notes/issue-48-694495f722119fed.yaml new/git-pw-1.7.0/releasenotes/notes/issue-48-694495f722119fed.yaml
--- old/git-pw-1.5.1/releasenotes/notes/issue-48-694495f722119fed.yaml 1970-01-01 01:00:00.000000000 +0100
+++ new/git-pw-1.7.0/releasenotes/notes/issue-48-694495f722119fed.yaml 2019-09-22 00:38:01.000000000 +0200
@@ -0,0 +1,5 @@
+---
+fixes:
+ - |
+ An info-level log is now correctly skipped when downloading patches,
+ bundles or series to ``STDOUT`` on Python 3.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/git-pw-1.5.1/releasenotes/notes/issue-49-865c4f1657b97fce.yaml new/git-pw-1.7.0/releasenotes/notes/issue-49-865c4f1657b97fce.yaml
--- old/git-pw-1.5.1/releasenotes/notes/issue-49-865c4f1657b97fce.yaml 1970-01-01 01:00:00.000000000 +0100
+++ new/git-pw-1.7.0/releasenotes/notes/issue-49-865c4f1657b97fce.yaml 2019-09-22 00:38:01.000000000 +0200
@@ -0,0 +1,5 @@
+---
+fixes:
+ - |
+ An issue with the unicode data when using the CSV format on Python 2.7 has
+ been resolved.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/git-pw-1.5.1/requirements.txt new/git-pw-1.7.0/requirements.txt
--- old/git-pw-1.5.1/requirements.txt 2018-12-17 12:11:28.000000000 +0100
+++ new/git-pw-1.7.0/requirements.txt 2019-09-22 00:38:01.000000000 +0200
@@ -2,3 +2,4 @@
requests>2.0,<3.0
tabulate>=0.8
arrow>=0.10
+six>=1.12
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/git-pw-1.5.1/setup.cfg new/git-pw-1.7.0/setup.cfg
--- old/git-pw-1.5.1/setup.cfg 2018-12-17 12:11:51.000000000 +0100
+++ new/git-pw-1.7.0/setup.cfg 2019-09-22 00:38:23.000000000 +0200
@@ -3,9 +3,13 @@
summary = Git-Patchwork integration tool
description-file = README.rst
license = MIT License
+license_file = LICENSE
classifiers =
Programming Language :: Python :: 2.7
Programming Language :: Python :: 3
+ Programming Language :: Python :: 3.5
+ Programming Language :: Python :: 3.6
+ Programming Language :: Python :: 3.7
Programming Language :: Python
Development Status :: 4 - Beta
Environment :: Console
@@ -15,9 +19,13 @@
Operating System :: OS Independent
keywords = git patchwork
author = Stephen Finucane
-author-email = stephen@that.guru
-home-page = https://git-pw.readthedocs.io/
-project-url = https://that.guru/
+author_email = stephen@that.guru
+url = https://github.com/getpatchwork/git-pw
+project_urls =
+ Bug Tracker = https://github.com/getpatchwork/git-pw/issues
+ Source Code = https://github.com/getpatchwork/git-pw
+ Documentation = https://git-pw.readthedocs.io
+python_requires = >=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*
[files]
packages =
@@ -27,13 +35,7 @@
console_scripts =
git-pw = git_pw.shell:cli
-[build_sphinx]
-all-files = 1
-warning-is-error = 1
-source-dir = docs
-build-dir = docs/_build
-
-[wheel]
+[bist_wheel]
universal = 1
[egg_info]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/git-pw-1.5.1/test-requirements.txt new/git-pw-1.7.0/test-requirements.txt
--- old/git-pw-1.5.1/test-requirements.txt 2018-12-17 12:11:28.000000000 +0100
+++ new/git-pw-1.7.0/test-requirements.txt 2019-09-22 00:38:01.000000000 +0200
@@ -1,2 +1,4 @@
-mock==2.0.0
-pytest>3.6,<4.0
+mock~=3.0.0
+pytest>=3.0,<6.0;python_version>='3.5'
+pytest>=3.0,<5.0;python_version=='2.7'
+pytest-cov~=2.5
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/git-pw-1.5.1/tests/test_bundle.py new/git-pw-1.7.0/tests/test_bundle.py
--- old/git-pw-1.5.1/tests/test_bundle.py 2018-12-17 12:11:28.000000000 +0100
+++ new/git-pw-1.7.0/tests/test_bundle.py 2019-09-22 00:38:01.000000000 +0200
@@ -117,7 +117,7 @@
class MockResponse(object):
@property
- def text(self):
+ def content(self):
return b'alpha-beta'
rsp = {'mbox': 'http://example.com/api/patches/123/mbox/'}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/git-pw-1.5.1/tests/test_patch.py new/git-pw-1.7.0/tests/test_patch.py
--- old/git-pw-1.5.1/tests/test_patch.py 2018-12-17 12:11:28.000000000 +0100
+++ new/git-pw-1.7.0/tests/test_patch.py 2019-09-22 00:38:01.000000000 +0200
@@ -115,7 +115,7 @@
class MockResponse(object):
@property
- def text(self):
+ def content(self):
return b'alpha-beta'
rsp = {'mbox': 'hello, world', 'diff': 'test'}
@@ -392,7 +392,8 @@
assert mock_log.warning.called
@mock.patch('git_pw.api.LOG')
- def test_list_api_v1_1(self, mock_log, mock_echo, mock_index, mock_version):
+ def test_list_api_v1_1(self, mock_log, mock_echo, mock_index,
+ mock_version):
"""Validate behavior with API v1.1."""
mock_version.return_value = (1, 1)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/git-pw-1.5.1/tests/test_series.py new/git-pw-1.7.0/tests/test_series.py
--- old/git-pw-1.5.1/tests/test_series.py 2018-12-17 12:11:28.000000000 +0100
+++ new/git-pw-1.7.0/tests/test_series.py 2019-09-22 00:38:01.000000000 +0200
@@ -68,7 +68,7 @@
class MockResponse(object):
@property
- def text(self):
+ def content(self):
return b'alpha-beta'
rsp = {'mbox': 'http://example.com/api/patches/123/mbox/'}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/git-pw-1.5.1/tests/test_utils.py new/git-pw-1.7.0/tests/test_utils.py
--- old/git-pw-1.5.1/tests/test_utils.py 2018-12-17 12:11:28.000000000 +0100
+++ new/git-pw-1.7.0/tests/test_utils.py 2019-09-22 00:38:01.000000000 +0200
@@ -1,6 +1,9 @@
+# -*- coding: utf-8 -*-
+
"""Unit tests for ``git_pw/utils.py``."""
import subprocess
+import textwrap
import os
import mock
@@ -78,3 +81,59 @@
mock_config.assert_called_once_with('core.parser')
mock_tabulate.assert_called_once_with('test', ('foo',), None)
mock_inner.assert_called_once_with('less', mock_tabulate.return_value)
+
+
+def _test_tabulate(fmt):
+ output = [(b'foo', 'bar', u'baz', '😀', None, 1)]
+ headers = ('col1', 'colb', 'colIII', 'colX', 'colY', 'colZ')
+
+ result = utils._tabulate(output, headers, fmt)
+
+ return output, headers, result
+
+
+@mock.patch.object(utils, 'tabulate')
+def test_tabulate_table(mock_tabulate):
+ output, headers, result = _test_tabulate('table')
+
+ mock_tabulate.assert_called_once_with(output, headers, tablefmt='psql')
+ assert result == mock_tabulate.return_value
+
+
+@mock.patch.object(utils, 'tabulate')
+def test_tabulate_simple(mock_tabulate):
+ output, headers, result = _test_tabulate('simple')
+
+ mock_tabulate.assert_called_once_with(output, headers, tablefmt='simple')
+ assert result == mock_tabulate.return_value
+
+
+@mock.patch.object(utils, 'tabulate')
+def test_tabulate_csv(mock_tabulate):
+ output, headers, result = _test_tabulate('csv')
+
+ mock_tabulate.assert_not_called()
+ assert result == textwrap.dedent("""\
+ "col1","colb","colIII","colX","colY","colZ"
+ "foo","bar","baz","😀","","1"
+ """)
+
+
+@mock.patch.object(utils, 'git_config', return_value='simple')
+@mock.patch.object(utils, 'tabulate')
+def test_tabulate_git_config(mock_tabulate, mock_git_config):
+ output, headers, result = _test_tabulate(None)
+
+ mock_git_config.assert_called_once_with('pw.format')
+ mock_tabulate.assert_called_once_with(output, headers, tablefmt='simple')
+ assert result == mock_tabulate.return_value
+
+
+@mock.patch.object(utils, 'git_config', return_value='')
+@mock.patch.object(utils, 'tabulate')
+def test_tabulate_default(mock_tabulate, mock_git_config):
+ output, headers, result = _test_tabulate(None)
+
+ mock_git_config.assert_called_once_with('pw.format')
+ mock_tabulate.assert_called_once_with(output, headers, tablefmt='psql')
+ assert result == mock_tabulate.return_value
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/git-pw-1.5.1/tox.ini new/git-pw-1.7.0/tox.ini
--- old/git-pw-1.5.1/tox.ini 2018-12-17 12:11:28.000000000 +0100
+++ new/git-pw-1.7.0/tox.ini 2019-09-22 00:38:01.000000000 +0200
@@ -1,49 +1,59 @@
[tox]
-minversion = 2.0
-envlist = pep8,mypy,py{27,34,35,36,py}
+minversion = 3.1
+envlist = pep8,mypy,clean,py{27,35,36,37},report
+ignore_basepython_conflict = true
[testenv]
+basepython = python3
deps =
- -r{toxinidir}/requirements.txt
- -r{toxinidir}/test-requirements.txt
+ -r{toxinidir}/test-requirements.txt
commands =
- pytest -Wall {posargs}
+ pytest -Wall --cov=git_pw --cov-report term-missing {posargs}
[testenv:pep8]
+skip_install = true
deps =
- flake8
+ flake8
commands =
- flake8 {posargs} git_pw
+ flake8 {posargs:git_pw tests}
[testenv:mypy]
deps=
- mypy
+ mypy
commands=
- mypy {posargs:--ignore-missing-imports --follow-imports=skip} git_pw
+ mypy {posargs:--ignore-missing-imports --follow-imports=skip} git_pw
-[testenv:docs]
+[testenv:report]
+skip_install = true
deps =
- -r{toxinidir}/docs/requirements.txt
+ coverage
commands =
- sphinx-build {posargs:-E -W} docs docs/_build/html
+ coverage report
+ coverage html
-[testenv:man]
+[testenv:clean]
+envdir = {toxworkdir}/report
+skip_install = true
deps =
- -r{toxinidir}/docs/requirements.txt
+ {[testenv:report]deps}
commands =
- python setup.py --command-packages=click_man.commands man_pages
+ coverage erase
-[testenv:release]
+[testenv:docs]
+deps =
+ -r{toxinidir}/docs/requirements.txt
+commands =
+ sphinx-build {posargs:-E -W} docs docs/_build/html
+
+[testenv:man]
deps =
- -r{toxinidir}/requirements.txt
- twine
+ click-man~=0.3.0
commands =
- python setup.py -q bdist_wheel sdist
- twine upload --skip-existing {toxinidir}/dist/*
+ click-man git-pw
[flake8]
-show-source = True
+show-source = true
[travis]
python =
- 3.6: py36, pep8, mypy
+ 3.7: py37, pep8, mypy