I frequently have svn-based projects that include third-party components such as the TinyMCE (in-browser WYSIWYG) editor. This includes dozens of folders with possibly hundreds of files.
Ideally, when I want to update TinyMCE to the newest release, I’d like to be able to copy the top-level TinyMCE folder into my working copy, commit the changes and away I go.
Obviously, this won’t work because by copying over the top I’d be wiping out all the existing .svn folders nested through the working copy.
Updating all the files by hand would take hours.
Is there a good way to manage this with svn?
Alternatively, are there any tools (on linux or OS X) that would help me perform the ‘manual’ copy more easily?
I didn’t understand “Obviously, this won’t work because by copying over the top I’d be wiping out all the existing .svn folders nested through the working copy.”. Which OS are you using?
I use a Linux Web Server for my SVN Server and a Windows machine for work. There’s not such thing as “wipping out” .svn folders: you just copy the files to the the checked out directory, and since they are changed, I just commit them using TortoiseSVN.
This is not the “best way” of keeping your structure. But it works.
Disk space is usually not a concern, so you can usually create a repository of third party applications, so you don’t depend on internet access to just build/deploy your application.
And them, use the svn:externals property, like pointed out by BrianLy.
You can just point out to the external resource on the internet. But remember that the disadvantage is that the resource can be offline and you need internet access.