SVN tree not updating
Ryan Schmidt
ryandesign at macports.org
Fri Mar 9 22:56:32 PST 2012
On Mar 10, 2012, at 00:35, Aljaž Srebrnič wrote:
> Hey! I'm Aljaž, the noob ;)
> it looks like I'm having some difficulties setting up the svn tree, I decided to check out the entire trunk, so i created /opt/local/var/macports/sources/svn.macports.org/ and checked out trunk in /opt/local/var/macports/sources/svn.macports.org/trunk.
>
> Now i have Makefile,base,doc,doc-new,dports,www under the trunk directory.
> If I run svn up in /opt/local/var/macports/sources/svn.macports.org/trunk/dports, it refreshes correctly from svn.
>
> I've modified /opt/local/etc/macports/sources.conf, adding
> file:///opt/local/var/macports/sources/svn.macports.org/trunk/dports/ [default]
> and commenting away the rsync://
>
> I've run port selfupdate multiple times. However, it won't update the dports tree. if I run port -d sync, i get the following output:
> $ port -d sync
> DEBUG: Synchronizing ports tree(s)
> Synchronizing local ports tree from file:///opt/local/var/macports/sources/svn.macports.org/trunk/dports/
> Creating port index in /opt/local/var/macports/sources/svn.macports.org/trunk/dports
>
> Total number of ports parsed: 0
> Ports successfully parsed: 0
> Ports failed: 0
>
> So, where did I do wrong?
MacPorts has not yet been updated to properly handle subdirectories of Subversion 1.7+ working copies. In Subversion 1.6.x and earlier, every directory in a working copy contained a directory called ".svn" where Subversion stored metadata. Before allowing a directory to be used as a sync directory, MacPorts checks whether the directory contains a ".svn" directory:
https://trac.macports.org/browser/trunk/base/src/macports1.0/macports.tcl?rev=90368#L2190
As of Subversion 1.7, only the root directory of the working copy contains a ".svn" directory, and since trunk is the root of your working copy, but you're pointing MacPorts at the dports subdirectory of that, it won't work.
I myself have not yet upgraded to Subversion 1.7 so I have not run into this yet. But you should be able to work around it by checking out a separate working copy of dports and pointing your sources.conf at that. It doesn't have to be in /opt/local/var/macports/sources if you don't want it to; personally, I have mine in $HOME/macports/dports.
More information about the macports-dev
mailing list