Question

I have a huge repository where I want to add/remove a folder. I haven't checked out anything yet. There is any way to do it fast?

Was it helpful?

Solution

Yes. You can use e.g. TortoiseSVN client for that.

OTHER TIPS

If you have the svn command line client then check out the commands svn mkdir and svn delete.

Full documentation is available by typing

svn help mkdir

and

svn help delete

svn delete can operate either on a working copy or on a URL. When you specify a URL, the operation causes an instant commit - so be careful.

If you want to delete multiple, disjoint directories in a single commit, you can use the --depth argument to svn checkout to make a shallow (and therefore fast) checkout, on which you can operate locally and then commit.

Of course, this answer assumes that you only want to delete the file from the HEAD of the URL in question - if you want to completely erase a file/folder from the repository, you have more work to do.

(edit to add information about adding follows)

To add directories, you have to have a working copy. But it doesn't have to be a complete working copy: you can use --depth, as mentioned above, to only check out the directory to which you want to add your new directory, then svn add the new directory, then commit.

If the directory you're adding exists elsewhere in the repository, you could copy it with history using svn copy from one URL to another.

If you're using Tortoise SVN, on Windows, this is easy. You can just do "View Repository" and add the folder on the server, all through the GUI.

  1. svn mkdir to create directory on svn repository eg : svn mkdir http://svn.xxx.com/repo/new_project
  2. svn import to upload local directory to svn repository eg : svn import ./new_project http://svn.xxx.com/repo/new_project
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top