What is gp.vcsdevelop ?
=======================

This package allow you to checkout some package and use them as developed
eggs with ``zc.buildout``.

Available options
=================

- `develop-dir`: a directory to checkout packages in

- `vcs-extend-develop`: A list of vcs url. See `pip
  <http://pip.openplans.org/#requirements-files>`_'s editable parameter.
  Available schemes are ssh, svn, git, hg, bzr, sftp.

- `vcs-update`:
  
  If ``true`` on every run buildout try updating
  egg. As example for hg+https run hg pull -u

  If ``always`` then remove existing code from filesystem and get a fresh checkout

Usage
=====

Use this package as a ``zc.buildout`` extension and provide
some vcs urls in the ``vcs-extend-develop`` option::

  >>> write('buildout.cfg','''
  ... [buildout]
  ... extensions=gp.vcsdevelop
  ... vcs-extend-develop=hg+https://gawel@bitbucket.org/gawel/mercurialapp/@tip#egg=MercurialApp
  ... parts=
  ... ''')

Then if you run ``buildout``, the package will be checkout from the
repository::

  >>> print 'Start', system(buildout)
  Start...
  Cloning hg https://gawel@bitbucket.org/gawel/mercurialapp/ (to revision tip) to ./MercurialApp
  Found command 'hg' at '...'
  Develop: '/...buildout/MercurialApp'

Packages can be found in the ``develop-dir`` (default to .). You can override this::

  >>> write('buildout.cfg','''
  ... [buildout]
  ... extensions=gp.vcsdevelop
  ... develop-dir=./src
  ... vcs-extend-develop=hg+https://gawel@bitbucket.org/ianb/pip/@tip#egg=pip
  ... parts=
  ... ''')

  >>> print 'Start', system(buildout)
  Start...
  Cloning hg https://gawel@bitbucket.org/ianb/pip/ (to revision tip) to ./src/pip
  Found command 'hg' at '...'
  Develop: '/...buildout/./src/pip'
  ...

You can also checkout non-python packages but you'll get a warning::

  >>> write('buildout.cfg','''
  ... [buildout]
  ... extensions=gp.vcsdevelop
  ... develop-dir=./src
  ... vcs-extend-develop=git+git://github.com/benoitc/couchbeam.git#egg=couchbeam
  ... parts=
  ... ''')

  >>> print 'Start', system(buildout).strip()
  Start...
  Cloning git://github.com/benoitc/couchbeam.git to ./src/couchbeam
  Found command 'git' at '...'
  Warning: ./src/couchbeam is not a python package
  

Bugs
====

Use the `bitbucket <http://bitbucket.org/gawel/gpvcsdevelop/issues/?status=new>`_ tracker.

