Original Post
We are going to be changing the entire way we develop software at Gamedev.net from here on. Right now we're organizing the processes by which that will be done. Because multiple people will be working on various projects we'll need to do things a bit differently than we have been.. but several problems exist we must concern ourselves with. First, unlike a traditional source project we do not have the ability to compile and run code on our local machines.. at least not in the same capacity (you would need at least XP professional and SQL Server 2000). So here is what I'm thinking: #1. We have a production server.. this production server should *not* be used for testing purposes and should only be used for production-level code. #2. We cannot all work on the same codebase and perform experimental development work. Because of this we will need to maintain, for every developer, two complete copies of the source. The first copy will exist on their harddrive for modification, and the second will exist on the server. The copy on the server will be web-accessible and will be purely used for development purposes by a single developer. Proposed sandbox urls: http://dev-apollo.gamedev.net http://dev-mars.gamedev.net http://dev-minerva.gamedev.net http://dev-vulcan.gamedev.net http://dev-mercury.gamedev.net http://dev-janus.gamedev.net FTP will be available on a per-developer basis to each specific sandbox account. One issue, however, is how these accounts get updated with the latest source from time to time without screwing up work in progress from a particular developer. #3. We utilize subversion to store a production branch, staging and developmental branch (which can all change from time to time). When a developer is satisfied with their sandbox developments, they may commit code to the developmental branch. During times when we are nearing release, they may commit to the staging branch. The staging branch could represent pre-production code. This code will be bug-fixed until it meets quality requirements for production level code. The staging server (pre-production) can be http://gdnsrv01.gamedev.net/ When the staging branch is ready, it will be merged into the production branch. The production branch will then be published to http://www.gamedev.net/ Please make comments on this process.. the feasibility, etc. I have not used subversion for any real projects yet so advice would be recommended on how this process can be improved. --- Michael Tanczos