2

I'm working on a project which uses a tool developed in-house. It's convenient to have that tool's source code available while working on my project, so I ran

svn propset svn:externals -F svn.externals .

where the svn.externals file contained:

SourceOfToolForReference http://intranet/svn/tool/

in a folder dedicated to my personal notes about the tool.

Unfortunately, this causes lots of information about tool (and the multitudinous externals defined by it, externals defined in its branches and tags, externals defined in the externals defined in each of its branches and tags, and so on and so forth) to be included in svn status and svn update reports. Doing some more reading, I tried to set a revision number for the reference code. It would be nice to have the code be current, but removing the 293 lines that svn update spits out and the 138 lines that svn status spits out was a higher priority, and I would be well-enough served by periodically modifying the revision number. I therefore modified svn.externals to read:

SourceOfProjForReference -r40000 http://intranet/svn/proj/

in hopes that it would subsequently ignore the contents of this folder, but this didn't appear to help.

It would take away about 50% of the lines if I were able to remove the branches in SourceOfToolForReference/Software/branches/.

Using the --ignore-externals flag does solve the problem, but I'd like to not have to type this every time I run a status or property check. (OK, I could use an alias, but then anyone else who wanted to work on my project would need the same alias, and a lot of them use TortiseSVN which requires some additional clicks to get this flag set. I could export all 1.1GB of code in tool, and then import that to my project, but that seems like a huge waste of space. I could try to set the revision flag recursively, but I don't want to make changes to tool if this is the only reason.

How can I make Subversion ignore externals for future updates and status reports?

Edit: Giving this a bump...if no one answers in the next 24 hours, I'm just going to have to put the reference code in a different checkout directory. Not all bad, but this is just the kind of thing that I imagined externals would be great at.

Aziz Shaikh
  • 16,245
  • 11
  • 62
  • 79
Kevin Vermeer
  • 2,736
  • 2
  • 27
  • 38
  • 2
    Can you set the svn:external's URL to http://intranet/svn/proj/Software/trunk? – jgifford25 Jan 12 '11 at 15:59
  • @jgifford - Sure, I could, but then I'd have to do that for intranet/svn/proj/*a bunch of other directories*/trunk as well. And, that still leaves about 70 lines of 'Performing status on external item at ..' and 140 lines of 'Fetching external item into ...\nExternal at revision 12889.' – Kevin Vermeer Jan 12 '11 at 18:34
  • 2
    At least you are only getting one version of the project's tree instead of the trunk and every tag and branch that has ever been created. I realize that doesn't solve the whole problem, but at least starts narrowing it down. – jgifford25 Jan 12 '11 at 19:36
  • 1
    Seems like the repository layout is not supporting what you want to do. You have a multi-repository layout, but want to have an svn:external reference to all of them. So there will be no easy answer. – mliebelt Oct 03 '11 at 10:33

0 Answers0