Why don't you just delete (svn rm
) branches and tags that aren't relevant now? You can still go get them out of history if you need them. They just won't show up in the list of branches/tags at HEAD.
For example there was a branch in the Subversion project's repo named log-addressing but if you look for the branch now you won't find it.
You can still find the branch and all the data. I ran a log against the branches and found where it was deleted:
svn-trunk log ^/subversion/branches --search log-address
Of which the first entry was:
r1546929 | stefan2 | 2013-12-02 00:48:57 -0800 (Mon, 02 Dec 2013) | 1 line
Remove the log-addressing branch after merging it into fsfs-improvements.
Now let's say I want to check out this old branch, if I just try to check it out like this:
svn co https://svn.apache.org/repos/asf/subversion/branches/log-addressing
I'm going to get an error saying it doesn't exist:
svn: E170000: URL 'https://svn.apache.org/repos/asf/subversion/branches/log-addressing' doesn't exist
However, I know it existed until revision 1546929 so if I checkout the revision using peg revision of 1546928 (one less) I'll get the state it was in when it was deleted. I can do that just like this:
svn co https://svn.apache.org/repos/asf/subversion/branches/log-addressing@1546928
Now let's say you decide you need that branch back. You can recover it from history by using the same syntax to specify the peg rev as your source for the copy command.
Some useful further reading might be the following sections in the SVN Book: