SVN: Update working copy to exclude externals with TortoiseSVN?
Asked Answered
S

3

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)

Spam answered 20/12, 2011 at 16:8 Comment(0)
B
6

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

Blais answered 20/12, 2011 at 16:11 Comment(3)
... 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.Spam
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.Blais
Turns out TortiseSVN has an option within the advanced options to set this flag all the time. See my edit above.Spam
C
4

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

Centavo answered 20/12, 2011 at 16:12 Comment(1)
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....Spam
D
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.

Diphtheria answered 26/7, 2016 at 4:46 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.