We are planning to develop a ASP.NET Web API project starting soon. For source control we use svn. We typically follow the pattern of the trunk being stable and doing all of our work in the branches.
Most of the time we are lucky that one developer is working on the project. For this Web API project there are at least two, possibly three developers working on different parts. By this I mean that one may be working on a set of controllers for working with document models while the other developer is working on a controller or controllers for user authentication and maintenance.
Seeing that these two should not have overlapping work what are advantages/disadvantages to both developers working on a single branch with daily "updates to latest version" to keep both working copies consistent versus each developer working on an individual branch and merging the two branches back into the trunk when they are complete?
It seems to me that a single branch would be better in that the daily updates will keep each developer up on what the other is doing and this can possibly help share code. My main concern is with performing trial and error coding. What happens when some code is committed that really probably should not be pulled down by the other developer? Should that even be a concern?
Another thought I had was that with each developer having their own branch if either developer has code that the other can use that is stable enough we merge that back to the trunk. Then the developers would update daily from the trunk instead.
Finally I had a thought that maybe we create one branch for this "feature set" and then each developer branch from that branch. They would then push stable features back to the main branch and update daily from the main branch. This would keep the trunk clean and stable until the feature set is released.
Those are my thoughts and sorry for the long question. I really want to start this project right and any guidance would be greatly appreciated.