Philipps Blog


2013/08/01  Downgrading Subversion from 1.8 to 1.7 in MacPorts

Filed under:Snippets,Tooling — Philipp @ 11:19 pm
bash-3.2# cd /tmp
bash-3.2# svn co http://svn.macports.org/repository/macports/trunk/dports/devel/subversion --revision 108493
A    subversion/files
A    subversion/files/patch-Makefile.in.diff
A    subversion/files/patch-osx_unicode_precomp.diff
A    subversion/files/config_impl.h.patch
A    subversion/files/servers.default
A    subversion/Portfile
Ausgecheckt, Revision 108493.
bash-3.2# cd subversion/
bash-3.2# port install
--->  Computing dependencies for subversion
--->  Fetching archive for subversion
--->  Attempting to fetch subversion-1.7.10_1.darwin_12.x86_64.tbz2 from http://mse.uk.packages.macports.org/sites/packages.macports.org/subversion
--->  Attempting to fetch subversion-1.7.10_1.darwin_12.x86_64.tbz2.rmd160 from http://mse.uk.packages.macports.org/sites/packages.macports.org/subversion
...
--->  Scanning binaries for linking errors: 100.0%
--->  No broken files found.
bash-3.2# port installed subversion
The following ports are currently installed:
  subversion @1.7.10_1
  subversion @1.8.1_1 (active)
bash-3.2# port activate subversion @1.7.10_1
--->  Computing dependencies for subversion
--->  Deactivating subversion @1.8.1_1
--->  Cleaning subversion
--->  Activating subversion @1.7.10_1
--->  Cleaning subversion

