1) Revision control or No? if yes, which? Yes, Subversion + Git 2) Do developers work on live files (ie. files seen by general users) or in individual sandboxes? Work in local checkouts of the files, parts of which are managed by git locally. Every Maya or tool references a server side Subversion checkout which will automatically update on commit. The server side may only be updated by the server itself, its essentially read-only. Commits are done either per changeset ( for fixes ) or per feature ( and multiple changesets ). Git allows to hold back all commits for a feature until it 'appears' to work well, whereas fixes and everything else can still be done on other branches as needed. This allows me to commit as often as I want, and once things go to subversion, I know users will get exactly what I have.
3) Do you use Unit tests? Excessively, they are part of everyday development. Feature's are developed using UnitTests and a shell. User Interfaces are tested in a stripped-off UI version of maya ( for quick startup ) as much as possible. 4) Are updates done in batch as an application release, or as needed per file? What is the update procedure? There is a 'current' checkout which is always live and for beta testers only. Everyone else points to the latest stable release. Fixes need to be merged to the respective release - git makes this very very easy. Releases are done once the whole test-suite indicates everything is still working as expected. 5) How many developers? One dedicated --~--~---------~--~----~------------~-------~--~----~ http://groups.google.com/group/python_inside_maya -~----------~----~----~----~------~----~------~--~---
