Jump to Main Content

CVS FAQ

CVS Crossfire Repository FAQ

  • What is CVS?
    CVS is a really convenient way to coordinate the contributions of many programmers.
  • How do I get CVS access?
    As found at: http://sourceforge.net/cvs/?group_id=13833

    Anonymous CVS Access

    This project's SourceForge CVS repository can be checked out through anonymous (pserver) CVS with the following instruction set. The module you wish to check out must be specified as the modulename. When prompted for a password for anonymous, simply press the Enter key.

    cvs -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/crossfire login

    cvs -z3 -d:pserver:anonymous@crossfire.cvs.sourceforge.net:/cvsroot/crossfire co modulename

    Updates from within the module's directory do not need the -d parameter.

    Developer CVS Access via SSH

    Only project developers can access the CVS tree via this method. SSH1 must be installed on your client machine. Substitute modulename and developername with the proper values. Enter your site password when prompted.

    export CVS_RSH=ssh

    cvs -z3 -d:ext:developername@cvs.sourceforge.net:/cvsroot/crossfire co modulename

  • Who should get CVS access?
    EVERYONE who is actively involved in coding, or map making should get CVS access.
  • What are the requirements of getting developer CVS access?
    What Mark Wedel, the head maintainer, seems to like in those with developer CVS access are:
    1) A history of contributing to crossfire
    2) demonstrated coding competence
    3) willingness to build consensus before implementing changes
  • What if I don´t meet the CVS requirements?
    If you don't satisfy 1) or 2), what you can do is get a current snapshot, implement your changes/fixes, and send patches via email to Mark (mwedel@sonic.net) or the crossfire-devel mailinglist.
  • What if I do meet the requirements for CVS access?
    If you're all of 1) 2) and 3), then do this: contact Mark (mwedel@sonic.net) so he can add you to the developers list at Sourceforge.
  • Is there anything I need to install for CVS access?
    For security reasons, use ssh. If you need to compile/install ssh: you can get ssh at:

    ftp://ftp.gw.com/pub/unix/ssh/ssh-1.2.26.tar.gz

    You'll also need CVS, which you can get at:

    http://www.cyclic.com/cvs/unix.html
  • How do I access CVS?
    As found at: http://mailman.metalforge.org/mailman/listinfo/crossfire/2001-February/001297.html

    If you do not have any changes in your checked out tree, the easiest thing to do is just do a new checkout.
    See http://sourceforge.net/cvs/?group_id=13833 for information on setup.

    If you want to reparent your tree, do the following:

    1) Create a /tmp/Root file with the new repository information. The contents of mine looks like:
    :ext:mwedel@cvs.crossfire.sourceforge.net:/cvsroot/crossfire

    Everything but the login name (mwedel) should be the same for anyone else.

    2) Update all the Root entries in your cvs tree. To do that, run
    find . -name Root -exec cp /tmp/Root {} \;
    This is best run from the the relevant directory (arch, crossfire, maps, client).
    IF you have all those and nothing checked out in a common directory, you could run it from there.

    3) Update the repository information. Use the perl script I provide - its
    useage is update_rp <dirname> - if run from the parent dir, it would be arch, crossfire, maps, client, as above. If withing the arch, ... dirs, then just use .

    if you have a CVSROOT environment variable set, also remember to update that.
    --------------47A5AC5BD3C841F824637EA9
    Content-Type: text/plain; charset=us-ascii;
    name="update_rep"
    Content-Transfer-Encoding: 7bit
    Content-Disposition: inline;
    filename="update_rep"

    #!/usr/bin/perl
    use File::Find;

    find(\&wanted, "$ARGV[0]");

    sub wanted {
    if ($_ eq "Repository") {
    $file=$_;
    open(IN,"<$file");
    $contents = <IN>;
    close(IN);
    $contents =~ s#/home/cvs/CVS/##;
    open(IN,">$file');
    print IN $contents;
    close(IN);
    }
    }


    --------------47A5AC5BD3C841F824637EA9--

  • What other way can I view the CVS repository?
    SourceForge.net provides a web-based CVS repository viewer located at:
    http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/crossfire/
  • What modules do I need to fetch in order to use the latest version of Crossfire?
    You need the server (crossfire), and one of the map sets (maps-bigworld as that is the direction things are going). For the client, you just need the client directory, and if you want sound support, the sound files. Use the following CVS Checkout commands:
    (Careful of line wrap, command should be all on one line..)
    cvs -z3 -d:pserver:anonymous@crossfire.cvs.sourceforge.net:/cvsroot/crossfire co crossfire
    cvs -z3 -d:pserver:anonymous@crossfire.cvs.sourceforge.net:/cvsroot/crossfire co maps-bigworld
    cvs -z3 -d:pserver:anonymous@crossfire.cvs.sourceforge.net:/cvsroot/crossfire co client