Difference between revisions of "HowTo:Checkout SVN"

From VsWiki
Jump to: navigation, search
(Running and configuring: configuration file paths corrected)
(Linux Clients: building VSSetup)
Line 54: Line 54:
  
 
<pre>
 
<pre>
  svn co https://svn.sourceforge.net/svnroot/vegastrike/trunk/vegastrike vegastrike
+
  svn co https://svn.sourceforge.net/svnroot/vegastrike/trunk vegastrike
 
</pre>
 
</pre>
...will download the entire tree into directory `vegastrike'. In order to download single modules, a similar syntax can be used. For example, to download the data4.x-module,
+
...will download the entire tree (all modules) into directory `vegastrike'.
 +
 
 +
In order to download single modules, a similar syntax can be used. For example, to download the data4.x module,
 
<pre>
 
<pre>
  svn co https://svn.sourceforge.net/svnroot/vegastrike/trunk/data4.x data4.x
+
  svn co https://svn.sourceforge.net/svnroot/vegastrike/trunk/data4.x
 
</pre>
 
</pre>
 
...will suffice.
 
...will suffice.
 
In order to get all the files required to compile the game, checkout the following modules:
 
In order to get all the files required to compile the game, checkout the following modules:
 
* data4.x
 
* data4.x
 +
* vssetup
 
* vegastrike
 
* vegastrike
 
* music (optional)
 
* music (optional)
Line 81: Line 84:
 
<pre>~/VegaStrike> svn co https://svn.sourceforge.net/svnroot/vegastrike/trunk/vegastrike
 
<pre>~/VegaStrike> svn co https://svn.sourceforge.net/svnroot/vegastrike/trunk/vegastrike
 
~/VegaStrike> svn co https://svn.sourceforge.net/svnroot/vegastrike/trunk/data4.x
 
~/VegaStrike> svn co https://svn.sourceforge.net/svnroot/vegastrike/trunk/data4.x
 +
~/VegaStrike> svn co https://svn.sourceforge.net/svnroot/vegastrike/trunk/vssetup
 
~/VegaStrike> svn co https://svn.sourceforge.net/svnroot/vegastrike/trunk/music</pre>
 
~/VegaStrike> svn co https://svn.sourceforge.net/svnroot/vegastrike/trunk/music</pre>
This leaves you with three new directories inside your Vega Strike directory called as the packages are.
+
This leaves you with four new directories inside your Vega Strike directory called as the packages are.
  
 
''Note:'' If you are having problems with SVN due to connecting via a proxy, try to solve them using the method described here: http://subversion.tigris.org/faq.html#proxy
 
''Note:'' If you are having problems with SVN due to connecting via a proxy, try to solve them using the method described here: http://subversion.tigris.org/faq.html#proxy
Line 98: Line 102:
 
After you installed the missing libraries repeat the last (failed) step and continue.
 
After you installed the missing libraries repeat the last (failed) step and continue.
 
Finally, there will be two executables called ''vegastrike'' and ''soundserver''.
 
Finally, there will be two executables called ''vegastrike'' and ''soundserver''.
 +
 +
===Building the Setup program===
 +
* You will need a GTK-1.2 development package installed on your system. GTK-2.0 will ''not'' work.  Usually, it will be called something like libgtk1.2-dev, gtk1.2-devel, or some similar name.  Make sure you have both the main package and the devel package installed.
 +
* The setup binary can be built from the '''vssetup''' source tree, at the same level in the repository as data4.x and vegastrike. Inside that, go to the src directory.
 +
<pre>~/VegaStrike/vegastrike> cd ../vssetup
 +
~/VegaStrike/vssetup> cd src</pre>
 +
* Make sure to first create a '''bin''' directory.  The script will not make one for you, and it's written in Perl so it hasn't been fixed.
 +
* Then, run the "'''./build'''" perl script, and it should compile the sources.
 +
<pre>~/VegaStrike/vssetup/src> mkdir bin
 +
~/VegaStrike/vssetup/src> ./build
 +
Compiling Vega Strike Setup... file         
 +
        setup... Done   
 +
 +
Time Elapsed: 5 second</pre>
 +
