views:

1235

answers:

2

How can I get a list of all svn:externals (recursively) in a directory? Is there any utility for this?

(I'm using Windows (and tortoise))

I have a bunch of svn:externals linking to different shared parts of my project and I when I branch it's usually quite error prone to find all externals and changed them so that the link to paths within the new branch.

+3  A: 

Manually changing all of those external properties sounds tedious. Have you looked at the new functionality for externals added in Subversion 1.5?

Subversion 1.5 takes a huge step in relieving these frustrations. As mentioned earlier, the URLs used in the new externals definition format can be relative, and Subversion provides syntax magic for specifying multiple flavors of URL relativity.

../

    Relative to the URL of the directory on which the svn:externals property is set

^/

    Relative to the root of the repository in which the svn:externals property is versioned

//

    Relative to the scheme of the URL of the directory on which the svn:externals property is set

/

    Relative to the root URL of the server on which the svn:externals property is versioned

Maybe one of those would help? I guess it depends on exactly how you are branching and what your repository structure looks like.

Sebastian Celis
+7  A: 

Do the following in the root of your working copy:

svn propget svn:externals -R
Wim Coenen
that just gives me a list of all the externals and where they point.. but not the 'location' of the external..ie if i have lib\my_ex as an externali only getmy_ex http:/svnlinkhere
ShoeLace
@ShoeLace: you must be working with an older SVN because in 1.6.1 the output *does* contain this information.
Wim Coenen
Good answer... but how can I do this in windows with TortoiseSVN? -- I don't have an 'svn.exe' on my computer, but I do have TortoiseSVN installed.
Eddified
@Eddified: there isn't really a command to do this with Tortoise, but I believe all externals are shown in the progress dialog at the end of an update.
Wim Coenen