Downgrading Subversion from 1.8 to 1.7 in MacPorts

bash-3.2# cd /tmp
bash-3.2# svn co --revision 108493
A    subversion/files
A    subversion/files/
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
--->  Attempting to fetch subversion-1.7.10_1.darwin_12.x86_64.tbz2.rmd160 from
--->  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 Replies to “Downgrading Subversion from 1.8 to 1.7 in MacPorts”

  1. 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…

  2. 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 –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) …

  3. 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?

  4. 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 –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.



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

  6. 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!)

  7. 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
    rsync:// [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 --revision 108493
    # cd /Users/philipp/ports/www
    # svn co --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
  8. 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?

  9. 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> :-).

  10. 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.

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

Leave a Reply