2
votes

I work on a (work) project that's scattered across a myriad of (source) projects and SVN locations. To make life easier, I followed a colleague's advice and set up a new folder on SVN, /_all/, and specified all of the other projects' trunk folders as externals: TortoiseSVN: externals definitions

When I check /_all out, it dutifully pulls out all external projects. It works great.

But in my SVN Repo Browser, I can only see one of all those externals being linked in. It also seems to have the wrong overlay icon (blue instead of red arrow: http://tortoisesvn.net/docs/nightly/TortoiseSVN_en/tsvn-dug-repobrowser.html ) Incidentally, it's the one project where there is no trunk/ subfolder... TortoiseSVN: repo browser only showing one linked-in external project - with blue instead of red overlay arrow icon

On top of that, TortoiseSVN seems to be unsure what to make of it all; only the one external project displayed in the Repository Browser above is recognized as "up to date" (green tick), all others get a big question mark assigned…
TortoiseSVN: local overlay icons show external projects as unversioned

Any ideas where I'm going wrong and what I need to do to...

  • make all external projects show up as sub-folders (i.e. linked-in projects) on SVN?
  • make TortoiseSVN locally recognize these projects as up to date?

I'd appreciate any tips to help sort this out. :)

1
Following advice from a colleague, I just specified a folder (instead of a path) as "local path" when setting up externals, and that worked as expected. I therefore emailed the TortoiseSVN users list to see if I might have found a bug...Christian

1 Answers

1
votes

Turns out that it is actually a bug and that there is a workaround, as Stefan Küng points out:

But regardless of that, are you saying that if I create the following folders and commit them to the ^/_all/ folder, and then add the respective externals to them (instead of to the _all/ folder directly), it would work?

Create this folder in SVN... | ...and attach this one as an external

^/_all/project1/trunk | ^/project1/trunk
^/_all/groupA/subgroup1/project2/trunk | ^/groupA/subgroup1/project2/trunk
^/_all/project3 | ^/project3

Not quite:

^/_all/project1 | ^/project1/trunk
^/_all/groupA/subgroup1/project2 | ^/groupA/subgroup1/project2/trunk
^/_all/ | ^/project3