MG/Getting The Code

From MegaGlest
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

MegaGlest has switched to git for managing the game's source code and data (the svn repo is no longer active).

Linux quick setup

Do this ( download size is ~600MB ):

sudo apt-get update && sudo apt-get -y install git
git clone --recurse-submodules https://github.com/MegaGlest/megaglest-source.git
cd megaglest-source/mk/linux/
sudo ./setupBuildDeps.sh 
./build-mg.sh

launch with:

./megaglest

Choose and install a git client

The MegaGlest source is stored in a Git repository (versions prior to 3.9.0 are in a different - SVN repository, however), and requires a Git client to download. Clients exist for all major operating systems.

Linux

On Debian GNU/Linux based distributions this is as easy as:

sudo apt-get update && sudo apt-get install git

On other distributions, the process will be quite similar but you will need to use the package management tools available there and you should look for "git" or "git-core" package.

Windows

Download >>GIT<< and install it (Important: On install-options choose "Run Git from Windows Command Prompt".), then run git-bash.bat in the installation folder to start the Git command line.

For those with a preference for a client with a graphical interface, then e.g. TortoiseGit exists for that.

Check out the source code

Cloning the sources

Prior to running these commands, you need to navigate to the directory (folder) you wish to place the MegaGlest source directory in.

git clone --recurse-submodules https://github.com/MegaGlest/megaglest-source.git

Popular mistakes

If you've not read this guide before clone then you probably made a quite popular mistake - "cloned repository without data (submodules)", then you should do this:

cd megaglest-source
git submodule update --init --recursive

If you still are not sure that you have downloaded full working source then you can compare your source directory with the Project Structure.

After the cloning

If you want start work on changes in data submodule (or any other) then before starting you should first checkout HEAD of desirable branch e.g. "develop". In most situations it does not apply to regular users/testers/gamers.

cd megaglest-source
cd data/glest_game
git checkout <branch>
cd ../..

Update the source code

When some time has elapsed after the "clone" and you again want to test the HEAD of the game then you should update the source code.

First choose the branch, e.g. "develop":

git checkout <branch>

If you’re not actively working on the source and submodules (you are a tester/gamer), then the simplest and most universal way to update is:

git pull && git submodule update --init --recursive

in the other case you should read more advanced git tutorial intended for developers.

Tags and branches

Each release is 'tagged' and resides as tags, so if you wanted an older release you would check out something below instead. Check here to see which ones are available.

Branches are created for separate larger changes from active / stable development, so check with your web browser which ones are available if this is your intention.

See also