** If the build gives a linking ''error'' (or if couldn't find the '''bin''' directory), rerunning it will do nothing (just say that it is "Done"):
 +
<pre>Compiling Vega Strike Setup...
 +
Done
 +
 +
Time Elapsed: 0 second</pre>
 +
** You may have to delete one or more *.o files in the '''src''' or '''include''' before the script will let you compile the binary again.
 +
<pre>~/VegaStrike/vssetup/src> rm c/setup.o
 +
~/VegaStrike/vssetup/src> ./build
 +
Compiling Vega Strike Setup...
 +
        setup... Done   
 +
 +
Time Elapsed: 4 second</pre>
 +
* If compilation works, you will have a '''setup''' binary in the bin directory (note that it will ''not'' be named '''vssetup''' as the directory tree suggests.
  
 
===Setup===
 
===Setup===
Line 105: Line 136:
 
* Create symbolic links to the executables in the source code directory.
 
* Create symbolic links to the executables in the source code directory.
 
<pre>~/VegaStrike/data4.x> ln -s ../vegastrike/vegastrike
 
<pre>~/VegaStrike/data4.x> ln -s ../vegastrike/vegastrike
~/VegaStrike/data4.x> ln -s ../vegastrike/soundserver</pre>
+
~/VegaStrike/data4.x> ln -s ../vegastrike/soundserver
 +
~/VegaStrike/data4.x> ln -s ../vssetup/src/bin/setup</pre>
 +
* After that, you must run "'''./setup'''" inside the '''data4.x''' folder, or any folder which has the correct '''setup.config''' and '''vegastrike.config'''.
 
If we had made copies or moved the files instead of symbolic linking, we would have to do the procedure of copying or moving every time we build the executables from source.
 
If we had made copies or moved the files instead of symbolic linking, we would have to do the procedure of copying or moving every time we build the executables from source.
  
Line 115: Line 148:
  
 
===Known bugs and work-arounds===
 
===Known bugs and work-arounds===
On some Linux systems there is an issue with the X-server where launching Vega Strike results in an error like "No connection to display 0.0". (Not sure about the exact wording. {{Fixme}}) You can fix this by allowing any party on your system to access your X-server. (Be careful if you are on a multi-user system. That is a security issue.)
+
This issue has been fixed in the latest SVN versions.
* Do this '''before''' launching Vega Strike for the first time after you started your favourite window manager. (If you launched Vega Strike already, restart your X-server by pressing Crtl+Alt+Backspace after saving any changes in other programs.)
+
 
<pre>xhost +local:</pre>
+
In case you are using an older version (i.e. pre-10700 or so) and Vegastrike does not run (gives a "Cannot open display :0.0" error), if are willing to sacrifice some security on multi-user systems, you may have to use this command to run vegastrike:
 +
<pre>xhost +local:</pre>If you do not want to compromise security, update to the latest revision.
  
 
===Staying updated with the development version===
 
===Staying updated with the development version===
Line 128: Line 162:
 
* Do this for every package you want to update. Exchange ''data4.x'' with ''vegastrike'' or ''music''.
 
* Do this for every package you want to update. Exchange ''data4.x'' with ''vegastrike'' or ''music''.
 
* If something changed in the ''data4.x'' or the ''music'' package, you don't need to recompile.
 
* If something changed in the ''data4.x'' or the ''music'' package, you don't need to recompile.
* If something changed in the source code package ''vegasstrike''. You only need to repeat the building part of this tutorial.
+
* ''vssetup'' will probably not change in the forseeable future. If it does, and you want to rebuild it, follow the Setup building tutorial.
 
+
* If something changed in the source code package ''vegastrike''. You only need to repeat the building part of this tutorial.
  
 
=Windows Clients=
 
=Windows Clients=

Revision as of 06:17, 21 September 2006

arrow_left.png Edit News arrow_up.png HowTos Checkout CVS arrow_right.png

If you're interested in an experimental version of Vega Strike, then SVN is what you'll be looking at.

What is SVN?

SVN stands for Subversion, a system similar to CVS. It allows developers to simultaneously work on a centralised project - in this case, that's Vega Strike.

Downloading ("checking out") and compiling the SVN-version often gives you access to features not included in the latest stable release of the program. SVN-based versions can be unstable and may not even work at all, but may hold advantages compared to stable versions.

Modules

Vega Strike's SVN repository holds several subdirectories, which can either be checked out separately or altogether. The most notable ones are included below.

Other modules are deprecated and are historical only:

  • data - deprecated 3.x and lower data files.
  • vega-new-proj - even older VC6 project - don't use.
  • evilwm, ethereal, virtuanet - other projects with temporary repositories
  • mission_select - Functionality also in Launcher, and also not used often.
  • texturizer - If you can get it to compile, I believe it may still work.
  • syseditor - If you like typing in coordinates of every planet by hand in an ugly console interface, go ahead.


See also: Development:CVS Tree


Linux Clients

Command-line svn

Website

http://subversion.tigris.org/

Description

The linux-command `svn' is the most basic Subversion client.

Using svn for downloading vs-devel

Downloading the Vega Strike svn-modules is easy. The general syntax is

 svn co [repo]/trunk/[module] [target-directory]
 svn co https://svn.sourceforge.net/svnroot/vegastrike/trunk vegastrike

...will download the entire tree (all modules) into directory `vegastrike'.

In order to download single modules, a similar syntax can be used. For example, to download the data4.x module,

 svn co https://svn.sourceforge.net/svnroot/vegastrike/trunk/data4.x

...will suffice. In order to get all the files required to compile the game, checkout the following modules:

  • data4.x
  • vssetup
  • vegastrike
  • music (optional)


Tutorial to download, setup and run the development version

In order to run the development version of Vega Strike the executables expect to find the data and music to be in certain places relative to them. This short tutorial deals with these specifics on Linux operating systems. (It also applies for Mac OS X users.)

So, let's start.

  • Create a directory where you would like your copy of the Vega Strike development version to live in. For example purposes we will create a directory called VegaStrike in our user's home-directory.
~> mkdir VegaStrike
  • Change into this newly created directory. In our case:
~> cd VegaStrike

Initial downloading (check-out)

Now we can start downloading the packages from the SVN repository. If you download them directly into your Vega Strike directory they will be just in the right place.

  • Download (check-out) the source code package vegastrike, the content package data4.x and the optional music package.
~/VegaStrike> svn co https://svn.sourceforge.net/svnroot/vegastrike/trunk/vegastrike
~/VegaStrike> svn co https://svn.sourceforge.net/svnroot/vegastrike/trunk/data4.x
~/VegaStrike> svn co https://svn.sourceforge.net/svnroot/vegastrike/trunk/vssetup
~/VegaStrike> svn co https://svn.sourceforge.net/svnroot/vegastrike/trunk/music

This leaves you with four new directories inside your Vega Strike directory called as the packages are.

Note: If you are having problems with SVN due to connecting via a proxy, try to solve them using the method described here: http://subversion.tigris.org/faq.html#proxy

Building

  • To build the engine, change into the source code directory vegastrike.
~/VegaStrike> cd vegastrike
  • Now start with setting up and configuring the build and finally building the engine.
~/VegaStrike/vegastrike> ./bootstrap-sh
~/VegaStrike/vegastrike> ./configure
~/VegaStrike/vegastrike> make vegastrike
~/VegaStrike/vegastrike> make soundserver

You will likely receive some error messages during any of these stages, especially during the configure part. If they tell you that your system is missing some development libraries install them. How this is done depends strongly on your Linux distribution, but we will assist you in the Compiling Problems forums. You will be left with a file called "config.log" please attach that instead of copy-and-pasting thousands of lines of error messages. It's all in this file.

After you installed the missing libraries repeat the last (failed) step and continue. Finally, there will be two executables called vegastrike and soundserver.

Building the Setup program

  • You will need a GTK-1.2 development package installed on your system. GTK-2.0 will not work. Usually, it will be called something like libgtk1.2-dev, gtk1.2-devel, or some similar name. Make sure you have both the main package and the devel package installed.
  • The setup binary can be built from the vssetup source tree, at the same level in the repository as data4.x and vegastrike. Inside that, go to the src directory.
~/VegaStrike/vegastrike> cd ../vssetup
~/VegaStrike/vssetup> cd src
  • Make sure to first create a bin directory. The script will not make one for you, and it's written in Perl so it hasn't been fixed.
  • Then, run the "./build" perl script, and it should compile the sources.
~/VegaStrike/vssetup/src> mkdir bin
~/VegaStrike/vssetup/src> ./build
Compiling Vega Strike Setup... file          
        setup... Done    

Time Elapsed: 5 second
    • If the build gives a linking error (or if couldn't find the bin directory), rerunning it will do nothing (just say that it is "Done"):
Compiling Vega Strike Setup... 
Done

Time Elapsed: 0 second
    • You may have to delete one or more *.o files in the src or include before the script will let you compile the binary again.
~/VegaStrike/vssetup/src> rm c/setup.o
~/VegaStrike/vssetup/src> ./build
Compiling Vega Strike Setup... 
        setup... Done    

Time Elapsed: 4 second
  • If compilation works, you will have a setup binary in the bin directory (note that it will not be named vssetup as the directory tree suggests.

Setup

To run Vega Strike, the built executables need all the configuration and data files to be in the right place relative to them. Currently, they reside in the source code directory. But they have to be run out of the data4.x directory. Therefore, we will create a link.

  • Change in to the data4.x directory. (We are still in the source code directory vegastrike.)
~/VegaStrike/vegastrike> cd ../data4.x
  • Create symbolic links to the executables in the source code directory.
~/VegaStrike/data4.x> ln -s ../vegastrike/vegastrike
~/VegaStrike/data4.x> ln -s ../vegastrike/soundserver
~/VegaStrike/data4.x> ln -s ../vssetup/src/bin/setup
  • After that, you must run "./setup" inside the data4.x folder, or any folder which has the correct setup.config and vegastrike.config.

If we had made copies or moved the files instead of symbolic linking, we would have to do the procedure of copying or moving every time we build the executables from source.

Running and configuring

  • To run Vega Strike you have to start it from the data4.x directory.
~/VegaStrike/data4.x> ./vegastrike
  • Optionally you can create a short cut to this application onto your desktop or in your start menu. Simply point it to the vegastrike executable in the data4.x directory.
  • If you need to adjust screen resolutions, input devices and key-mappings, do so by editing the configuration file vegastrike.config. The default configuration file resides in the data4.x directory. You can change that or you can make your own user specific version by first copying it into your .vegastrike (hidden directory) directory in your user's home directory.

Known bugs and work-arounds

This issue has been fixed in the latest SVN versions.

In case you are using an older version (i.e. pre-10700 or so) and Vegastrike does not run (gives a "Cannot open display :0.0" error), if are willing to sacrifice some security on multi-user systems, you may have to use this command to run vegastrike:

xhost +local:
If you do not want to compromise security, update to the latest revision.

Staying updated with the development version

As development progresses the repository changes. In order to update your working copy you need to do the following.

  • Change into the package's directory you want to update. In our example all the packages were stored in a directory called VegaStrike. Let's assume we want to update the data4.x package.
~> cd VegaStrike
~/VegaStrike> cd data4.x
  • Update from the SVN repository.
~/VegaStrike/data4.x> svn update
  • Do this for every package you want to update. Exchange data4.x with vegastrike or music.
  • If something changed in the data4.x or the music package, you don't need to recompile.
  • vssetup will probably not change in the forseeable future. If it does, and you want to rebuild it, follow the Setup building tutorial.
  • If something changed in the source code package vegastrike. You only need to repeat the building part of this tutorial.

Windows Clients

Tortoise SVN

Website

http://tortoisesvn.tigris.org/

Description

Just like TortoiseCVS, Tortoise SVN lets you work with files under SVN version control directly from Windows Explorer. It's freely available under the GPL.

With TortoiseSVN you can directly check out modules, update, commit and see differences by right clicking on files and folders within Explorer. You can see the state of a file with overlays on top of the normal icons within Explorer. It even works from within the file open dialog.

Usage

  • Download and Install Tortoise SVN from http://tortoisesvn.tigris.org
  • Create a new folder in Windows Manager where you will download your modules (called Sandbox, SVN or similar working location name);
  • Within that folder, create another folder being the name of module you wish to checkout e.g. data4.x, music, vegastrike etc;
  • Right click on the folder created and select SVN Checkout. This brings up the checkout configuration screen;
  • Input the URL of the repository into the dialog box, for example data4.x will be;
  https://svn.sourceforge.net/svnroot/vegastrike/trunk/data4.x
    • You may also use the built-in repository browser to select the module you wish to check out.
  • Click OK to begin checkout of the module.


Mac OS X Clients

Command Line Client

Website

http://metissian.com/projects/macosx/subversion/

(or http://pdb.finkproject.org/pdb/search.php?summary=svn for Fink packages.)

SCPlugin

Website

http://scplugin.tigris.org/

Description

"The goal of the SCPlugin project is to integrate Subversion into the Mac OS X Finder. The inspiration for this project came from the TortoiseSVN project."

Usage

Must have command line client installed.

FIXME -WRITEME

Other



arrow_left.png Edit News arrow_up.png HowTos Checkout CVS arrow_right.png