[pymvpa] /Developers only/ GIT repository/clones restructuring/migration

Yaroslav Halchenko debian at onerussian.com
Wed Aug 11 16:23:32 UTC 2010

Dear PyMVPA Developers,

We are in the process of migrating from "single GIT repository for
everyone" to more distributed flow of development provided by Github.

Major change

you should not push to alioth.debian.org (AKA git.debian.org) your
development branches (e.g. your_name/master) -- they all should reside
in your own clones at github -- please move them over or remove from


To remove branch (or tag) from alioth (after you pushed it to your
github clone), just do::

    git push <alioth_remote> :<branch_name>

New workflow

We will primarily use github for the development.  Therefore:

alioth.debian.org (AKA git.debian.org)
  Will eventually be deprecated.  For now it will carry all releases and
  associated Debian packaging, since X-Vcs fields in Debian packages
  point to this repository.  New development will not be pushed into
  this repository.  All personal branches should migrate off it.
  Websites will be updated soon to reflect this

  The main repository -- source for all of your forks on github.
  It will contain
  - release and distribution releases tags (signed/annotated)
  - maint/* (maintenance) and dist/* (distribution) branches
  - master branch -- marginally well tested thus usable (not quite so atm)
    development branch
  - website/www, website/dev -- only fast-forward branches which would
    point to the last location of website updates

  No _tent branches, nor +tent tags should be pushed in there.
  Only annotated tags for upstream or distribution releases should end
  up there

  Development environments -- feel free to create your own.  Should contain

  - master branch -- development/integration branch, intended to be
	eventually pushed (thus fast-forward only) as master of
	PyMVPA/PyMVPA repository

  - _tent/ (tentative) feature and _bf/ (bugfix) branches which you
	would like us (or you into your master first) to integrate

  - +tent/ unsigned/unannotated tags to point at the locations when
    your corresponding _tent/ branch got accepted (not necessary if
	feature is "minimalistic" and not worth memorizing)

	Do not forget to remove _tent/ branches from your clones upon
	integration, with smth like::
	  git br -d _tent/<name>
	  git push origin :_tent/<name>

Course of action

# if you relied on <name>/* branches on alioth and haven't yet created
  your fork on github, please do so by visiting
  http://github.com/PyMVPA/PyMVPA and clicking on "Fork button"

# we did some cleanup of repositories, so to get your local copies
  cleaned up a bit, please do::
     git fetch --all --prune
     git tag | grep -e __ -e last_we -e sg/unittests_passed | xargs git tag -d
	 git push <your_github_clone> :last_website_update
	 git push <your_github_clone> :sg/unittests_passed


As you could guess from manual removal of tags above, tags in git
are somewhat viral.  If you add someone's repository as a remote and
fetch -- you will obtain all tags from that remote, and then they would
propagate to others who would clone you, etc... So, please

# follow the conventions above
# do not push to remotes all kinds of useless/temporary tags

If you want to pull someones' changes into your tree, and do not want to
fetch his tags, you can pull directly using URL and branchnames, smth

    git pull git at github.com:PyMVPA/PyMVPA.git master

=------------------------------   /v\  ----------------------------=
Keep in touch                    // \\     (yoh@|www.)onerussian.com
Yaroslav Halchenko              /(   )\               ICQ#: 60653192
                   Linux User    ^^-^^    [175555]

-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 197 bytes
Desc: Digital signature
URL: <http://lists.alioth.debian.org/pipermail/pkg-exppsy-pymvpa/attachments/20100811/9d3a1542/attachment.pgp>

More information about the Pkg-ExpPsy-PyMVPA mailing list