Yes, you can. Make a backup of your repository before this operation.
Create the trunk
and branch
folders, move the project from the root folder to the trunk
folder using the rename
operation. This will keep track of file changes.
When you need a branch, use the branch/tag
operation to create it in a subfolder of the branch
folder. So when you look at a file's change history in this branch, you'll also see the changes made to the branch itself (not because of the folder hierarchy but simply because you used the branch/tag
operation).
I recommend using Tortoise's "explorer" or "navigator" to create the folders and rename them. It's easier and less error-prone than doing it locally and then committing.
Combine with your team so that no one has any pending commits before the operation - this also reduces the chances of facing problems.
I do not see the need for the tag
folder. At least the Subversion versions I used do not have a special feature of tag
; tag and branch, at least in these versions of Subversion, are the same thing.