9

Is there a way to update a working copy to exclude externals with TortoiseSVN?

I have a working copy that I checked out with externals. I'm doing some updates to my include paths and now have these external files in a different project. I want to update my current working copy up to exclude externals -- essentially deleting the externals from my local copy.

Due to a mountain of changes in my working copy, simply deleting and re-checking out, omitting externals, isn't an efficient option.

I'm using Tortoise SVN 1.7.2, using 1.7.x format.

EDIT: Okay, looks like what I'm looking for is not possible. Seems 'SVN Update' will always updates with externals, even if the repository is checked out with 'Omit Externals' (--ignore-externals).

EDIT 2: Alright, found a solution. Doesn't appear to be a way to tag it by each repository. But globally: 'TortoiseSVN' => 'Settings' => 'Advanced' set 'IncludeExternals' to false. That will stop 'SVN Update' from updating externals. Looks like to force external update, I'll need to go to 'Update to Revision...' This is doable, since that's the less likely situation. (I have 5 check outs, and only 1 requires the externals, and only when the prop is update. 2 need them only once on check out)

Marco Sulla
  • 15,299
  • 14
  • 65
  • 100
guice
  • 976
  • 4
  • 11
  • 31

3 Answers3

6

svn up --ignore-externals should do the job, you can delete the external folders manually then

zuloo
  • 1,310
  • 1
  • 8
  • 12
  • ... nm. It would appear this isn't possible. Just did a test. I'm trying to tag my repository to ignore externals so when I update it wouldn't update externals. Turns out: svn co --ignore-externals will ignore externals for that *one* instance. As soon as I do an update ... it updates externals.. I thought it would ignore externals for all subsequent updates, too. – guice Dec 20 '11 at 18:07
  • 2
    No, you will have to add that every time. There is no such option to be set in the config or elsewhere. On unix-like systems I would suggest to create an alias including that option or to overwrite the svn command with a bash procedure which sets the option by default. On windows you would have to create a bash script that passes the parameters to a svn command that includes --ignore-externals. that way you can just update it by doubleclicking that bashfile. – zuloo Dec 21 '11 at 09:33
  • Turns out TortiseSVN has an option within the advanced options to set this flag all the time. See my edit above. – guice Dec 21 '11 at 14:31
4

In TortoiseSVN, you can update without using externals by choosing "Update to revision..." and checking the "omit externals" checkbox.

pgl
  • 7,551
  • 2
  • 23
  • 31
  • Nope, didn't work. 'Update to revision' Had 'HEAD' selected, selected 'Omit Externals'. Successfully updates, without externals. Then I did 'SVN Update' and it updated with externals.... – guice Dec 20 '11 at 18:06
0

I realize that this is an extremely late response and probably OBE, however, the solution to your issue if I'm understanding it correctly was to just update your externals list.

Essentially, you had a bunch of externals that were moved to a different project and you wanted to update your working copy to not include these correct?

All you have to do is right click on your checked out directory (or just anywhere in the white space in Windows explorer if you're inside the folder), go to Tortoise SVN > Properties. Edit the property that includes your externals and remove/add whatever directories you need. Then do an update on your directory. It will no longer include the directories that were included.

Chris
  • 2,254
  • 8
  • 22