Skip to content

Conversation

effigies
Copy link
Member

@effigies effigies commented Aug 5, 2019

This is a follow-up to #764. Now that we have a tag post-upstream/2.5.0.dev, Versioneer should be able to construct valid PEP-440-style version strings from any revision, and we can drop our custom githash handling code and nisext.

I don't think this should have negative impacts, but I'm going to leave this one open for a week or two in case anybody foresees problems with this move.

@effigies effigies added this to the 3.0.0 RC1 milestone Aug 5, 2019
@effigies
Copy link
Member Author

effigies commented Aug 5, 2019

This ended up leading to a sort of chicken-egg problem with long_description. Because versions are no longer set statically, nibabel/info.py is no longer exec-able, and we can't move __version__ into __init__.py because of the cmp_pkg_version function. So I ended up just moving the canonical text of long_description into a long_description.rst file in the root, and updating refresh_readme.py accordingly.

@codecov
Copy link

codecov bot commented Aug 6, 2019

Codecov Report

Merging #786 into master will decrease coverage by <.01%.
The diff coverage is 83.78%.

Impacted file tree graph

@@            Coverage Diff            @@
##           master    #786      +/-   ##
=========================================
- Coverage   90.11%   90.1%   -0.01%     
=========================================
  Files          94      95       +1     
  Lines       11886   11879       -7     
  Branches     2119    2118       -1     
=========================================
- Hits        10711   10704       -7     
- Misses        831     834       +3     
+ Partials      344     341       -3
Impacted Files Coverage Δ
nibabel/deprecated.py 100% <100%> (ø) ⬆️
nibabel/_version.py 100% <100%> (ø)
nibabel/info.py 100% <100%> (ø) ⬆️
nibabel/__init__.py 92.85% <100%> (+0.12%) ⬆️
nibabel/pkg_info.py 81.81% <79.31%> (+9.4%) ⬆️
nibabel/openers.py 90.81% <0%> (-4.09%) ⬇️
nibabel/viewers.py 96.05% <0%> (+0.65%) ⬆️

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 7c69442...30c536f. Read the comment docs.

@effigies effigies force-pushed the maint/versioneer branch 2 times, most recently from 1fe75c5 to 393e74c Compare August 11, 2019 04:29
@effigies
Copy link
Member Author

One remaining question is whether to move from the custom version comparison code to packaging.version.Version, which is the reference implementation of PEP440. Our comparison is not PEP440-compatible, as it assumes that any post-string means a pre-release version.

It would be a new dependency, but fairly lightweight and pushes correctness concerns upstream.

Made and tagged nibabel-specific hacks for including a fallback version
for using with git-archive. This is no longer the canonical versioneer
but should behave identically except in git archives made on non-release
revisions.
@effigies
Copy link
Member Author

No major outcry, and we're testing git archive now, so I think all of the old behavior is tested and has a decent fallback option. I don't think I'll bother trying to port this to 2.5.x, unless anybody feels strongly about consistent versioning for all active branches.

@effigies effigies merged commit ba6d01a into nipy:master Aug 19, 2019
@effigies effigies deleted the maint/versioneer branch August 19, 2019 12:50
@effigies effigies modified the milestones: 3.0.0 RC1, 3.0.0 Oct 23, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant