=========
Changelog
=========

Here you can find the recent changes to vcspull

- :release:`0.9.0 <2016-05-26>`
- [cli] [internal]: command line arg parsing now uses `click`_ library.
- [cli] vcspull will use the beginning part of the argument to determine
  if its searching by vcs URL, repository name or system path.
- [config] ``repo`` (the longform for the vcs url) is now ``url``.
- [config] [internal] repos are now passed around in a list of
  :py:`dict`. :class:`vcspull.config.expand_config` has been
  simplified.
- [internal] flake8 and sort imports
- [internal] [dev] Add ``Makefile`` for ``watch_test`` (re-running
  tests on file change), ``watch_flake`` (re-running flake8 check
  on changes)
- [internal] [dev] Move ``.tmuxp.yaml`` commands to use Makefile
- [internal] [dev] split up requirements into ``requirements/``
  folder.
- Drop Python 2.6 support
- [internal] ``find_config`` renamed to ``find_config_files``.
- Rename ``get_repos`` to ``filter_repos``, simplify argument signature.
- [cli] Experimental support for concurrently synchroniznig repos via
  :py:mod:`multiprocessing`.
- [api][internal]: Refactor :class:`vcspull.repo.Repo` factory class
  into :func:`vcspull.repo.create_repo`.
- [internal]: major internal cleanup of dead code, pep8 style updates.
- [git] [tests]: fix git+https remotes `#14`_, add regression tests.


- :release:`0.2.2 <2015-07-10>`
- [internal]: devendorize colorama

- :release:`0.2.1 <2015-06-12>`
- [internal] [tests]: handle ``ERROR`` in git cloning, add tests. Fixes
  cases like ``ERROR: Repository not found``.

- :release:`0.2.0 <2015-05-19>`
- [api] Change the API of :class:`vcspull.repo.base.BaseRepo` and
  :class:`vcspull.repo.Repo` to accept arguments as ``kwargs``
- [api]: Rename ``parent_path`` to ``cwd``.
- [docs]: Pydoc documentation for ``Repo`` usage.
- [docs]: Python API example

- :release:`0.1.1 <2015-05-09>`
- [testing] Fix sniffer on Python 3
- [cli] remove redundant message when adding remotes
- [docs] add animated screencast preview for ReadTheDocs and README.rst

- :release:`0.1.0 <2015-04-30>`
- [cli]: support for specifying for config file path with ``-c``.
- [cli]: clarify error output when no repositories found

- :release:`0.0.10 <2015-04-08>`
- [cli]: fix message when adding remotes
- [internals]: split config-related functions into ``config`` module.
- [tests]: consolidate tests from ``testsuite.cli`` into
  ``testsuite.config``.
- [tests]: remove stub TestSuites insite of ``cli`` tests.
- [tests]: Refactor helpers. Tests should now run much faster.
- [cli]: vcspull now checks for configs in ``~/.vcspull`` (yaml and json
  files) as well as the standard ``~/.vcspull.{yaml,json}`` files.

- :release:`0.0.9-1 <2015-03-27>`
- [internals]: move to ``__about__.py`` convention for pulling package
  data.
- [internals]: remove extraneous url from stdout in git repositories.

- :release:`0.0.9 <2015-03-25>`
- [dev]: support for tmuxp ``before_script`` to set up local virtualenv +
  dependencies.
- [dev]: Clean up ``__init__.py`` imports
- [internals]: move :meth:`update` to :meth:`update_dict` in ``utils``.
- [cli]: ``-d`` / ``--dirmatch`` for matching directories, accepts
  `fnmatch`_ \'s.
- [cli]: ``-r`` / ``--repomatch`` for matching directories, accepts
  `fnmatch`_ \'s.
- [cli]: ``-c`` / ``--config`` YAML / JSON file of repositories
- [config/vcs]: Exception for private / ssh GitHub repository URLs and 
  message to change to correct format.
- [docs]: Update docs to reflect updates on new commands and how to clone
  private / priveleged GitHub repos.

- :release:`0.0.8-4 <2014-02-06>`
- [cli] Update documentation when no config found to show ``yaml`` and
  ``json``. Remove mentioning of ``conf``.

- :release:`0.0.8-3 <2014-02-06>`
- [logging] `Issue #6`_ - fix issue where log templates would not
  concatenate correctly.

