SVN, or CVS, has been rumored for a while now that when we migrate to new hosting, it will be set up. I have no idea if that is true or not (it certainly was an aim initially when we set up hosting), but for the time being, I think we can set up a plan for implementation, and explain what it is. When we finally transfer to new hosting, we'll find out if we'll have SVN for the modders (I'd sure hope so).
First, I suggest you all read the Wikipedia entries for SVN (Subversion), and CVS in general (Concurrent Versioning System). It will sound confusing, but read through them.
http://en.wikipedia.org/wiki/Svn
http://en.wikipedia.org/wiki/Concurrent_Versions_System
Quickly, what it does:
Keeps a record of changed files
Records all file changes
Allows all users to synchronize files with the server, making sure they are all using the same version
Provides a repository for files
Obviously, SVN (and CVS before that) was developed with software development in mind; allowing any number of people, over any distance, to keep track of what other team members are doing, and it also provides versioning control and fallbacks (meaning if a new change crashes the application, you can revert to an older version).
So how does this apply to game modding, as opposed to game development?
Imagine you have an FTP, basically, some server space where you can put files. You can organize this any number of ways; each developer can have their own folder, you can just throw all your crap into one folder, you can keep a replica of a RTW/Data folder, and, on top of all that, you can TRY and keep a change-log of all files that were uploaded, when, and by whom.
Sounds like hell, or what you are currently doing (or do you not even have storage space and are just uploading files to free servers and sending them over MSN!?)? Well, that's why we have SVN.
What you can do is, essentially, set up a skeleton (or entire, depending on your storage) Data folder on your Hard Disk. You download an SVN client (probably Tortoise), and specify the settings and whatnot for your SVN server, and it will upload whatever is in your project folder you specify onto the SVN server (essentially creating a mirror of whatever folder you specify). Whenever someone changes a file, or adds a file, it will record who, what, and when. This applies to text files, database files, textures, models, anything. Then, to get the changes, you just tell your SVN client to download any new files. When you are ready to commit changes you've made, you just press a button and it uploads any new files. Powerful, eh?
It takes much of the legwork out of organizing a mod team, especially in regard to file control and updates, which can be a real *****. SVN has become a staple of software development, especially amongst online groups.
So, what I would like to discuss:
1. Are there any here with more experience with SVN that can give some more details? I don't use it myself, but the programmers on my development team do.
2. What is the best way to structure the SVN? I've given but one example, by having a Data folder, basically, as the project. What about art development? Can we figure out a way to version in-progress PSD and .MAX files, instead of just having the finished .texture and .model files in the Data folder? Or is there a wiser way to structure the project folder entirely?
3. Etiquette. Experience with SVN will come in handy here; what are the do's and don'ts? Obviously, only commit files that you are sure work (this goes for artists as well, unfortunately). Also, make sure to comment your commits appropriately.
4. Coordination. How will SVN accounts be handled? How will commit legs/messages be handled (an email forwarding account?). For my SVN, I have all logs sent to whatever@bloodandirongame.com. From there, I forward the logs to whoever needs them (all programmers), myself (the team leader), and an email repository (permanent logs of all commits).
5. Size. What are your current bandwidth and storage space needs, if you own an FTP already? What size is your data folder? How many people are on your team that would need constant SVN access? I do not mod M2TW (actually its still on reserve at Gamestop), but how much larger are the files in general, and the files in total, than RTW?
Anyway, even though SVN isn't a reality yet, I think discussing, getting input from the modders about what they want and would like to see, and planning a bit, would not hurt.