20 Comments »

  1. jonny B

    I was getting a “Library not loaded: /opt/local/lib/libserf-1.0.dylib” error when trying to run svn 1.7 after doing this, so found i also had to do:

    sudo port activate serf1 @1.2.1_0

    (having done “port installed | grep serf” to check what was installed)

    Hope that helps someone…

    Comment by jonny B — 2013/08/02 @ 7:09 pm

  2. jonny B

    …and thanks for the article (i meant to add :)

    Comment by jonny B — 2013/08/02 @ 7:10 pm

  3. Philipp

    You are right.
    You also need to downgrade / activate an older version of serf1:

    > svn co http://svn.macports.org/repository/macports/trunk/dports/www/serf1 –revision 108607
    > cd serf1
    > sudo port install
    > sudo port installed | grep serf
    < serf0 @0.7.2_0 (active)
    < serf1 @1.2.1_1 (active)
    < serf1 @1.3.0_0

    If 1.2.1 is not active, you should do a:
    > sudo port activate serf1 @1.2.1_1

    Comment by Philipp — 2013/08/21 @ 4:03 pm

  4. Jason Erickson

    I was spending all day on this. Actually, the bit in the comments about serf1 is what did the trick for me. Thanks!

    Comment by Jason Erickson — 2013/08/29 @ 9:02 pm

  5. Stefan

    Thank you for your great help. One more question: I have to downgrade to svn 1.7 to get git-svn working again. For that I have to downgrade subversion-perlbindings-5.12. I allready did

    svn co http://svn.macports.org/repository/macports/trunk/dports/devel/subversion-perlbindings –revision 108493

    and installed it, but now I have

    subversion-perlbindings @1.7.10_0 (active)
    subversion-perlbindings-5.12 @1.8.3_2 (active)

    Can you tell me how to downgrade perlbindings-5.12? (I’m quite new to this advanced use of MacPorts) …

    Comment by Stefan — 2013/09/06 @ 4:57 pm

  6. Philipp

    Hi Stefan,

    so i guess a

    port installed subversion-perlbindings
    

    Gave you the output you just showed in your comment?

    port activate subversion-perlbindings @1.7.10_0
    

    Should then active the correct perlbinding for Subversion 1.7.10.
    Could you post the error message you get if you try to run git-svn?

    Comment by Philipp — 2013/09/08 @ 10:39 am

  7. Hot to downgrade Subversion client from 1.8 to 1.7 in MacPorts – Blogs – Permeance Technologies

    […] Philipp Haussleiter's blog post – "2013/08/01 Downgrading Subversion from 1.8 to 1.7 in MacPorts". […]

    Pingback by Hot to downgrade Subversion client from 1.8 to 1.7 in MacPorts - Blogs - Permeance Technologies — 2013/09/11 @ 10:25 am

  8. How to downgrade Subversion client from 1.8 to 1.7 in MacPorts – Blogs – Permeance Technologies

    […] Philipp Haussleiter's Blog – 2013/08/01 Downgrading Subversion from 1.8 to 1.7 in MacPorts […]

    Pingback by How to downgrade Subversion client from 1.8 to 1.7 in MacPorts - Blogs - Permeance Technologies — 2013/09/11 @ 11:10 am

  9. Tim Telcik

    Hello Philipp and Co.

    I found this short blog entry very helpful after MacPorts automagically upgraded my SVN client from 1.7.x to 1.8.x.

    In addition to downgrading the SVN client, you may also need to downgrade the JavaHL bindings project from 1.8.x to 1.7.x to use Subclipse with the Eclipse IDE.

    # Downgrade SVN client from 1.8.x to 1.7.x
    % cd /tmp
    % svn co http://svn.macports.org/repository/macports/trunk/dports/devel/subversion-javahlbindings –revision 106629
    % sudo port install
    % sudo port activate subversion-javahlbindings @1.7.10

    # Confirm Active SVN Java HL Bindings
    $ sudo port installed subversion-javahlbindings | grep active
    subversion-javahlbindings @1.7.10_0 (active)

    I hope this helps the next group of readers.

    Regards,

    Tim

    Comment by Tim Telcik — 2013/09/12 @ 3:17 am

  10. Marcin Gryszko

    I just wanted to say thanks (also to johnny B)! I took me < 5 minutes to downgrade the package.

    Comment by Marcin Gryszko — 2013/09/18 @ 12:00 pm

  11. SjG

    Thanks. As a JetBrains IDE user, this was a life-saver.

    Comment by SjG — 2013/09/19 @ 12:05 am

  12. jonny B

    Glad i commented on this and have been getting the comment emails – macports just did it again (did port upgrade outdated – oops) so needed the instructions again – thanks Philipp once more!)

    Comment by jonny B — 2013/09/25 @ 12:43 pm

  13. Philipp

    I found another method, that seems to survive an “upgrade outdated”.
    You need to create your own local ports folder with the previoues verson of Portfiles.

    To do so, create a Folder with your Portfiles:

    # mkdir /Users/philipp/ports
    

    Add this Repository to your ports sources:

    # cat /opt/local/etc/macports/sources.conf
    
    file:///Users/philipp/ports
    rsync://rsync.macports.org/release/tarballs/ports.tar [default]
    
    

    Imports: Your Repository has to be first in this file.

    Create the Folder for your Port Groups (subversion => devel, serf1 => www):

    # mkdir /Users/philipp/ports/devel
    # mkdir /Users/philipp/ports/www
    

    Now checkout your SVN Revisions:

    # cd /Users/philipp/ports/devel
    # svn co http://svn.macports.org/repository/macports/trunk/dports/devel/subversion --revision 108493
    ...
    # cd /Users/philipp/ports/www
    # svn co http://svn.macports.org/repository/macports/trunk/dports/www/serf1 --revision 108607
    

    Index the Folder for Port:

    # portindex
    Creating port index in /Users/philipp/ports
    

    Install your Ports as before.
    I did then a

    # sudo port selfupdate && port upgrade outdated
    

    And got:

    # svn --version
    svn, Version 1.7.10 (r1485443)
       übersetzt Jun  3 2013, 06:49:42
    ...
    

    Comment by Philipp — 2013/09/25 @ 5:05 pm

  14. jonny B

    Wow, that’s involved (but thanks!)

    I think there should be an easier way – i found:
    port upgrade outdated and not subversion
    saves subversion from being upgraded, and
    port upgrade outdated and not serf1
    is ok for the serf1 thing, but i couldn’t make it work for both at the same time. You can leave out the upgrade command to test or course…
    port outdated and not subversion and not serf1
    port outdated and not \(serf1 or subversion\)
    and various other combinations either list one or the other or don’t seem to return (for ages)
    Any better ideas anyone?
    TIA

    Comment by jonny B — 2013/09/26 @ 11:28 am

  15. jonny B

    Sorry for the lack of formatting – how do you do those code blocks here? ;)

    Comment by jonny B — 2013/09/26 @ 11:29 am

  16. Philipp

    I guess excluding some Port Files from the update is okay if you just have some… if you have a lots of them, you either save your command somewhere or just use your own Port Folder.
    Just do a <pre> your code </pre> :-).

    Comment by Philipp — 2013/09/26 @ 11:32 am

  17. Clemens

    You can probably use the newer version of serf, too, if you force a build from source, instead of getting a binary download of the subversion package. To do that, run port -s install instead of port install (no guarantee this works, though).

    For the subversion-perlbindings package, run port install — subport=subversion-perlbindings-5.12 to get the 5.12 version of that. Installing the “subversion-perlbindings” port itself will actually only install a readme file saying this is a stub port.

    Comment by Clemens — 2013/10/01 @ 5:53 pm

  18. Clemens

    That’s port install DASH DASH subport=subversion-perlbindings-5.12. Unfortunately the blog software mangled this part into an emdash.

    Comment by Clemens — 2013/10/01 @ 5:54 pm

  19. ¿Cómo instalar una versión anterior de Subversion en OS X con MacPorts? – Protips y más

    […] Por cierto, que no me he inventado ni descubierto nada, este post está inspirado en esto y esto […]

    Pingback by ¿Cómo instalar una versión anterior de Subversion en OS X con MacPorts? - Protips y más — 2013/12/03 @ 9:11 pm

  20. How to downgrade Subversion client from 1.8 to 1.7 on Mac OS X using MacPorts – Home – Permeance

    […] Philipp Haussleiter's Blog – 2013/08/01 Downgrading Subversion from 1.8 to 1.7 in MacPorts […]

    Pingback by How to downgrade Subversion client from 1.8 to 1.7 on Mac OS X using MacPorts - Home - Permeance — 2014/05/01 @ 9:45 am

RSS feed for comments on this post. TrackBack URL

Leave a comment