- :release:`0.0.8-2 <2014-02-05>`
- [packaging] Fix issue where ``package_metadata.py`` missing from
  ``MANIFEST.in``.

- :release:`0.0.8-1 <2014-02-05>`
- [setup.py] remove history from readme

- :release:`0.0.8 <2014-02-05>` 
- Use werkzeug/flask style unit test suites.
- [docs] Fix section headings.
- [internals] use conventions from `tony/cookiecutter-pypackage`_.

- :release:`0.0.7 <2014-01-07>` 
- New logging system from pypa/pip with support showing current stderr
  (checkout, pull, cloning) progress.
- ``unicode_literals``, ``__future__`` for python 3 support.

- :release:`0.0.6 <2013-12-03>` 
- Renamed to ``vcspull``.

- :release:`0.0.5 <2013-11-28>` 
- [tests] tests for loading multiple configs, config conflict cases
- [internal] fix recursive imports, using explicit importing
- [git] handle cli case where git is on a different branch, just fetch
  repo.
- [py3] python 3 support

- :release:`0.0.4 <2013-11-25>` 
- [svn] [git] [hg] added functionality for pip's netloc and vcs
  functionality.
- [docs] update license docs for methods from salt (apache) and pip (mit).
- [cli] autocomplete
- [config] [tests] Support for expanding environment variables in syntax
  with ``${envvar}`` and ``~``.
- [cli] Exit with ``Ctrl-C`` gracefully.


- :release:`0.0.3 <2013-11-23>` 
- [docs] [examples] more docs and examples
- [internal] remove developer logger message that would show when
  updating.
- [cli] - fixed bug where logger would output message twice
- [`pep257`_] [`pep8`_] [logger] update ``vcspull.log`` module to latest
  code (from `tmuxp`_ project).

- :release:`0.0.2 <2013-11-23>` 
- [tests] Move tests for making directory paths to ``test_repo``
  TestSuite.
- [tests] [git] more work on remotes with :class:`vcspull.repo.git.GitRepo`.

- :release:`0.0.2 <2013-11-16>` 
- [tests] refactor tests modules
- [git] add some functions with saltstack to
  :py:class:`vcspull.repo.git.GitRepo`.
- [version] reset to 0.1.0 w/o dev tag to begin releases.

- :release:`0.0.1 <2013-11-15>` 
- [cli] [tests] fix `issue #1`_ for making directories recursively.

- :release:`0.0.1 <2013-11-15>` 
- [tests] :py:mod:`tempfile`.
- [cli] [config] remove .ini support

- :release:`0.0.1 <2013-11-09>` 
- `pep257`_ to all modules.
- Add `argcomplete`_.
- Move in code patterns from `tmuxp`_. New logger, setup.py, testsuite
  structure, etc.

- :release:`0.0.1 <2013-10-23>` 
- add example

- :release:`0.0.1 <2013-10-17>` 
- fix packaging issue, add MANIFEST.in
- bump to 0.1.1

- :release:`0.0.1 <2013-10-08>` 
- move to semver

- :release:`0.0.1 <2013-10-06>` 
- https://github.com/tony/vcspull/compare/a96e723269...a5be723de5
- remove virtualenv dep [Done]
- remove pip dep [Done]
- logging for repo obtain/update/makedir/rev [Done]
- logging.notify with alternative format [Done]
- removed salt-specific code used for Popen
  (https://github.com/tony/vcspull/commit/67dbb793e7)

.. _tmuxp: http://tmuxp.rtfd.org
.. _pep257: http://www.python.org/dev/peps/pep-0257/
.. _pep8: http://www.python.org/dev/peps/pep-0008/
.. _sphinx-argparse: https://github.com/tony/sphinx-argparse
.. _argcomplete: https://github.com/kislyuk/argcomplete
.. _tony/cookiecutter-pypackage: https://github.com/tony/cookiecutter-pypackage.

.. _#14: https://github.com/tony/vcspull/issues/14
.. _click: https://github.com/pallets/click

.. _fnmatch: http://pubs.opengroup.org/onlinepubs/009695399/functions/fnmatch.html
.. _issue #6: https://github.com/tony/vcspull/issues/6

.. _issue #1: https://github.com/tony/vcspull/issues/1

.. vim: set filetype=rst:
