]> de.git.xonotic.org Git - xonotic/xonotic.wiki.git/blobdiff - Git.md
Update Programming Tips
[xonotic/xonotic.wiki.git] / Git.md
diff --git a/Git.md b/Git.md
index 5eb935cd2b20368c3a441ad71bfdd957f35031f0..37b340a3651820471015674b7be21a6d0aa59e63 100644 (file)
--- a/Git.md
+++ b/Git.md
@@ -1,12 +1,42 @@
 Git
 ===
 
+Cloning the repository
+----------------------
+
+Expected time (~2.5MiB/s): ~2m (initial checkout) + ~75m (./all update)  
+Expected size: 11.7 GiB
+
+|Repository |Size   |
+|:--        |:--    |
+|data       |4.6 GiB  |
+|music      |382 MiB|
+|darkplaces |160 MiB |
+|netradiant |42 MiB |
+|d0_blind_id|776 KiB|
+|maps       |5.6 GiB|
+|gmqcc      |22 MiB|
+
+    git clone https://gitlab.com/xonotic/xonotic.git
+    cd xonotic
+     ./all update -l best
+
 After cloning the repository
 ----------------------------
 
 After you cloned the repository (using `git clone <url>`) you are ready to start creating a branch to start working.
 Please check [Repository Access](Repository_Access) to make sure you checked out **all** of the repositories. `data/` for example resides in its own repository.
 
+Compiling
+---------
+
+Run `./all compile` to compile the engine and gamecode. Add `-r` for a faster release build without debugging symbols.
+
+Running
+-------
+
+Run `./all run` launch the game after compiling. `./all run dedicated` to start a dedicated server instead.
+
 Project structure
 -----------------
 
@@ -17,16 +47,16 @@ The current structure looks as follows:
 | Directory | Repository |
 | --------- | ---------- |
 |`/`|git://git.xonotic.org/xonotic/xonotic.git|
-|`/bocc`|git://git.xonotic.org/xonotic/bocc.git|
+|`/d0_blind_id`|git://git.xonotic.org/xonotic/d0_blind_id.git|
 |`/darkplaces`|git://git.xonotic.org/xonotic/darkplaces.git|
-|`/mediasource`|git://git.xonotic.org/xonotic/mediasource.git|
-|`/netradiant-xonoticpack`|git://git.xonotic.org/xonotic/netradiant-xonoticpack.git|
-|`/netradiant`|git://git.xonotic.org/xonotic/netradiant.git|
 |`/data/xonotic-data.pk3dir`|git://git.xonotic.org/xonotic/xonotic-data.pk3dir.git|
 |`/data/xonotic-maps.pk3dir`|git://git.xonotic.org/xonotic/xonotic-maps.pk3dir.git|
 |`/data/xonotic-music.pk3dir`|git://git.xonotic.org/xonotic/xonotic-music.pk3dir.git|
 |`/data/xonotic-nexcompat.pk3dir`|git://git.xonotic.org/xonotic/xonotic-nexcompat.pk3dir.git|
-|`/xonotic`|git://git.xonotic.org/xonotic/xonotic.git|
+|`/gmqcc`|git://git.xonotic.org/xonotic/gmqcc.git|
+|`/mediasource`|git://git.xonotic.org/xonotic/mediasource.git|
+|`/netradiant`|git://git.xonotic.org/xonotic/netradiant.git|
+|`/netradiant-xonoticpack`|git://git.xonotic.org/xonotic/netradiant-xonoticpack.git|
 
 When using the ssh protocol, the xonotic/ directory is skipped, so it’s just: git.xonotic.org/xonotic.git
 
@@ -70,7 +100,7 @@ This can be done by using `git branch —track ...` to create the branch.
 
 #### Making a non-tracking branch a tracking branch
 
-Most of gits magic is done in the config file. A tracking branch simple has merge information in the config. If your branch is not a tracking one and you wish to make it one, you can either push it, then remove the local version, and use `git branch —track me/feature1 origin/me/feature1` to recreate it as a tracking one, or you add the necessary config lines:
+Most of git's magic is done in the config file. A tracking branch simple has merge information in the config. If your branch is not a tracking one and you wish to make it one, you can either push it, then remove the local version, and use `git branch —track me/feature1 origin/me/feature1` to recreate it as a tracking one, or you add the necessary config lines:
 
     git config branch.me/feature1.remote origin
     git config branch.me/feature1.merge refs/heads/me/feature1