Skip to content

Commit

Permalink
Merge branch 'release/0.3.0'
Browse files Browse the repository at this point in the history
  • Loading branch information
thecjharries committed Mar 11, 2018
2 parents 7608555 + 917a6f3 commit ce81f5d
Show file tree
Hide file tree
Showing 6 changed files with 183 additions and 21 deletions.
7 changes: 7 additions & 0 deletions .bumpversion.cfg
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
[bumpversion]
current_version = 0.3.0
commit = True
tag = False

[bumpversion:file:setup.cfg]

File renamed without changes.
160 changes: 160 additions & 0 deletions README.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,160 @@
``gitflow-easyrelease``
~~~~~~~~~~~~~~~~~~~~~~~

.. image:: https://badge.fury.io/py/gitflow-easyrelease.svg
:target: https://badge.fury.io/py/gitflow-easyrelease

.. image:: https://travis-ci.org/wizardsoftheweb/gitflow-easyrelease.svg?branch=master
:target: https://travis-ci.org/wizardsoftheweb/gitflow-easyrelease

.. image:: https://coveralls.io/repos/github/wizardsoftheweb/gitflow-easyrelease/badge.svg?branch=master
:target: https://coveralls.io/github/wizardsoftheweb/gitflow-easyrelease?branch=master

``gitflow-easyrelease`` aims to streamline ``git flow release`` commands. It adds some `semver <https://semver.org/>`__ shortcuts as well.

.. contents::

Installation
============

.. code:: sh-session
$ pip install --user gitflow-easyrelease
Usage
=====

.. code:: sh-session
$ export PATH=~/.local/bin:$PATH
$ which git-easyrelease
~/.local/bin/git-easyrelease
$ git easyrelease
< should print the main help >
$ git easyrelease --all-help
< dumps all the help >
Positionals
===========

``version``
-----------

``version`` can be one of the following:

* ``p``, ``patch``, or ``~`` for a patch bump
* ``m``, ``minor``, or ``^`` for a minor bump
* ``M`` or ``major`` for a major bump
* ``X.Y.Z`` for a new, unconnected semver version
* ``<any string>`` for a not semver version

``base``
--------

``base`` is an optional branch to use as the base for the release. It requires |gitflow_avh|_, but it's totally optional and shouldn't break anything if you both don't have ``gitflow-avh`` and never use ``base``.

.. |gitflow_avh| replace:: the extended ``gitflow-avh``
.. _gitflow_avh: https://github.com/petervanderdoes/gitflow-avh

Commands
========

``init``
--------

``git easyrelease init [base]``

Convenience method to seed the release with ``0.0.0``. It runs

.. code:: sh-session
$ git flow release start 0.0.0 <base>
$ git flow release finish
``quick``
---------

``git easyrelease quick version [base]``

Convenience method to start and finish a release branch. It runs

.. code:: sh-session
$ git flow release start <version> <base>
$ git flow release finish
``start``
---------

``git easyrelease start version [base]``

Extends ``git flow release start`` with extra semver functionality. It runs

.. code:: sh-session
$ git flow release start <version> <base>
``finish``
----------

``git easyrelease finish [version]``

Extends ``git flow release finish`` with extra semver functionality. Without ``version``, it attempts to ``finish`` the active branch. It runs

.. code:: sh-session
$ git flow release finish <version>
``publish``
-----------

``git easyrelease publish [version]``

Extends ``git flow release publish`` with extra semver functionality. Without ``version``, it attempts to ``publish`` the active branch. It runs

.. code:: sh-session
$ git flow release publish <version>
``delete``
----------

``git easyrelease delete [version]``

Extends ``git flow release delete`` with extra semver functionality. Without ``version``, it attempts to ``delete`` the active branch. It runs

.. code:: sh-session
$ git flow release delete <version>
Roadmap
=======

These percentages are pretty arbitrary. Today's 47% could be tomorrow's 90% or vice versa.

Main Features
-------------

Once all of these are finished, I'll release `v1`. Until then, `v0` should be used with caution, because it's not stable.

.. csv-table::
:header: "Progress", "Feature"

"100%", "Testing ``v0.2.0``"

Eventual Features
-----------------

These are things I'd like to add, but probably won't be included in `v1`. If not, they'll most likely constitute one or more minor version increments.

.. csv-table::
:header: "Progress", "Feature"

"10%", "``git config`` integration (or, rather, ``gitflow`` config integration"
"0%", "Disable ``base`` without ``gitflow-avh``"
File renamed without changes.
23 changes: 14 additions & 9 deletions setup.cfg
Original file line number Diff line number Diff line change
@@ -1,12 +1,11 @@
[bumpversion]
current_version = 0.2.0
commit = True
tag = False

[metadata]
name = gitflow-easyrelease
version = 0.3.0
author = CJ Harries
author_email = cj@wizardsoftheweb.pro
license_file = LICENSE
license = file: LICENSE.rst
description = Shortcuts for git flow release with semver support
long_description = file: README.rst
keywords =
git
gitflow
Expand All @@ -15,11 +14,16 @@ classifiers =
Development Status :: 3 - Alpha
Environment :: Console
Topic :: Software Development :: Version Control :: Git
url = https://github.com/wizardsoftheweb/gitflow-easyrelease#readme
project_urls =
'Issue Tracker' = https://github.com/wizardsoftheweb/gitflow-easyrelease/issues

[bdist_wheel]
universal = 1

[options]
packages = find:
include_package_data = True
install_requires =
argparse_color_formatter
ansicolors
Expand All @@ -30,11 +34,12 @@ tests_require =
pytest
pytest-cov

[options.entry_points]
console_scripts =
git-easyrelease = gitflow_easyrelease.cli_file:cli

[tool:pytest]
addopts = -v -x --cov-report html --cov-report term --cov=gitflow_easyrelease --color=yes

[aliases]
test = pytest

[bumpversion:file:setup.py]

14 changes: 2 additions & 12 deletions setup.py
Original file line number Diff line number Diff line change
@@ -1,15 +1,5 @@
"""This file sets up the package"""

from setuptools import setup, find_packages
from setuptools import setup

setup(
name='gitflow-easyrelease',
version='0.2.0',
packages=find_packages(),
include_package_data=True,
entry_points={
'console_scripts': [
'git-easyrelease = gitflow_easyrelease.cli_file:cli'
]
}
)
setup()

0 comments on commit ce81f5d

Please sign in to comment.