We are currently using SVN without Trunk/Branches/Tags structure. So far we were good with it but now, we have reached a level where we need some kind of system which can handle 3 different level of versions for 3 different servers.

Currently this is what we have been doing:

All the files in a single repository, once the work is done, data is committed to our development server, after it being tested, it's moved to staging server and after another round of testing, it's moved to the live server.

But in above process, there is very less room for us to work on the new feature and fix the minor issues simultaneously. So, to fix this, I thought, we can use Trunk/Branches/Tags structure where the latest development version can be stored in Trunk and deployed on our Development Server.

Tags can have the versions (e.g. 1.0.1,1.0.2 etc..) for the staging server and Branches will have the latest versions (e.g. 1.0,1.1 etc..) for the Live server.

Now, the problem is, currently all the development is done on the local server and I am not sure how I will get this structure working on a single server where all the developers will work in a single root folder.

Or should we make 3 separate root folders (Development, Staging & Live)?

Any kind of suggestions are welcome.