joferkington / mpldatacursor

Interactive "data cursors" (a.k.a. annotation pop-ups) for matplotlib
MIT License
194 stars 47 forks source link

merge old tags into master #65

Closed anntzer closed 8 years ago

anntzer commented 8 years ago

Currently, git describe returns

$ git describe
v0.4.0-91-geb34639

because neither 0.5 not 0.6 are merged into master.

Arch Linux packages based on git repos usually rely on git describe to provide a meaningful version number for all commits, and versioneer does the same; it would thus be nice to have the release tags always merged back into master.

joferkington commented 8 years ago

The reason the tags aren't merged into master is that they reference release-specific commits. Each release has odds and ends (mostly a "What's New" entry in the README) that simply don't make sense to have in master. Therefore, the tags are only in the release branches. There's always some release specific documentation, and the tag references the exact commit that gets pushed into PyPi.

I don't really see a way around this. The fact that git describe on master references the 0.4 tag is due to an earlier mistake on my end. Even the 0.4 tag shouldn't be reachable from master.

Are there Arch packages based on master and not the release branches?

anntzer commented 8 years ago

Not currently, but it is pretty trivial (and I wanted to) to create one (e.g. https://aur.archlinux.org/packages/python-pandas-git/), in which case git describe is the standard approach to assign a version number (cf. https://wiki.archlinux.org/index.php/VCS_package_guidelines#Git, e.g. https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=python-pandas-git)

At least a few projects merge the last release tag into master, e.g. matplotlib:

$ git describe
v1.5.1-1905-g6093451

If you don't want to do so, what about deleting the 0.4.0 tag? I know rewriting the git history is "bad", but it would be helpful here IMO.

joferkington commented 8 years ago

Well, I'd rather not re-write history on principle, and regardless, deleting the 0.4 tag wouldn't solve the root issue. How does putting a dummy devl tag in master sound? That way git describe on master will return "devl<relative-position>".

joferkington commented 8 years ago

Added the devl tag in https://github.com/joferkington/mpldatacursor/releases/tag/devl It may not be an ideal solution, but it's certainly better than git describe on master referencing v0.4. Thanks for catching that!

anntzer commented 8 years ago

re: versioning: It would also be nice to replace the version string in setup.py by either 0.6.2-post (or similar) or a versioneer-based solution. Right now, 0.6-dev ranks as older than the latest version on PyPI (0.6.2), leading pip list --outdated to believe that a install of mpldatacursor from the latest git checkout is outdated.