Hello community,

here is the log from the commit of package python-setuptools_scm for 
openSUSE:Factory checked in at 2018-04-22 14:29:41
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-setuptools_scm (Old)
 and      /work/SRC/openSUSE:Factory/.python-setuptools_scm.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python-setuptools_scm"

Sun Apr 22 14:29:41 2018 rev:13 rq:596488 version:2.0.0

Changes:
--------
--- 
/work/SRC/openSUSE:Factory/python-setuptools_scm/python-setuptools_scm.changes  
    2018-03-29 11:48:15.834265812 +0200
+++ 
/work/SRC/openSUSE:Factory/.python-setuptools_scm.new/python-setuptools_scm.changes
 2018-04-22 14:29:44.054476229 +0200
@@ -1,0 +2,13 @@
+Thu Apr 12 20:42:08 UTC 2018 - a...@gmx.de
+
+- update to version 2.0.0:
+  * fix #237 - correct imports in code examples
+  * improve mercurial commit detection (thanks Aaron)
+  * breaking change: remove support for setuptools before parsed
+    versions
+  * reintroduce manifest as the travis deploy cant use the file finder
+  * reconfigure flake8 for future compatibility with black
+  * introduce support for branch name in version metadata and support
+    a opt-in simplified semver version scheme
+
+-------------------------------------------------------------------

Old:
----
  setuptools_scm-1.17.0.tar.gz

New:
----
  setuptools_scm-2.0.0.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ python-setuptools_scm.spec ++++++
--- /var/tmp/diff_new_pack.HeMBwv/_old  2018-04-22 14:29:44.630455382 +0200
+++ /var/tmp/diff_new_pack.HeMBwv/_new  2018-04-22 14:29:44.634455237 +0200
@@ -16,10 +16,10 @@
 #
 
 
-%bcond_with test
 %{?!python_module:%define python_module() python-%{**} python3-%{**}}
+%bcond_with test
 Name:           python-setuptools_scm
-Version:        1.17.0
+Version:        2.0.0
 Release:        0
 Summary:        Manage your versions by scm tags
 License:        MIT
@@ -29,20 +29,18 @@
 BuildRequires:  %{python_module devel}
 BuildRequires:  %{python_module setuptools}
 BuildRequires:  python-rpm-macros
+Requires:       python-setuptools
+BuildArch:      noarch
 %if %{with test}
 # Testing requirements
 BuildRequires:  %{python_module pytest}
 BuildRequires:  git
 BuildRequires:  mercurial
 %endif
-Requires:       python-setuptools
 %if 0%{?suse_version} >= 1000 || 0%{?fedora_version} >= 24
 Recommends:     git
 Recommends:     mecurial
 %endif
-BuildRoot:      %{_tmppath}/%{name}-%{version}-build
-BuildArch:      noarch
-
 %python_subpackages
 
 %description
@@ -63,9 +61,9 @@
 %python_expand PYTHONPATH=%{buildroot}%{$python_sitelib} 
py.test-%{$python_bin_suffix}
 %endif
 
-%files %python_files
-%defattr(-,root,root,-)
-%doc README.rst LICENSE CHANGELOG.rst
+%files %{python_files}
+%license LICENSE
+%doc README.rst CHANGELOG.rst
 %{python_sitelib}/*
 
 %changelog

++++++ setuptools_scm-1.17.0.tar.gz -> setuptools_scm-2.0.0.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/setuptools_scm-1.17.0/.gitignore 
new/setuptools_scm-2.0.0/.gitignore
--- old/setuptools_scm-1.17.0/.gitignore        2018-03-20 11:15:19.000000000 
+0100
+++ new/setuptools_scm-2.0.0/.gitignore 2018-04-10 10:27:36.000000000 +0200
@@ -37,6 +37,7 @@
 .coverage
 .coverage.*
 .cache
+.pytest_cache
 nosetests.xml
 coverage.xml
 *,cover
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/setuptools_scm-1.17.0/CHANGELOG.rst 
new/setuptools_scm-2.0.0/CHANGELOG.rst
--- old/setuptools_scm-1.17.0/CHANGELOG.rst     2018-03-20 11:15:19.000000000 
+0100
+++ new/setuptools_scm-2.0.0/CHANGELOG.rst      2018-04-10 10:27:36.000000000 
+0200
@@ -1,3 +1,13 @@
+v2.0.0
+========
+
+* fix #237 - correct imports in code examples
+* improve mercurial commit detection (thanks Aaron)
+* breaking change: remove support for setuptools before parsed versions
+* reintroduce manifest as the travis deploy cant use the file finder
+* reconfigure flake8 for future compatibility with black
+* introduce support for branch name in version metadata and support a opt-in 
simplified semver version scheme
+
 v1.17.0
 ========
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/setuptools_scm-1.17.0/MANIFEST.in 
new/setuptools_scm-2.0.0/MANIFEST.in
--- old/setuptools_scm-1.17.0/MANIFEST.in       1970-01-01 01:00:00.000000000 
+0100
+++ new/setuptools_scm-2.0.0/MANIFEST.in        2018-04-10 10:27:36.000000000 
+0200
@@ -0,0 +1,8 @@
+exclude *.nix
+exclude appveyor.yml
+exclude .travis.yaml
+include *.py
+include testing/*.py
+include tox.ini
+include *.rst
+include LICENSE
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/setuptools_scm-1.17.0/PKG-INFO 
new/setuptools_scm-2.0.0/PKG-INFO
--- old/setuptools_scm-1.17.0/PKG-INFO  2018-03-20 11:15:44.000000000 +0100
+++ new/setuptools_scm-2.0.0/PKG-INFO   2018-04-10 10:28:15.000000000 +0200
@@ -1,6 +1,6 @@
 Metadata-Version: 1.2
 Name: setuptools_scm
-Version: 1.17.0
+Version: 2.0.0
 Summary: the blessed package to manage your versions by scm tags
 Home-page: https://github.com/pypa/setuptools_scm/
 Author: Ronny Pfannschmidt
@@ -293,9 +293,9 @@
         .. code:: python
         
             def myversion():
-                from setuptools_scm.version import dirty_tag
+                from setuptools_scm.version import get_local_dirty_tag
                 def clean_scheme(version):
-                    return dirty_tag(version) if version.dirty else '+clean'
+                    return get_local_dirty_tag(version) if version.dirty else 
'+clean'
         
                 return {'local_scheme': clean_scheme}
         
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/setuptools_scm-1.17.0/README.rst 
new/setuptools_scm-2.0.0/README.rst
--- old/setuptools_scm-1.17.0/README.rst        2018-03-20 11:15:19.000000000 
+0100
+++ new/setuptools_scm-2.0.0/README.rst 2018-04-10 10:27:36.000000000 +0200
@@ -285,9 +285,9 @@
 .. code:: python
 
     def myversion():
-        from setuptools_scm.version import dirty_tag
+        from setuptools_scm.version import get_local_dirty_tag
         def clean_scheme(version):
-            return dirty_tag(version) if version.dirty else '+clean'
+            return get_local_dirty_tag(version) if version.dirty else '+clean'
 
         return {'local_scheme': clean_scheme}
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/setuptools_scm-1.17.0/appveyor.yml 
new/setuptools_scm-2.0.0/appveyor.yml
--- old/setuptools_scm-1.17.0/appveyor.yml      2018-03-20 11:15:19.000000000 
+0100
+++ new/setuptools_scm-2.0.0/appveyor.yml       1970-01-01 01:00:00.000000000 
+0100
@@ -1,45 +0,0 @@
-environment:
-  matrix:
-    - PYTHON: "C:\\Python27"
-      TOX_ENV: "py-test"
-
-    - PYTHON: "C:\\Python27-x64"
-      TOX_ENV: "py-test"
-
-    - PYTHON: "C:\\Python34"
-      TOX_ENV: "py-test"
-
-    - PYTHON: "C:\\Python34-x64"
-      TOX_ENV: "py-test"
-
-init:
-  - "SET PATH=%PYTHON%;%PYTHON%\\Scripts;%PATH%"
-
-  - ECHO "Updating Environment"
-  - python -m pip install -U setuptools
-  - python -m pip install -U pip
-  - python -m pip install -U wheel
-  - python -m pip install -U tox
-
-
-install:
-  # Check that we have the expected version and architecture for Python
-  - python -c "import sys, os;sys.stdout.write(str(sys.version) + os.linesep)"
-  - "python -c \"import struct; print(struct.calcsize('P') * 8)\""
-  - python -m pip list
-
-build: false  # Not a C# project, build stuff at the test step instead.
-
-test_script:
-  # Build the compiled extension and run the project tests
-  - python -m tox -e %TOX_ENV%"
-
-after_test:
-  # If tests are successful, create a whl package for the project.
-  - "%CMD_IN_ENV% python setup.py bdist_wheel"
-  - ps: "ls dist"
-
-artifacts:
-  # Archive the generated wheel package in the ci.appveyor.com build report.
-  - path: dist\*
-
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/setuptools_scm-1.17.0/default.nix 
new/setuptools_scm-2.0.0/default.nix
--- old/setuptools_scm-1.17.0/default.nix       2018-03-20 11:15:19.000000000 
+0100
+++ new/setuptools_scm-2.0.0/default.nix        1970-01-01 01:00:00.000000000 
+0100
@@ -1,15 +0,0 @@
-{pkgs ? import <nixpkgs> {}}:
-with pkgs.pythonPackages;
-buildPythonPackage {
-  name = "setuptools_scm";
-  src = ./.;
-  version = "git";
-  buildInputs = [
-    setuptools
-    pip
-    pytest
-    pkgs.git
-    pkgs.mercurial
-  ];
-}
-
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/setuptools_scm-1.17.0/setup.py 
new/setuptools_scm-2.0.0/setup.py
--- old/setuptools_scm-1.17.0/setup.py  2018-03-20 11:15:19.000000000 +0100
+++ new/setuptools_scm-2.0.0/setup.py   2018-04-10 10:27:36.000000000 +0200
@@ -87,6 +87,7 @@
         [setuptools_scm.version_scheme]
         guess-next-dev = setuptools_scm.version:guess_next_dev_version
         post-release = setuptools_scm.version:postrelease_version
+        python-simplified-semver = 
setuptools_scm.version:simplified_semver_version
 
         [setuptools_scm.local_scheme]
         node-and-date = setuptools_scm.version:get_local_node_and_date
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/setuptools_scm-1.17.0/setuptools_scm/__main__.py 
new/setuptools_scm-2.0.0/setuptools_scm/__main__.py
--- old/setuptools_scm-1.17.0/setuptools_scm/__main__.py        2018-03-20 
11:15:19.000000000 +0100
+++ new/setuptools_scm-2.0.0/setuptools_scm/__main__.py 2018-04-10 
10:27:36.000000000 +0200
@@ -4,9 +4,14 @@
 from setuptools_scm.integration import find_files
 from setuptools_scm.version import _warn_if_setuptools_outdated
 
-if __name__ == '__main__':
+
+def main():
     _warn_if_setuptools_outdated()
     print('Guessed Version', get_version())
     if 'ls' in sys.argv:
         for fname in find_files('.'):
             print(fname)
+
+
+if __name__ == '__main__':
+    main()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/setuptools_scm-1.17.0/setuptools_scm/git.py 
new/setuptools_scm-2.0.0/setuptools_scm/git.py
--- old/setuptools_scm-1.17.0/setuptools_scm/git.py     2018-03-20 
11:15:19.000000000 +0100
+++ new/setuptools_scm-2.0.0/setuptools_scm/git.py      2018-04-10 
10:27:36.000000000 +0200
@@ -39,6 +39,13 @@
         out, _, _ = self.do_ex("git status --porcelain --untracked-files=no")
         return bool(out)
 
+    def get_branch(self):
+        branch, err, ret = self.do_ex("git rev-parse --abbrev-ref HEAD")
+        if ret:
+            trace("branch err", branch, err, ret)
+            return
+        return branch
+
     def is_shallow(self):
         return isfile(join(self.path, '.git/shallow'))
 
@@ -89,7 +96,7 @@
     if pre_parse:
         pre_parse(wd)
 
-    out, err, ret = do_ex(describe_command, root)
+    out, err, ret = wd.do_ex(describe_command)
     if ret:
         # If 'git describe' failed, try to get the information otherwise.
         rev_node = wd.node()
@@ -103,6 +110,7 @@
             distance=wd.count_all_nodes(),
             node='g' + rev_node,
             dirty=dirty,
+            branch=wd.get_branch(),
         )
 
     # 'out' looks e.g. like 'v1.5.0-0-g4060507' or
@@ -115,10 +123,11 @@
 
     tag, number, node = out.rsplit('-', 2)
     number = int(number)
+    branch = wd.get_branch()
     if number:
-        return meta(tag, distance=number, node=node, dirty=dirty)
+        return meta(tag, distance=number, node=node, dirty=dirty, 
branch=branch)
     else:
-        return meta(tag, node=node, dirty=dirty)
+        return meta(tag, node=node, dirty=dirty, branch=branch)
 
 
 def list_files_in_archive(path):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/setuptools_scm-1.17.0/setuptools_scm/hg.py 
new/setuptools_scm-2.0.0/setuptools_scm/hg.py
--- old/setuptools_scm-1.17.0/setuptools_scm/hg.py      2018-03-20 
11:15:19.000000000 +0100
+++ new/setuptools_scm-2.0.0/setuptools_scm/hg.py       2018-04-10 
10:27:36.000000000 +0200
@@ -5,7 +5,7 @@
 FILES_COMMAND = 'hg locate -I .'
 
 
-def _hg_tagdist_normalize_tagcommit(root, tag, dist, node):
+def _hg_tagdist_normalize_tagcommit(root, tag, dist, node, branch):
     dirty = node.endswith('+')
     node = 'h' + node.strip('+')
 
@@ -17,13 +17,14 @@
               " and not tag({tag!r}))"  # ignore the tagged commit itself
               ).format(tag=tag)
     if tag != '0.0':
-        commits = do(['hg', 'log', '-r', revset, '--template', '{node|short}'],
+        commits = do(['hg', 'log', '-r', revset,
+                      '--template', '{node|short}'],
                      root)
     else:
         commits = True
     trace('normalize', locals())
     if commits or dirty:
-        return meta(tag, distance=dist, node=node, dirty=dirty)
+        return meta(tag, distance=dist, node=node, dirty=dirty, branch=branch)
     else:
         return meta(tag)
 
@@ -31,37 +32,50 @@
 def parse(root):
     if not has_command('hg'):
         return
-    identity_data = do('hg id -i -t', root).split()
+    identity_data = do('hg id -i -b -t', root).split()
     if not identity_data:
         return
     node = identity_data.pop(0)
+    branch = identity_data.pop(0)
     tags = tags_to_versions(identity_data)
     # filter tip in degraded mode on old setuptools
     tags = [x for x in tags if x != 'tip']
     dirty = node[-1] == '+'
     if tags:
-        return meta(tags[0], dirty=dirty)
+        return meta(tags[0], dirty=dirty, branch=branch)
 
-    if node.strip('+') == '0'*12:
+    if node.strip('+') == '0' * 12:
         trace('initial node', root)
-        return meta('0.0', dirty=dirty)
+        return meta('0.0', dirty=dirty, branch=branch)
 
-    # the newline is needed for merge stae, see issue 72
-    cmd = 'hg parents --template "{latesttag} {latesttagdistance}\n"'
-    out = do(cmd, root)
     try:
-        # in merge state we assume parent 1 is fine
-        tags, dist = out.splitlines()[0].split()
-        # pick latest tag from tag list
-        tag = tags.split(':')[-1]
+        tag = get_latest_normalizable_tag(root)
+        dist = get_graph_distance(root, tag)
         if tag == 'null':
             tag = '0.0'
             dist = int(dist) + 1
-        return _hg_tagdist_normalize_tagcommit(root, tag, dist, node)
+        return _hg_tagdist_normalize_tagcommit(root, tag, dist, node, branch)
     except ValueError:
         pass  # unpacking failed, old hg
 
 
+def get_latest_normalizable_tag(root):
+    # Gets all tags containing a '.' (see #229) from oldest to newest
+    cmd = ['hg', 'log',
+           '-r', "ancestors(.) and tag('re:\.')", '--template', "{tags}\n"]
+    outlines = do(cmd, root).split()
+    if not outlines:
+        return 'null'
+    tag = outlines[-1].split()[-1]
+    return tag
+
+
+def get_graph_distance(root, rev1, rev2='.'):
+    cmd = ['hg', 'log', '-q', '-r', '%s::%s' % (rev1, rev2)]
+    out = do(cmd, root)
+    return len(out.strip().splitlines()) - 1
+
+
 def archival_to_version(data):
     trace('data', data)
     node = data.get('node', '')[:12]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/setuptools_scm-1.17.0/setuptools_scm/version.py 
new/setuptools_scm-2.0.0/setuptools_scm/version.py
--- old/setuptools_scm-1.17.0/setuptools_scm/version.py 2018-03-20 
11:15:19.000000000 +0100
+++ new/setuptools_scm-2.0.0/setuptools_scm/version.py  2018-04-10 
10:27:36.000000000 +0200
@@ -2,13 +2,23 @@
 import datetime
 import warnings
 import re
+from itertools import chain, repeat, islice
+
 from .utils import trace
 
 from pkg_resources import iter_entry_points
 
-from distutils import log
 from pkg_resources import parse_version
 
+SEMVER_MINOR = 2
+SEMVER_PATCH = 3
+SEMVER_LEN = 3
+
+
+def _pad(iterable, size, padding=None):
+    padded = chain(iterable, repeat(padding))
+    return list(islice(padded, size))
+
 
 def _get_version_class():
     modern_version = parse_version("1.0")
@@ -21,10 +31,17 @@
 VERSION_CLASS = _get_version_class()
 
 
+class SetuptoolsOutdatedWarning(Warning):
+    pass
+
+
+# append so integrators can disable the warning
+warnings.simplefilter('error', SetuptoolsOutdatedWarning, append=1)
+
+
 def _warn_if_setuptools_outdated():
     if VERSION_CLASS is None:
-        log.warn("your setuptools is too old (<12)")
-        log.warn("setuptools_scm functionality is degraded")
+        warnings.warn("your setuptools is too old (<12)", 
SetuptoolsOutdatedWarning)
 
 
 def callable_or_entrypoint(group, callable_or_name):
@@ -64,6 +81,7 @@
     def __init__(self, tag_version,
                  distance=None, node=None, dirty=False,
                  preformatted=False,
+                 branch=None,
                  **kw):
         if kw:
             trace("unknown args", kw)
@@ -76,6 +94,7 @@
         self.extra = kw
         self.dirty = dirty
         self.preformatted = preformatted
+        self.branch = branch
 
     @property
     def exact(self):
@@ -84,16 +103,22 @@
     def __repr__(self):
         return self.format_with(
             '<ScmVersion {tag} d={distance}'
-            ' n={node} d={dirty} x={extra}>')
+            ' n={node} d={dirty} b={branch} x={extra}>')
 
-    def format_with(self, fmt):
+    def format_with(self, fmt, **kw):
         return fmt.format(
             time=self.time,
             tag=self.tag, distance=self.distance,
-            node=self.node, dirty=self.dirty, extra=self.extra)
+            node=self.node, dirty=self.dirty, extra=self.extra,
+            branch=self.branch, **kw)
+
+    def format_choice(self, clean_format, dirty_format, **kw):
+        return self.format_with(
+            dirty_format if self.dirty else clean_format, **kw)
 
-    def format_choice(self, clean_format, dirty_format):
-        return self.format_with(dirty_format if self.dirty else clean_format)
+    def format_next_version(self, guess_next, fmt="{guessed}.dev{distance}", 
**kw):
+        guessed = guess_next(self.tag, **kw)
+        return self.format_with(fmt, guessed=guessed)
 
 
 def _parse_tag(tag, preformatted):
@@ -111,11 +136,9 @@
     return ScmVersion(tag, distance, node, dirty, preformatted, **kw)
 
 
-def guess_next_version(tag_version, distance):
+def guess_next_version(tag_version):
     version = _strip_local(str(tag_version))
-    bumped = _bump_dev(version) or _bump_regex(version)
-    suffix = '.dev%s' % distance
-    return bumped + suffix
+    return _bump_dev(version) or _bump_regex(version)
 
 
 def _strip_local(version_string):
@@ -133,7 +156,7 @@
 
 
 def _bump_regex(version):
-    prefix, tail = re.match('(.*?)(\d+)$', version).groups()
+    prefix, tail = re.match(r'(.*?)(\d+)$', version).groups()
     return '%s%d' % (prefix, int(tail) + 1)
 
 
@@ -141,28 +164,49 @@
     if version.exact:
         return version.format_with("{tag}")
     else:
-        return guess_next_version(version.tag, version.distance)
+        return version.format_next_version(guess_next_version)
 
 
-def get_local_node_and_date(version):
-    if version.exact or version.node is None:
-        return version.format_choice("", "+d{time:%Y%m%d}")
+def guess_next_simple_semver(version, retain, increment=True):
+    parts = map(int, str(version).split('.'))
+    parts = _pad(parts, retain, 0)
+    if increment:
+        parts[-1] += 1
+    parts = _pad(parts, SEMVER_LEN, 0)
+    return '.'.join(map(str, parts))
+
+
+def simplified_semver_version(version):
+    if version.exact:
+        return guess_next_simple_semver(
+            version.tag, retain=SEMVER_LEN, increment=False)
     else:
-        return version.format_choice("+{node}", "+{node}.d{time:%Y%m%d}")
+        if version.branch is not None and 'feature' in version.branch:
+            return version.format_next_version(
+                guess_next_simple_semver, retain=SEMVER_MINOR)
+        else:
+            return version.format_next_version(
+                guess_next_simple_semver, retain=SEMVER_PATCH)
 
 
-def get_local_node_and_timestamp(version, fmt='%Y%m%d%H%M%S'):
+def _format_local_with_time(version, time_format):
+
     if version.exact or version.node is None:
-        return version.format_choice("",
-                                     "+d{time:"
-                                     + "{fmt}".format(fmt=fmt)
-                                     + "}")
+        return version.format_choice(
+            "", "+d{time:{time_format}}",
+            time_format=time_format)
     else:
-        return version.format_choice("+{node}",
-                                     "+{node}"
-                                     + ".d{time:"
-                                     + "{fmt}".format(fmt=fmt)
-                                     + "}")
+        return version.format_choice(
+            "+{node}", "+{node}.d{time:{time_format}}",
+            time_format=time_format)
+
+
+def get_local_node_and_date(version):
+    return _format_local_with_time(version, time_format="%Y%m%d")
+
+
+def get_local_node_and_timestamp(version, fmt='%Y%m%d%H%M%S'):
+    return _format_local_with_time(version, time_format=fmt)
 
 
 def get_local_dirty_tag(version):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/setuptools_scm-1.17.0/setuptools_scm.egg-info/PKG-INFO 
new/setuptools_scm-2.0.0/setuptools_scm.egg-info/PKG-INFO
--- old/setuptools_scm-1.17.0/setuptools_scm.egg-info/PKG-INFO  2018-03-20 
11:15:44.000000000 +0100
+++ new/setuptools_scm-2.0.0/setuptools_scm.egg-info/PKG-INFO   2018-04-10 
10:28:15.000000000 +0200
@@ -1,6 +1,6 @@
 Metadata-Version: 1.2
 Name: setuptools-scm
-Version: 1.17.0
+Version: 2.0.0
 Summary: the blessed package to manage your versions by scm tags
 Home-page: https://github.com/pypa/setuptools_scm/
 Author: Ronny Pfannschmidt
@@ -293,9 +293,9 @@
         .. code:: python
         
             def myversion():
-                from setuptools_scm.version import dirty_tag
+                from setuptools_scm.version import get_local_dirty_tag
                 def clean_scheme(version):
-                    return dirty_tag(version) if version.dirty else '+clean'
+                    return get_local_dirty_tag(version) if version.dirty else 
'+clean'
         
                 return {'local_scheme': clean_scheme}
         
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/setuptools_scm-1.17.0/setuptools_scm.egg-info/SOURCES.txt 
new/setuptools_scm-2.0.0/setuptools_scm.egg-info/SOURCES.txt
--- old/setuptools_scm-1.17.0/setuptools_scm.egg-info/SOURCES.txt       
2018-03-20 11:15:44.000000000 +0100
+++ new/setuptools_scm-2.0.0/setuptools_scm.egg-info/SOURCES.txt        
2018-04-10 10:28:15.000000000 +0200
@@ -2,9 +2,8 @@
 .travis.yml
 CHANGELOG.rst
 LICENSE
+MANIFEST.in
 README.rst
-appveyor.yml
-default.nix
 setup.cfg
 setup.py
 tox.ini
@@ -31,4 +30,6 @@
 testing/test_git.py
 testing/test_main.py
 testing/test_mercurial.py
-testing/test_regressions.py
\ No newline at end of file
+testing/test_regressions.py
+testing/test_setuptools_support.py
+testing/test_version.py
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/setuptools_scm-1.17.0/setuptools_scm.egg-info/entry_points.txt 
new/setuptools_scm-2.0.0/setuptools_scm.egg-info/entry_points.txt
--- old/setuptools_scm-1.17.0/setuptools_scm.egg-info/entry_points.txt  
2018-03-20 11:15:44.000000000 +0100
+++ new/setuptools_scm-2.0.0/setuptools_scm.egg-info/entry_points.txt   
2018-04-10 10:28:15.000000000 +0200
@@ -21,6 +21,7 @@
         [setuptools_scm.version_scheme]
         guess-next-dev = setuptools_scm.version:guess_next_dev_version
         post-release = setuptools_scm.version:postrelease_version
+        python-simplified-semver = 
setuptools_scm.version:simplified_semver_version
 
         [setuptools_scm.local_scheme]
         node-and-date = setuptools_scm.version:get_local_node_and_date
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/setuptools_scm-1.17.0/testing/test_functions.py 
new/setuptools_scm-2.0.0/testing/test_functions.py
--- old/setuptools_scm-1.17.0/testing/test_functions.py 2018-03-20 
11:15:19.000000000 +0100
+++ new/setuptools_scm-2.0.0/testing/test_functions.py  2018-04-10 
10:27:36.000000000 +0200
@@ -14,14 +14,14 @@
 
 
 @pytest.mark.parametrize('tag, expected', [
-    ('1.1', '1.2.dev0'),
-    ('1.2.dev', '1.2.dev0'),
-    ('1.1a2', '1.1a3.dev0'),
-    ('23.24.post2+deadbeef', '23.24.post3.dev0'),
-    ])
+    ('1.1', '1.2'),
+    ('1.2.dev', '1.2'),
+    ('1.1a2', '1.1a3'),
+    ('23.24.post2+deadbeef', '23.24.post3'),
+])
 def test_next_tag(tag, expected):
     version = pkg_resources.parse_version(tag)
-    assert guess_next_version(version, 0) == expected
+    assert guess_next_version(version) == expected
 
 
 VERSIONS = {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/setuptools_scm-1.17.0/testing/test_git.py 
new/setuptools_scm-2.0.0/testing/test_git.py
--- old/setuptools_scm-1.17.0/testing/test_git.py       2018-03-20 
11:15:19.000000000 +0100
+++ new/setuptools_scm-2.0.0/testing/test_git.py        2018-04-10 
10:27:36.000000000 +0200
@@ -99,7 +99,7 @@
 def test_find_files_stop_at_root_git(wd):
     wd.commit_testfile()
     wd.cwd.ensure('project/setup.cfg')
-    assert integration.find_files(str(wd.cwd/'project')) == []
+    assert integration.find_files(str(wd.cwd / 'project')) == []
 
 
 @pytest.mark.issue(128)
@@ -133,3 +133,13 @@
     wd('git add foobar')
     wd.commit()
     assert integration.find_files(str(wd.cwd)) == ['foobar/test1.txt']
+
+
+def test_git_feature_branch_increments_major(wd):
+    wd.commit_testfile()
+    wd("git tag 1.0.0")
+    wd.commit_testfile()
+    assert 
wd.get_version(version_scheme="python-simplified-semver").startswith("1.0.1")
+    wd("git checkout -b feature/fun")
+    wd.commit_testfile()
+    assert 
wd.get_version(version_scheme="python-simplified-semver").startswith("1.1.0")
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/setuptools_scm-1.17.0/testing/test_mercurial.py 
new/setuptools_scm-2.0.0/testing/test_mercurial.py
--- old/setuptools_scm-1.17.0/testing/test_mercurial.py 2018-03-20 
11:15:19.000000000 +0100
+++ new/setuptools_scm-2.0.0/testing/test_mercurial.py  2018-04-10 
10:27:36.000000000 +0200
@@ -18,10 +18,10 @@
     '1.1.dev3+h000000000000': {
         'latesttag': '1.0',
         'latesttagdistance': '3',
-        'node': '0'*20,
+        'node': '0' * 20,
     },
     '0.0': {
-        'node': '0'*20,
+        'node': '0' * 20,
     },
     '1.2.2': {'tag': 'release-1.2.2'},
     '1.2.2.dev0': {'tag': 'release-1.2.2.dev'},
@@ -41,7 +41,7 @@
 def test_find_files_stop_at_root_hg(wd):
     wd.commit_testfile()
     wd.cwd.ensure('project/setup.cfg')
-    assert integration.find_files(str(wd.cwd/'project')) == []
+    assert integration.find_files(str(wd.cwd / 'project')) == []
 
 
 # XXX: better tests for tag prefixes
@@ -114,7 +114,7 @@
 def version_1_0(wd):
     wd('hg branch default')
     wd.commit_testfile()
-    wd('hg tag 1.0 -u test -d "0 0"')
+    wd('hg tag 1.0.0 -u test -d "0 0"')
     return wd
 
 
@@ -131,14 +131,14 @@
 
 @pytest.mark.usefixtures("pre_merge_commit_after_tag")
 def test_version_bump_before_merge_commit(wd):
-    assert wd.version.startswith('1.1.dev1+')
+    assert wd.version.startswith('1.0.1.dev1+')
 
 
 @pytest.mark.issue(219)
 @pytest.mark.usefixtures("pre_merge_commit_after_tag")
 def test_version_bump_from_merge_commit(wd):
     wd.commit()
-    assert wd.version.startswith('1.1.dev3+')  # issue 219
+    assert wd.version.startswith('1.0.1.dev3+')  # issue 219
 
 
 @pytest.mark.usefixtures("version_1_0")
@@ -149,6 +149,25 @@
         tagfile.write('0  0\n')
     wd.write('branchfile', 'branchtext')
     wd(wd.add_command)
-    assert wd.version.startswith('1.1.dev1+')  # bump from dirty version
+    assert wd.version.startswith('1.0.1.dev1+')  # bump from dirty version
     wd.commit()  # commits both the testfile _and_ .hgtags
-    assert wd.version.startswith('1.1.dev2+')
+    assert wd.version.startswith('1.0.1.dev2+')
+
+
+@pytest.mark.issue(229)
+@pytest.mark.usefixtures("version_1_0")
+def test_latest_tag_detection(wd):
+    """ Tests that tags not containing a "." are ignored, the same as for git.
+    Note that will be superceded by the fix for pypa/setuptools_scm/issues/235
+    """
+    wd('hg tag some-random-tag')
+    assert wd.version == '1.0.0'
+
+
+@pytest.mark.usefixtures("version_1_0")
+def test_feature_branch_increments_major(wd):
+
+    wd.commit_testfile()
+    assert 
wd.get_version(version_scheme="python-simplified-semver").startswith("1.0.1")
+    wd("hg branch feature/fun")
+    assert 
wd.get_version(version_scheme="python-simplified-semver").startswith("1.1.0")
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/setuptools_scm-1.17.0/testing/test_setuptools_support.py 
new/setuptools_scm-2.0.0/testing/test_setuptools_support.py
--- old/setuptools_scm-1.17.0/testing/test_setuptools_support.py        
1970-01-01 01:00:00.000000000 +0100
+++ new/setuptools_scm-2.0.0/testing/test_setuptools_support.py 2018-04-10 
10:27:36.000000000 +0200
@@ -0,0 +1,60 @@
+"""
+integration tests that check setuptools version support
+"""
+import sys
+import os
+import subprocess
+import pytest
+pytestmark = pytest.mark.skipif(
+    "sys.version_info >= (3,6,0)",
+    reason="integration with old versions no longer needed on py3.6+")
+
+
+@pytest.fixture(scope='session')
+def get_setuptools_packagedir(request):
+    targets = request.config.cache.makedir('setuptools_installs')
+
+    def makeinstall(version):
+        target = targets.ensure(version, dir=1)
+        subprocess.check_call([
+            sys.executable, '-m', 'pip',
+            'install', '--no-binary', 'setuptools', 'setuptools==' + version,
+            '-t', str(target),
+        ])
+        return target
+    return makeinstall
+
+
+SCRIPT = """
+import setuptools
+print(setuptools.__version__)
+import setuptools_scm.version
+from setuptools_scm.__main__ import main
+main()
+"""
+
+
+def check(packagedir, **env):
+    subprocess.check_call(
+        [sys.executable, '-c', SCRIPT],
+        env=dict(os.environ, PYTHONPATH=".:" + str(packagedir), **env))
+
+
+def test_old_setuptools_fails(get_setuptools_packagedir):
+    packagedir = get_setuptools_packagedir("0.9.8")
+    with pytest.raises(subprocess.CalledProcessError):
+        check(packagedir)
+
+
+def test_old_setuptools_allows_with_warnings(get_setuptools_packagedir):
+
+    packagedir = get_setuptools_packagedir("0.9.8")
+    # filter using warning since in the early python startup
+    check(
+        packagedir,
+        PYTHONWARNINGS="once::Warning")
+
+
+def test_distlib_setuptools_works(get_setuptools_packagedir):
+    packagedir = get_setuptools_packagedir("12.0.1")
+    check(packagedir)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/setuptools_scm-1.17.0/testing/test_version.py 
new/setuptools_scm-2.0.0/testing/test_version.py
--- old/setuptools_scm-1.17.0/testing/test_version.py   1970-01-01 
01:00:00.000000000 +0100
+++ new/setuptools_scm-2.0.0/testing/test_version.py    2018-04-10 
10:27:36.000000000 +0200
@@ -0,0 +1,23 @@
+import pytest
+from setuptools_scm.version import meta, simplified_semver_version
+
+
+@pytest.mark.parametrize('version, expected_next', [
+    pytest.param(meta("1.0.0"), "1.0.0", id='exact'),
+
+    pytest.param(meta("1.0"), "1.0.0", id='short_tag'),
+    pytest.param(meta("1.0.0", distance=2, branch='default'), "1.0.1.dev2",
+                 id='normal_branch'),
+
+    pytest.param(meta("1.0", distance=2, branch='default'), "1.0.1.dev2",
+                 id='normal_branch_short_tag'),
+    pytest.param(meta("1.0.0", distance=2, branch='feature'), "1.1.0.dev2",
+                 id='feature_branch'),
+    pytest.param(meta("1.0", distance=2, branch='feature'), "1.1.0.dev2",
+                 id='feature_branch_short_tag'),
+    pytest.param(meta("1.0.0", distance=2, branch='features/test'), 
"1.1.0.dev2",
+                 id='feature_in_branch'),
+])
+def test_next_semver(version, expected_next):
+    computed = simplified_semver_version(version)
+    assert computed == expected_next
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/setuptools_scm-1.17.0/tox.ini 
new/setuptools_scm-2.0.0/tox.ini
--- old/setuptools_scm-1.17.0/tox.ini   2018-03-20 11:15:19.000000000 +0100
+++ new/setuptools_scm-2.0.0/tox.ini    2018-04-10 10:27:36.000000000 +0200
@@ -3,7 +3,15 @@
 
 [flake8]
 max-complexity = 10
-
+max-line-length = 88
+exclude=
+       .git,
+       .tox,
+       .env,
+       .venv,
+       .pytest_cache,
+       __pycache__,
+       ./setuptools_scm/win_py31_compat.py
 
 [testenv]
 usedevelop=True
@@ -22,11 +30,14 @@
 
 [testenv:check_readme]
 skip_install=True
+setenv = SETUPTOOLS_SCM_PRETEND_VERSION=2.0
 deps=
     readme
+    check-manifest
 commands=
     python setup.py check -r -s
     rst2html.py README.rst {envlogdir}/README.html --strict []
+    check-manifest
 
 [testenv:upload]
 deps=


Reply via email to