Permalink
Browse files

Remove svn references, or change to git

  • Loading branch information...
1 parent efed80d commit 914a43aade5c6607b5c00f573e13c7f39e71fa23 @ddale ddale committed Feb 19, 2011
View
@@ -1,86 +0,0 @@
-Migrating to the new matplotlib codebase
-========================================
-
-Michael Droettboom has spent the last several months working on the
-"transforms branch" of matplotlib, in which he rewrote from the ground
-up the transformation infrastructure in matplotlib, which many found
-unintuitive and hard to extend. In addition to a cleaner code base,
-the reorganization allows you to define your own transformations and
-projections (e.g. map projections) within matplotlib. He has merged his
-work into the HEAD of the svn trunk, and this will be the basis for
-future matplotlib releases.
-
-If you are a svn user, we encourage you to continue using the trunk as
-before, but with the understanding that you are now truly on the
-bleeding edge. Michael has made sure all the examples still pass with
-the new code base, so for the vast majority of you, I expect to see
-few problems. But we need to get as many people as possible using the
-new code base so we can find and fix the remaining problems. We have
-take the svn code used in the last stable release in the 0.91 series,
-and made it a maintenance branch so we can still fix bugs and support
-people who are not ready to migrate to the new transformation
-infrastructure but nonetheless need access to svn bug fixes.
-
-Using the new code
-==================
-
-To check out the trunk with the latest transforms changes:
-
- > svn co https://matplotlib.svn.sourceforge.net/svnroot/matplotlib/trunk/matplotlib
-
-If you already have a working copy of the trunk, your next "svn up" will
-include the latest transforms changes.
-
-IMPORTANT: Before installing, make sure you completely remove the old matplotlib
-build and install directories, eg:
-
- > cd matplotlib
- > sudo rm -rf build
- > sudo rm -rf /usr/local/lib/python2.5/site-packages/matplotlib
- > sudo python setup.py install
-
-Using the old svn code
-======================
-
-To check out the maintenance branch, in order to commit bugfixes to 0.91.x:
-
- > svn co https://matplotlib.svn.sourceforge.net/svnroot/matplotlib/branches/v0_91_maint matplotlib_0_91_maint
-
-Any applicable bugfixes on the 0.91.x maintenance branch should be
-merged into the trunk so they are fixed there as well. Svnmerge.py
-makes this process rather straightforward, but you may also manually
-merge if you prefer.
-
-Merging bugfixes on the maint branch to the trunk using svnmerge.py
--------------------------------------------------------------------
-
-Download svnmerge.py from here:
-
- http://www.orcaware.com/svn/wiki/Svnmerge.py
-
-From the working copy of the *trunk* (svnmerge.py always pulls *to*
-the current working copy), so
-
- > svnmerge.py merge
-
-to pull in changes from the maintenance branch. Manually resolve any
-conflicts, if necessary, test them, and then commit with
-
- > svn commit -F svnmerge-commit-message.txt
-
-(Note the above will stop working when the maintenance branch is
-abandoned.)
-
-API CHANGES in the new transformation infrastructure
-====================================================
-
-While Michael worked hard to keep the API mostly unchanged while
-performing what has been called "open heart surgery on matplotlib",
-there have been some changes, as discussed below.
-
-The primary goal of these changes was to make it easier to
-extend matplotlib to support new kinds of projections. This is
-primarily an internal improvement, and the possible user-visible
-changes it allows are yet to come.
-
-These changes are detailed in the API_CHANGES document.
View
@@ -36,12 +36,11 @@ build_osx105:
jdh_doc_snapshot:
- svn up;\
+ git pull;\
python setup.py install --prefix=~/dev;\
cd doc;\
rm -rf build;\
python make.py clean;\
- svn up;\
python make.py html latex sf sfpdf;
@@ -9,7 +9,7 @@
pathto('users/installing') }}">installing</a>
</p>
-<p>Sandro Tosi has a new book
+<p>Sandro Tosi has a new book
<a href="http://www.packtpub.com/matplotlib-python-development/book?utm_source=matplotlib.sourceforge.net&utm_medium=link&utm_content=pod&utm_campaign=mdb_002124">Matplotlib for python
developers</a>
also
@@ -64,7 +64,7 @@
but it is a good idea to ping us on the mailing list too.</p>
<p>For details on what's new, see the detailed <a href="{{
-pathto('_static/CHANGELOG', 1) }}">changelog</a> or browse the <a href="http://matplotlib.svn.sourceforge.net/viewvc/matplotlib/trunk/matplotlib/">source code</a>. Anything that could
+pathto('_static/CHANGELOG', 1) }}">changelog</a> or browse the <a href="https://github.com/matplotlib/matplotlib.git">source code</a>. Anything that could
require changes to your existing codes is logged in the <a href="{{
pathto('api/api_changes.html', 1) }}">api changes</a> file.</p>
View
@@ -4,33 +4,6 @@
Coding guide
************
-.. _version-control:
-
-Version control
-===============
-
-.. _using-svn:
-
-svn checkouts
--------------
-
-Checking out everything in the trunk (matplotlib and toolkits)::
-
- svn co https://matplotlib.svn.sourceforge.net/svnroot/matplotlib/trunk \
- matplotlib --username=youruser --password=yourpass
-
-Checking out the main source::
-
- svn co https://matplotlib.svn.sourceforge.net/svnroot/matplotlib/trunk/\
- matplotlib mpl --username=youruser --password=yourpass
-
-Branch checkouts, eg the 1.0.x maintenance branch::
-
- svn co https://matplotlib.svn.sourceforge.net/svnroot/matplotlib/branches/\
- v1_0_maint mpl1 --username=youruser --password=yourpass
-
-
-
Committing changes
------------------
@@ -60,231 +33,7 @@ in mind.
:file:`MANIFEST.in`. This file determines what goes into the source
distribution of the mpl build.
-* Keep the maintenance branch (0.91) the latest release branch (eg
- 0.98.4) and trunk in sync where it makes sense. If there is a bug
- on both that needs fixing, use `svnmerge.py
- <http://www.orcaware.com/svn/wiki/Svnmerge.py>`_ to keep them in
- sync. See :ref:`svn-merge` below.
-
-.. _svn-merge:
-
-Using svnmerge
---------------
-
-svnmerge is useful for making bugfixes to a maintenance branch, and
-then bringing those changes into the trunk.
-
-The basic procedure is:
-
-* install ``svnmerge.py`` in your PATH::
-
- > wget http://svn.apache.org/repos/asf/subversion/trunk/contrib/\
- client-side/svnmerge/svnmerge.py
-
-* get a svn checkout of the branch you'll be making bugfixes to and
- the trunk (see above)
-
-* Create and commit the bugfix on the branch.
-
-* Then make sure you svn upped on the trunk and have no local
- modifications, and then from your checkout of the svn trunk do::
-
- svnmerge.py merge -S BRANCHNAME
-
- Where BRANCHNAME is the name of the branch to merge *from*,
- e.g. v1_0_maint.
-
- If you wish to merge only specific revisions (in an unusual
- situation), do::
-
- > svnmerge.py merge -rNNN1-NNN2
-
- where the ``NNN`` are the revision numbers. Ranges are also
- acceptable.
-
- The merge may have found some conflicts (code that must be manually
- resolved). Correct those conflicts, build matplotlib and test your
- choices. If you have resolved any conflicts, you can let svn clean
- up the conflict files for you::
-
- > svn -R resolved .
-
- ``svnmerge.py`` automatically creates a file containing the commit
- messages, so you are ready to make the commit::
-
- > svn commit -F svnmerge-commit-message.txt
-
-
-.. _setting-up-svnmerge:
-
-Setting up svnmerge
-~~~~~~~~~~~~~~~~~~~
-
-.. note::
- The following applies only to release managers when there is
- a new release. Most developers will not have to concern themselves
- with this.
-
-* Creating a new branch from the trunk (if the release version is
- 1.0 at revision 8503)::
-
- > svn copy \
- https://matplotlib.svn.sf.net/svnroot/matplotlib/trunk/matplotlib@8503 \
- https://matplotlib.svn.sf.net/svnroot/matplotlib/branches/v1_0_maint \
- -m "Creating maintenance branch for 1.0"
-
-* You can add a new branch for the trunk to "track" using
- "svnmerge.py init", e.g., from a working copy of the trunk::
-
- > svnmerge.py init https://matplotlib.svn.sourceforge.net/svnroot/matplotlib/branches/v1_0_maint
- property 'svnmerge-integrated' set on '.'
-
- After doing a "svn commit" on this, this merge tracking is available
- to everyone, so there's no need for anyone else to do the "svnmerge
- init".
-
-* Tracking can later be removed with the "svnmerge.py uninit" command,
- e.g.::
-
- > svnmerge.py -S v1_0_maint uninit
-
-.. _using-git:
-
-Using git
----------
-
-Some matplotlib developers are experimenting with using git on top of
-the subversion repository. Developers are not required to use git, as
-subversion will remain the canonical central repository for the
-foreseeable future.
-
-Cloning the git mirror
-~~~~~~~~~~~~~~~~~~~~~~
-
-There is an experimental `matplotlib github mirror`_ of the subversion
-repository. To make a local clone of it in the directory ``matplotlib``,
-enter the following commands::
-
- # Download the entire git repository into "matplotlib", name the source repository "svn".
- git clone --origin svn git@github.com:astraw/matplotlib.git
-
- # Change into the newly created git repository.
- cd matplotlib
-
- # Setup the subversion mirroring.
- git svn init --trunk=trunk/matplotlib --prefix=svn/ https://matplotlib.svn.sourceforge.net/svnroot/matplotlib
-
- # Tell git svn to analyze the subversion history
- git svn rebase -l
-
-.. _matplotlib github mirror: http://github.com/astraw/matplotlib
-
-To install from this cloned repository, use the commands in the
-:ref:`svn installation <install-svn>` section::
-
- > cd matplotlib
- > python setup.py install
-
-Note that it is not possible to interact with the matplotlib
-maintenance branches through git due to different representations of
-source code repositories in svnmerge and git.
-
-An example git workflow
-~~~~~~~~~~~~~~~~~~~~~~~
-
-The following is a suggested workflow for git/git-svn.
-
-Start with a virgin tree in sync with the svn trunk on the git branch
-"trunk"::
-
- git checkout trunk
- git svn rebase
-
-To create a new, local branch called "whizbang-branch"::
-
- git checkout -b whizbang-branch
-
-Do make commits to the local branch::
-
- # hack on a bunch of files
- git add bunch of files
- git commit -m "modified a bunch of files"
- # repeat this as necessary
-
-Now, go back to the trunk branch and append the history of your branch
-to the git trunk branch, which will end up as the svn trunk::
-
- git checkout trunk
- git svn rebase # Ensure we have most recent svn
- git rebase whizbang-branch # Append whizbang changes to trunk branch
- git svn dcommit -n # Check that this will apply to svn
- git svn dcommit # Actually apply to svn
-
-Finally, you may want to continue working on your whizbang-branch, so
-rebase it to the new trunk::
-
- git checkout whizbang-branch
- git rebase trunk
-
-How was this git mirror set up?
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-These are notes for those interested in mirroring a subversion
-repository on github. I pieced this together by lots of
-trial-and-error.
-
-Step 1: Create a local mirror of the svn repository
-
-::
-
- rsync -avzP rsync://matplotlib.svn.sourceforge.net/svn/matplotlib/ matplotlib-svn-rsync/
-
-Step 2: Import the svn history into a new git repository
-
-::
-
- #!/bin/bash
- set -e
-
- TARGET=mpl.git.fixed
- GIT=/home/astraw/git/bin/git
- TRUNKBRANCH=trunk
- SVNBRANCHPREFIX="svn/"
-
- rm -rf $TARGET
- mkdir $TARGET
- cd $TARGET
-
- $GIT init
- $GIT svn init --rewrite-root=https://matplotlib.svn.sourceforge.net/svnroot/matplotlib \
- --trunk=trunk/matplotlib --prefix=$SVNBRANCHPREFIX file:///mnt/workdisk/tmp/matplotlib-svn-rsync
- $GIT svn fetch
-
- # now, make master branch track ${SVNBRANCHPREFIX}trunk
- $GIT checkout master -b tmp
- $GIT branch -d master
- $GIT checkout ${SVNBRANCHPREFIX}trunk -b $TRUNKBRANCH
- $GIT branch -D tmp
- $GIT svn rebase -l
-
-Step 3: Upload the git repository to github
-
-::
-
- #!/bin/bash
- set -e
-
- TARGET=mpl.git.fixed
- GIT=/home/astraw/git/bin/git
- TRUNKBRANCH=trunk
- SVNBRANCHPREFIX="svn/"
-
- cd $TARGET
-
- $GIT remote add github git@github.com:astraw/matplotlib.git
- git push github $TRUNKBRANCH:master
-
-.. _style-guide:
+* Keep the maintenance branches and trunk in sync where it makes sense.
Style guide
===========
Oops, something went wrong.

0 comments on commit 914a43a

Please sign in to comment.