git-svn matplotlib mirror

Wed, 26 Jan 2011 20:35:03 +0900, Jae-Joon Lee wrote:

···

On Wed, Jan 26, 2011 at 7:28 PM, Pauli Virtanen > <pav@...278...> wrote:

The complete magic stanza is:

git reflog expire --expire=0 --all
git prune
git repack -f -a -d
git gc --prune=0

Wonderful!
With this, I get about 40 MB!

Some additional compression can be obtained by passing also suitable
values for the --window and --depth flags for git repack.

http://metalinguist.wordpress.com/2007/12/06/the-woes-of-git-gc-aggressive-and-how-git-deltas-work/

  Pauli

Thank you all for the helpful feedback. I'll work on this again this evening.

Last night I noticed that, in the git repo, the commit messages
produced by svnmerge.py still contain a lot of svn-specific
information. Pauli's conversion script includes a step that filters
out two lines at the end of each commit containing some svn metadata,
but for svnmerge commits we still end up with:

    Merged revisions 8933 via svnmerge from
    https://matplotlib.svn.sourceforge.net/svnroot/matplotlib/branches/v1_0_maint

    ........
      r8933 | weathergod | 2011-01-22 10:35:26 -0600 (Sat, 22 Jan
2011) | 3 lines

      Fixing problem where reversed colormaps of
LinearSegmentedColormaps were not initialized properly.
      Thanks to LittleBigBrain for reporting and Friedrich Romstedt
for making the original patch.
    ........

Do we live with this, or try to replace references to svn commits with
their git hash and references to svn branches with the git ones? I
tried merging the v.1.0.x branch into master, which applied pretty
cleanly, with only a few minor merge conflicts:

$ git merge origin/v1.0.x
Auto-merging CHANGELOG
CONFLICT (content): Merge conflict in CHANGELOG
Auto-merging examples/api/quad_bezier.py
CONFLICT (content): Merge conflict in examples/api/quad_bezier.py
Auto-merging lib/matplotlib/__init__.py
CONFLICT (content): Merge conflict in lib/matplotlib/__init__.py
Auto-merging lib/matplotlib/axes.py
Auto-merging lib/matplotlib/backends/backend_macosx.py
Auto-merging lib/matplotlib/backends/backend_ps.py
Auto-merging lib/matplotlib/backends/backend_qt4.py
Auto-merging lib/matplotlib/tests/test_axes.py
Auto-merging lib/matplotlib/text.py
Auto-merging lib/matplotlib/ticker.py
CONFLICT (content): Merge conflict in lib/matplotlib/ticker.py
Auto-merging src/_gtkagg.cpp
Auto-merging src/_macosx.m
CONFLICT (content): Merge conflict in src/_macosx.m

Here is the CHANGELOG:
<<<<<<< HEAD
2011-01-13 Added zdir and offset arguments to contourf3d to
           bring contourf3d in feature parity with contour3d. - BVR

2011-01-04 Tag 1.0.1 for release at r8896

2011-01-03 Added display of ticker offset to 3d plots. - BVR

2011-01-03 Turn off tick labeling on interior subplots for
           pyplots.subplots when sharex/sharey is True. - JDH

2010-12-29 Implment axes_divider.HBox and VBox. -JJL

···

On Wed, Jan 26, 2011 at 6:42 AM, Pauli Virtanen <pav@...278...> wrote:

Wed, 26 Jan 2011 20:35:03 +0900, Jae-Joon Lee wrote:

On Wed, Jan 26, 2011 at 7:28 PM, Pauli Virtanen >> <pav@...278...> wrote:

The complete magic stanza is:

git reflog expire --expire=0 --all
git prune
git repack -f -a -d
git gc --prune=0

Wonderful!
With this, I get about 40 MB!

Some additional compression can be obtained by passing also suitable
values for the --window and --depth flags for git repack.

http://metalinguist.wordpress.com/2007/12/06/the-woes-of-git-gc-aggressive-and-how-git-deltas-work/

=======
2011-01-04 Tag 1.0.1 for release at r8896

origin/v1.0.x

Last night I noticed that, in the git repo, the commit messages
produced by svnmerge.py still contain a lot of svn-specific
information. Pauli's conversion script includes a step that filters
out two lines at the end of each commit containing some svn metadata,
but for svnmerge commits we still end up with:

Merged revisions 8933 via svnmerge from
https://matplotlib.svn.sourceforge.net/svnroot/matplotlib/branches/v1_0_maint

........
r8933 | weathergod | 2011-01-22 10:35:26 -0600 (Sat, 22 Jan
2011) | 3 lines

 Fixing problem where reversed colormaps of

LinearSegmentedColormaps were not initialized properly.
Thanks to LittleBigBrain for reporting and Friedrich Romstedt
for making the original patch.
........

