Difference between revisions of "MG/Getting The Code"

From MegaGlest
Jump to navigation Jump to search
 
(5 intermediate revisions by the same user not shown)
Line 1: Line 1:
'''NOTE: Due to problems converting to Git, MegaGlest is still using SVN.'''
 
<!-- REMOVE THIS LINE WHEN CONVERTED TO GIT
 
 
[[MegaGlest]] has now switched to git for managing the game's source code and data (the svn repo is no longer active). Using the command line you would get the code in one of two ways. Either read-only if you will not contribute changes or read and write if you plan to help contribute to the project as well.
 
[[MegaGlest]] has now switched to git for managing the game's source code and data (the svn repo is no longer active). Using the command line you would get the code in one of two ways. Either read-only if you will not contribute changes or read and write if you plan to help contribute to the project as well.
  
 
==Choose a git client==
 
==Choose a git client==
The MegaGlest source is stored in a Git repository (versions prior to 3.6.0.2 are in a different SVN repository, however), and requires a Git client to download. Clients exist for all major operating systems.
+
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====
 
====Linux====
:''This section is currently outdated. You can [http://glest.wikia.com/index.php?title=MG/Getting_The_Code&action=edit edit] this page to improve that.''
+
Install the git tools. On Debian GNU/Linux based distributions this is as easy as
Most users will want to use the [https://subversion.apache.org/ Apache Software Foundation (ASF) subversion] command line interface (CLI), as provided, on most distributions, by the 'subversion' package. Many distributions also provide graphical interfaces which are either frontends to the ASF subversion CLI or are standalone.
+
 
 +
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.
  
 
====Windows====
 
====Windows====
Download [http://git-scm.com/ Git] and install it, then run <tt>git-bash.bat</tt> in the installation folder to start the Git command line. For those with a preference for a client with a graphical interface, [http://code.google.com/p/tortoisegit/ TurtoiseGit] exists for that, though you will still need to install Git as well as [http://code.google.com/p/msysgit/ MysisGit].
+
Download [http://git-scm.com/ Git] and install it, then run <tt>git-bash.bat</tt> in the installation folder to start the Git command line. For those with a preference for a client with a graphical interface, [http://code.google.com/p/tortoisegit/ TortoiseGit] exists for that, though you will still need to install Git as well as [http://code.google.com/p/msysgit/ MysisGit].
  
 
==Check out the source code==
 
==Check out the source code==
===Making the directory===
+
 
 +
<span style="font-size:17px;">Making the directory</span>
 
:''Prior to running this command, you should navigate to the folder you wish to place the MegaGlest source.''
 
:''Prior to running this command, you should navigate to the folder you wish to place the MegaGlest source.''
 
  mkdir megaglest-git
 
  mkdir megaglest-git
Line 21: Line 23:
 
===Cloning the sources===
 
===Cloning the sources===
 
====Read only====
 
====Read only====
  git clone git://megaglest.git.sourceforge.net/gitroot/megaglest/megaglest-source
+
  git clone [https://github.com/MegaGlest/megaglest-source https://github.com/MegaGlest/megaglest-source.git] .
git clone git://megaglest.git.sourceforge.net/gitroot/megaglest/megaglest-data
+
cd megaglest-source
  git clone git://megaglest.git.sourceforge.net/gitroot/megaglest/megaglest-data-source
+
  git submodule update --init --recursive
  
 
====Read and write====
 
====Read and write====
  git clone ssh://<sourceforge-username>@megaglest.git.sourceforge.net/gitroot/megaglest/megaglest-source
+
git clone ssh://<sourceforge-username>@megaglest.git.sourceforge.net/gitroot/megaglest/megaglest-data
+
# This will ask for your standard GitHub username and password
git clone ssh://<sourceforge-username>@megaglest.git.sourceforge.net/gitroot/megaglest/megaglest-data-source
+
  git clone [https://github.com/MegaGlest/megaglest-source https://github.com/MegaGlest/megaglest-source.git] .
 
 
===Create the link===
 
 
  cd megaglest-source
 
  cd megaglest-source
  ln -s -T ../megaglest-data data
+
  # This may ask for your standard GitHub username and password again
 
+
  git submodule update --init --recursive
===With TortoiseGit===
+
  cd data/glest_game
:''This section only applies to those using TortoiseGit instead of the command line.''
+
  git checkout master
Once TortoiseGit and its prerequisites of Git and MysisGit are installed, right click in the folder you wish to place the sources and choose "Git Clone" from the context menu. Enter the following links in one at a time, waiting for TortoiseGit to finish downloading each one.
+
cd ../..
  git://megaglest.git.sourceforge.net/gitroot/megaglest/megaglest /megaglest-source
 
  git://megaglest.git.sourceforge.net/gitroot/megaglest/megaglest /megaglest-data
 
  git://megaglest.git.sourceforge.net/gitroot/megaglest/megaglest /megaglest-data-source
 
REMOVE THIS LINE WHEN CONVERTED TO GIT -->
 
 
 
==GIT==
 
 
 
If you chose a git CLI then run the following command to retrieve the latest source code:
 
<pre>git clone https://github.com/MegaGlest/megaglest-source.git .
 
cd megaglest-source
 
git submodule update --init --recursive</pre>
 
 
 
This will download to the current active folder, so be sure to first navigate to the folder you want to download the GIT project into.
 
 
 
===Project folder layout===
 
[[File:Folder_structure.png]]
 
  
 
==Tags and branches==
 
==Tags and branches==
This will check out the '''trunk''' directory, which is where active development takes place in. Each release is 'tagged' and a copy resides in the '''tags''' directory, so if you wanted an older release you would check out something below instead. Check [https://megaglest.svn.sourceforge.net/svnroot/megaglest/tags/ here] to see which ones are available.
+
This will check out the '''master''' source code and data directories, which is where active development takes place in. Each release is 'tagged' and resides as '''tags''', so if you wanted an older release you would check out something below instead. Check [https://megaglest.svn.sourceforge.net/svnroot/megaglest/tags/ here] to see which ones are available.
  
 
Branches are created in the '''branches''' subdirectory when required to seperate larger changes from active / stable development, so replace 'trunk' by 'branches' and check with your web brower which ones are available if this is your intention.
 
Branches are created in the '''branches''' subdirectory when required to seperate larger changes from active / stable development, so replace 'trunk' by 'branches' and check with your web brower which ones are available if this is your intention.
  
 
==See also==
 
==See also==
*[[MG/SVN Structure|SVN Structure]]
+
*[[MG/Project Structure|Project Structure]]
 
[[Category:MG]]
 
[[Category:MG]]

Revision as of 22:26, 16 December 2013

MegaGlest has now switched to git for managing the game's source code and data (the svn repo is no longer active). Using the command line you would get the code in one of two ways. Either read-only if you will not contribute changes or read and write if you plan to help contribute to the project as well.

Choose 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

Install the git tools. 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.

Windows

Download Git and install it, 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, TortoiseGit exists for that, though you will still need to install Git as well as MysisGit.

Check out the source code

Making the directory

Prior to running this command, you should navigate to the folder you wish to place the MegaGlest source.
mkdir megaglest-git
cd megaglest-git

Cloning the sources

Read only

git clone https://github.com/MegaGlest/megaglest-source.git .
cd megaglest-source
git submodule update --init --recursive

Read and write

# This will ask for your standard GitHub username and password
git clone https://github.com/MegaGlest/megaglest-source.git .
cd megaglest-source
# This may ask for your standard GitHub username and password again
git submodule update --init --recursive
cd data/glest_game
git checkout master
cd ../..

Tags and branches

This will check out the master source code and data directories, which is where active development takes place in. 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 in the branches subdirectory when required to seperate larger changes from active / stable development, so replace 'trunk' by 'branches' and check with your web brower which ones are available if this is your intention.

See also