How to setup the ideal collaboration repository setup?

早过忘川 提交于 2019-12-20 06:08:50

问题


I'm currently using subversion and tourtiseSVN.

I am looking to revamp the way my web development team works. We work on inhouse developments for inhouse websites. We don't outsource. We would like to increase the number of team members working on an individual development on a particular product. At the moment, our setup only allows 1 member to work on a development at any one time. This is because we lack a 'staging' area before commiting to the source repository which eventually is added to production.

I have included a diagram below to demonstrate what I would like to achieve. First, some desciptions:

Dev Env X - This is where each invidual team member works. Its a complete copy of the repository which code which has yet to be commited to staging or production. You will notice we have some special ones which are for bug fixes which commit strait to production. This is nessary as there is no need for staging.

Development X - These are staging areas for a particular area. I would like to be able to allow more than 1 development to work on the same developemtn (ie: a new gallery module). I believe this model would allow 2 members to work on the same developement and files, the commit and test at a staging area. This will then be commited to the production repository when all is completed by the 2 team members

Production - this is the repository of the code that is used for the live produce.

This is for a web development team. I am asking if anyone can give tips on how to set this up, if subversion is the best or if there is a better repostitory out there (must allow self hosting on linux and have a way for windows machines to interface with it like toirtoiseSVN does). All development is done on a linux box which is accessed over a network by windows machines.


回答1:


Use branches. "Development A", "Production" and "Development B" are particular branches. People that collaborate work on the same branch. Development branches that are ready get merged into the production branch.

The above should work regardless of the VCS you decide to use as long as branches are supported.

My suggestion is to move away from SVN, because handling branches with SVN is such a pain. My preference goes to git. If you switch to git, you will want to use branches for everything, because they are so useful and painless.



来源:https://stackoverflow.com/questions/8994392/how-to-setup-the-ideal-collaboration-repository-setup

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!