The answer depends a bit on your goals. A lot of Subversion tools break or need to be told when there is no trunk
folder. It's not set in stone but it's a common convention like what you have with VSS that everyone creates new branches all the time.
In Subversion, you don't create a new folder to work in. Instead, you always work in trunk/
. Everyone does. No locking of files. Period.
When a new version is ready, you "copy" trunk
into branch/0.76
. So the workflow is exactly the other way around: You always work in a single folder (and you never revoke rights) and that folder is called trunk/
.
Customers and consumers always get the latest version from branches/
which only contains stable versions.
Now this can cause all kinds of problems. If you want to keep your workflow, my suggestion is this: Create another top level folder, say users/
. Every developer gets their own folder inside of that. So that would give us users/asma/
and users/digulla
.
We both work on our folders independently. When merging, we decide who does it. Let's say you get to do it. Then I will tell you the revision of my "developer branch" that is stable.
You then check out trunk somewhere, merge your changes into trunk. When you're done, you then merge my changes into trunk
as well. This version goes into testing. As we fix bugs, we do those in our work branches. They are then merged into trunk
.
When trunk
is ready to be released, a copy is made in branches/
which assigns it a new version.
That said, you may want to skip Subversion and move directly to a DVCS like Mercurial or Git. They make merging and branching almost painless, especially compared to VSS or SVN.