
Hello Bob,
First of all thank you for your time and response to the question.
I totally agree that we should be using branches to create variants and tags to mark milestones including production releases and then svn copy the tagged release to a new branch when need to create a bugfix. Trunk should always be your latest and greatest development effort.
The branching model that we use is branch by release. So for every release we create a new branch ( except first release which happens through trunk). The branch gets created either from the latest work in progress branch or trunk whichever is latest in point of time.
Developers try to delete the trunk after code goes to production mainly to avoid the branch to trunk merge activity which creates lot of conflicts and need attention at file level which sometimes cause unexpected merges etc. Also they feel that if they merge branch that was released to production in trunk, they can not assure that the code is not changes due to merging which is true sometimes based on what point merging is happening.
Also they try to avoid creating tags because trunk represents the production code. The understanding is historical branches if named properly can be reverted any time if required.
So basically at this point i am looking for a way or example to justify that deleting trunk is not good practice.
Any thoughts would be appreciated.
Thanks,
Ajay