Do we live with this, or try to replace references to svn commits with
their git hash and references to svn branches with the git ones?

I think I just convinced myself that replacing svn references with git
hashes would be a Herculean task. One could generate a
svn_rev:git_hash mapping, but then changing the commit message
actually yields a new git hash, breaking the mapping. Its not an
impossible task, but it would be a lot of work and difficult to check.
Leaving the svn path and revision information will probably be more
reliable. "git log --all" will therefore yield enough information that
we can easily identify the provenance of a cherry pick and find it in
the git history:

commit adb1a7f67daf955a1af3a86d42b5181767c18819
Author: Ben Root <ben.v.root@...149...>

···

On Wed, Jan 26, 2011 at 7:44 AM, Darren Dale <dsdale24@...149...> wrote:
Date: Sat Jan 22 16:40:21 2011 +0000

    Merged revisions 8933 via svnmerge from
    https://matplotlib.svn.sourceforge.net/svnroot/matplotlib/branches/v1_0_main

    ........
      r8933 | weathergod | 2011-01-22 10:35:26 -0600 (Sat, 22 Jan 2011) | 3 line

      Fixing problem where reversed colormaps of LinearSegmentedColormaps were n
      Thanks to LittleBigBrain for reporting and Friedrich Romstedt for making t
    ........

    svn path=/trunk/matplotlib/; revision=8934

commit 2fa57c710607496a93000bfb3191bdd422f518cc
Author: Ben Root <ben.v.root@...149...>
Date: Sat Jan 22 16:35:26 2011 +0000

    Fixing problem where reversed colormaps of LinearSegmentedColormaps were not
    Thanks to LittleBigBrain for reporting and Friedrich Romstedt for making the

    svn path=/branches/v1_0_maint/; revision=8933

Is this satisfactory?

Darren

I think it is fine. Maybe a nice convenience script would be one that
would return a got hash for a svn revision number (and vice verse?).
With that, I would be more than happy with how the logs are.

Ben Root

···

On Wednesday, January 26, 2011, Darren Dale <dsdale24@...149...> wrote:

On Wed, Jan 26, 2011 at 7:44 AM, Darren Dale <dsdale24@...149...> wrote:

Last night I noticed that, in the git repo, the commit messages
produced by svnmerge.py still contain a lot of svn-specific
information. Pauli's conversion script includes a step that filters
out two lines at the end of each commit containing some svn metadata,
but for svnmerge commits we still end up with:

Merged revisions 8933 via svnmerge from
https://matplotlib.svn.sourceforge.net/svnroot/matplotlib/branches/v1_0_maint

........
r8933 | weathergod | 2011-01-22 10:35:26 -0600 (Sat, 22 Jan
2011) | 3 lines

 Fixing problem where reversed colormaps of

LinearSegmentedColormaps were not initialized properly.
Thanks to LittleBigBrain for reporting and Friedrich Romstedt
for making the original patch.
........

Do we live with this, or try to replace references to svn commits with
their git hash and references to svn branches with the git ones?

I think I just convinced myself that replacing svn references with git
hashes would be a Herculean task. One could generate a
svn_rev:git_hash mapping, but then changing the commit message
actually yields a new git hash, breaking the mapping. Its not an
impossible task, but it would be a lot of work and difficult to check.
Leaving the svn path and revision information will probably be more
reliable. "git log --all" will therefore yield enough information that
we can easily identify the provenance of a cherry pick and find it in
the git history:

commit adb1a7f67daf955a1af3a86d42b5181767c18819
Author: Ben Root <ben.v.root@...149...>
Date: Sat Jan 22 16:40:21 2011 +0000

Merged revisions 8933 via svnmerge from
https://matplotlib.svn.sourceforge.net/svnroot/matplotlib/branches/v1_0_main

\.\.\.\.\.\.\.\.
  r8933 | weathergod | 2011\-01\-22 10:35:26 \-0600 \(Sat, 22 Jan 2011\) | 3 line

  Fixing problem where reversed colormaps of LinearSegmentedColormaps were n
  Thanks to LittleBigBrain for reporting and Friedrich Romstedt for making t
\.\.\.\.\.\.\.\.

svn path=/trunk/matplotlib/; revision=8934

commit 2fa57c710607496a93000bfb3191bdd422f518cc
Author: Ben Root <ben.v.root@...149...>
Date: Sat Jan 22 16:35:26 2011 +0000

Fixing problem where reversed colormaps of LinearSegmentedColormaps were not
Thanks to LittleBigBrain for reporting and Friedrich Romstedt for making the

svn path=/branches/v1\_0\_maint/; revision=8933

Is this satisfactory?

Darren