I realize there are similar questions on this topic, but I still cannot find the answer for my specific case. I have a project that I inherited from another team's repo. We did an "svn switch --relocate" to redirect our checked out copies to our server, instead of theirs. But, they still have an svn:externals for a subdirectory and it still points to one of their other repositories.
How do I properly remove the external and replace it with a local version of that directory? I tried just deleting the external directory and replacing it with local copy and checking it in, but when 'svn up' at the project root, it complains that that directory is "locked". What am I doing wrong?
Oh, and I don't have a lot of gui tools for this installed. I am just doing it on the command line. Thanks!
What are externals definitions? Externals definitions map a local directory to the URL of a versioned resource. The svn:externals property can be set on any versioned directory and its value is a multi-line table of subdirectories and absolute repository URLs.
Right click the any folder and choose TortoiseSVN -> Repo Browser. Then point to your local repository in the URL field. Once open you could be able to browse the repo, and with a right click, delete the folder.
Use TortoiseSVN → Delete to remove files or folders from Subversion. When you TortoiseSVN → Delete a file or folder, it is removed from your working copy immediately as well as being marked for deletion in the repository on next commit.
If you need to see all svn:externals in a directory structure, this is your huckleberry: svn propget -R svn:externals . Logging this here for my own future reference.
In the root of your working copy:
svn propedit svn:externals .
You should see a file in your editor of choice that has lines like this:
path/to/extenal http://url/of/repo
If you remove that line, then run a commit/update, it should remove the external definition from that path, and unlock the path.
You may need to run a svn cleanup
if it complains.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With