{ "info": { "author": "Manuel Bua", "author_email": "manuel.bua[at]gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "License :: OSI Approved :: Apache Software License", "Programming Language :: Python :: 2.7", "Topic :: Software Development :: Version Control" ], "description": "|PyPi version| |PyPi downloads| |Project Stats| |Flattr this git repo|\n\nWhat is it?\n-----------\n\nA very simple, lightweight, tag-based version string manager for git,\nwritten in Python.\n\nIt generates version strings by using Python-based formatting rules\ncoupled with repository information, augmented by user-defined data.\n\nIt supports up to four different version number operands and optional\npre-release version information, in the format\n``[v]MAJOR.MINOR.PATCH[.REVISION][-PRE-RELEASE-METADATA]``, making to\nadopt versioning schemes such as `Semantic\nVersioning `__ a breeze.\n\nOptionally, it also keeps your project's version information blobs\nautomagically updated via custom templates.\n\nSample output (this repository):\n\n::\n\n Most recent tag: v0.3.0-RC1\n (NEXT defined as: 0.3.0)\n Using pre-release metadata: RC1\n Current build ID: 1d170e7f42817d0f277c52ad686b24ac69b353d4\n Current version: v0.3.0-RC1.47+1d170e7 => v0.3.0\n\nInstallation\n------------\n\nPlease read the simple *Installation instructions* in the\n`INSTALL.md `__\nfile, you can install either via ``pip`` or by cloning this repository.\n\n*NOTE the **badges** present at the top of these pages (version and\ndownloads) refers to the latest stable packages uploaded to PyPI:\ncloning this repository will checkout the version i'm currently working\non and may not reflect the same version.*\n\nHelps in version string management\n----------------------------------\n\nCoupled with `git\nhooks `__,\n``gitver`` version blob templates helps to keep your own project updated\nwith its version information, performing simple template-based\nsubstitution automatically at *post-commit* time, for example.\n\nWhy?\n----\n\nI'm working on a project that requires precise version string tracking\nand synchronization between a server and its different clients, so an\nautomatic mechanism is needed.\n\nFurthermore, i want the version string and/or other useful information\nto be **embedded** in the application code automatically, \"compiled-in\"\nso to speak, without me having to remember to do it manually each time.\n\nRepository pre-requisites\n-------------------------\n\n``gitver`` expects your tags to be **annotated** and be in this format:\n\n::\n\n [v]MAJOR.MINOR.PATCH[.REVISION][-PRE-RELEASE-METADATA]\n\nText in ``[`` square brackets ``]`` is optional, so these example tags\nare all valid for use with ``gitver``:\n\n::\n\n v0.0.1\n 0.0.1-RC0\n v0.0.1-RC2\n\nNote that, at this time, ``gitver`` will **not** skip unsupported tags\nduring its processing, so whenever it encounter such malformed tags\n(i.e. \"this-is-my-tag\") it will just error out something like this:\n\n::\n\n ERROR: Couldn't retrieve version information from tag \"my-other-tag\".\n gitver expects tags to be in the format [v]X.Y.Z[.REVISION][-PRE-RELEASE-METADATA]\n\nHowever, since ``gitver`` will only search for annotated tags, you could\nsafely use *unannotated tags* for any other need.\n\nWorkflow\n--------\n\nYour workflow shouldn't change much from what you are used to, but\nbefore using it, please review the \"Repository pre-requisites\" section\nabove and ensure your tags are not already being used for some other\npurpose.\n\n*Note that ``gitver`` will **never** tag, commit or interact in\nwrite-mode with your repository in any way, ever!*\n\nThe following is a workflow exemplification of using *gitver* to manage\nversion strings for your project, given it has already been setup:\n\n- you are working on your repository, now you are ready to promote the\n current version to the next release\n- create a release tag, ``git tag -a v0.0.2 -m 'Bump version'``\n- defines your NEXT version, the one you are going to work *towards* to\n by running ``gitver next 0.0.3``\n- run ``gitver`` and check everything is fine\n- **OPTIONAL** preview or update your project's version information\n templates by running ``gitver preview