Subversion and TechDemo.cmap

Get help with installing and running the Cafu Engine here. This forum is also for general questions and discussion of all aspects regarding the Cafu Engine.
Post Reply
User avatar
Carsten
Site Admin
Posts: 2160
Joined: 2004-08-19, 13:46
Location: Germany
Contact:

Subversion and TechDemo.cmap

Post by Carsten » 2005-12-08, 11:58

The problem

After several discussions (mostly Thrawn and me), it seems desireable that all TechDemo-Dev team members are able to edit the TechDemo.cmap file. Ideally, everybody should be able to edit the map independently and at all times.

Doing so however is non-trivial, because the person who wants to edit the map must first get the latest version, edit it, hope that nobody else edited it at the same time, and then distribute to all others.
These issues involve technical problems for everybody (e.g. website up- and downloads of the current file, or email distribution etc.), but note that the biggest problem is in fact the communication problem.

Subversion is an excellent tool that solves these very problems.


Subversion

Why it is worthwhile to learn Subversion:
Those who are not (yet) familiar with Subversion might complain that they have to learn yet another, seemingly "complicated" tool.
However, note that you spend your time for learning a professional-grade version management software. Not only does it solve the problems that are involved with sharing the TechDemo.cmap, it also does so far more efficiently than any other hand-made solution we might come up with. Subversion even helps with quality communication among us, by forcing everybody to write log messages for the changes we make, and optionally takes log messages when somebody locks a file for editing, and many other great features.

Details about Subversion:
The Subversion website is at http://subversion.tigris.org/
The Subversion book is at http://svnbook.red-bean.com/
:idea: The latest edition of the book (contains chapter about Locking) is at http://svnbook.red-bean.com/nightly/en/index.html :arrowl:

Here is what I'd recommend for learning Subversion:
  • Read the chapters 1, 2 and 3 of the book. They are well written and easy to understand.
  • Read and understand section "Locking" of chapter 7. Locking is required because we have to consider cmap files as not being mergeable. Although cmap files are Ascii text files like C++ source code files, for versioning purposes we have to consider them as non-mergeable files such as jpegs, pngs, mp3s, etc. (This is because they are machine-generated by CaWE, rather than hand-edited by humans.)
  • Get and install the command-line client "svn" of Subversion. It's easy to use, and helps you to understand what's going on. All examples in the book refer to the command line client anyway.
  • Please ask. ;) Whenever something is unclear, please ask.
In any case, please make sure that your Subversion client (svn, TortoiseSVN, ...) is at the latest version (1.2.x). Only the 1.2.x series deals properly with the new Locking feature.

Accessing the Subversion server:
The URL to the server is: ca3dedev.dyndns.org
The repository (project) name is: Projects_public
Server availability: workdays during local daylight hours, that is, about from 7:00am to 7:45pm (7:00 to 19:45) local German time.
Username and password: You get them from me either via Private Forum Message or per Email.

Thus, according to chapter 3 of the SubVersion book, you can simply check out with the command

svn checkout svn://ca3dedev.dyndns.org/Projects_public your/desired/path

where "svn:" specifies that you access the svn server with subversions own protocol (as opposed to http, this is how I set it up), then comes the server URL plus the directory of the repository, and "your/desired/path" is the location on your harddrive whereever you want to check it out.
You may also omit the "your/desired/path" part, then svn will create a new folder with name "Projects_public" and check everything out into that folder.

Questions :?:
Please post! I'll be happy to help you.
Last edited by Carsten on 2006-02-07, 22:20, edited 1 time in total.
Best regards,
Carsten
User avatar
Carsten
Site Admin
Posts: 2160
Joined: 2004-08-19, 13:46
Location: Germany
Contact:

Post by Carsten » 2005-12-08, 13:55

TechDemo.cmap - suggested work-flow:
Once you have managed to check-out the repository, you'll have two distinct directories on your harddisk:
  • the Ca3DE SDK directory [1] with all the exe files and textures, and
  • the newly checked-out Projects_Public directory that is under svn revision control and has the TechDemo.cmap file.
I would recommend to stay with the Ca3DE SDK directory as the normal working directory, and consider the repository directory only as the place where the TechDemo.cmap is loaded from and saved to in CaWE.

That means that you setup CaWE as if the checked-out repository didn't exist (the MOD directory in the big "Configure CaWE" dialog is the one in the SDK). Thus, if you've worked with CaWE before, normally no changes are required. You just load/save the TechDemo.cmap to/from the repository directory.

For editing the TechDemo.cmap with CaWE, just load it from the repository directory. However, remember to lock the file properly before you begin, or else CaWE will not allow you to save the file! See "Locking" in chapter 7 of the Subversion book for details, http://svnbook.red-bean.com/nightly/en/ ... cking.html (Yes, I have set the svn:needs-lock property on the TechDemo.cmap file. ;) )
When done, save the file and when fully done, please remember to release the lock. It is no problem at all if you keep a lock for several hours or even several days or over night or over a weekend or so, but please remember to release it when you have made your last change for the current session.

For compiling the TechDemo.cmap with CaBSP and for running it in the engine, just copy (don't move!) the file from the repository into the SDK directory (....\Games\DeathMatch\Maps\), and then run CaBSP from there.

______________________________________________
[1] I'll summarize the installation of the latest Ca3DE SDK in a separate thread soon. [ Done: http://www.ca3d-engine.de/phpBB2/viewtopic.php?t=198 ]
Last edited by Carsten on 2005-12-15, 16:23, edited 1 time in total.
Best regards,
Carsten
scott
Posts: 173
Joined: 2004-08-23, 09:11

Post by scott » 2005-12-10, 06:47

Hey Carsten could you upload Subversion to your webspace so I can download it, For some odd reason I cant access the subversion website. All I could get was the manual.
User avatar
Carsten
Site Admin
Posts: 2160
Joined: 2004-08-19, 13:46
Location: Germany
Contact:

Post by Carsten » 2005-12-10, 13:04

Scott, could you please re-try http://subversion.tigris.org/ ?
It's most likely a temorary problem which is better solved at its root rather than by me mirroring their stuff. ;)
If it still doesn't work on say Monday evening, I'll upload the Win32 svn client.
Best regards,
Carsten
scott
Posts: 173
Joined: 2004-08-23, 09:11

Post by scott » 2005-12-11, 05:06

Finally after 3 days of trying I finally got it!!
Post Reply

Who is online

Users browsing this forum: No registered users and 2 guests