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 <[email protected]>
+
+- 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 <[email protected]>
 Michael Ellerman <[email protected]>
 Stephen Finucane <[email protected]>
 Tom Tromey <[email protected]>
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: [email protected]
 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: [email protected]
 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 = [email protected]
-home-page = https://git-pw.readthedocs.io/
-project-url = https://that.guru/
+author_email = [email protected]
+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
+
+
[email protected](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
+
+
[email protected](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
+
+
[email protected](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"
+    """)
+
+
[email protected](utils, 'git_config', return_value='simple')
[email protected](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
+
+
[email protected](utils, 'git_config', return_value='')
[email protected](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


Reply via email to