]> git.xonotic.org Git - xonotic/xonotic.wiki.git/blobdiff - Git.textile
(Commit created by redmine exporter script from page "Wiki" version 117)
[xonotic/xonotic.wiki.git] / Git.textile
index 1741f5bba846c8ff9539c952f2ac40210386c0c2..b30323fc79597743c79b48461882c542eddcd03a 100644 (file)
@@ -1,33 +1,43 @@
 h1. Git
 
-h2. After cloning the repository.
+{{>toc}}
+
+h2. After cloning the repository
 
 After you cloned the repository (using <code>git clone <url></code>) you are ready to start creating a branch to start working.
-Please check [[Repository Access]] to make sure you checked out *all* of the repositories. <code>data/</code> for example resides in its own repo.
+Please check [[Repository Access]] to make sure you checked out *all* of the repositories. <code>data/</code> for example resides in its own repository.
 
-h2. "did i fuck up or is data/ of git.xonotic.org/xonotic/xonotic.git acctualy empty?"
+h2. Project structure
 
 The game content can be divided into several distinct parts, like the <code>data/</code> directory, and some of its subdirectories. This is why there are several repositories, and a helper script to fetch and update them all. This is described in [[Repository Access]] under "Working with the helper script ./all"
 
 The current structure looks as follows:
 |_.Directory|_.Repository|
-|<code>/</code>|git.xonotic.org/xonotic.git|
-|<code>/darkplaces</code>|git.xonotic.org/darkplaces.git|
-|<code>/data/xonotic-data.pk3dir</code>|git.xonotic.org/xonotic-data.pk3dir.git|
-|<code>/data/xonotic-maps.pk3dir</code>|git.xonotic.org/xonotic-maps.pk3dir.git|
-|<code>/data/xonotic-music.pk3dir</code>|git.xonotic.org/xonotic-music.pk3dir.git|
+|<code>/</code>|git://git.xonotic.org/xonotic/xonotic.git|
+|<code>/bocc</code>|git://git.xonotic.org/xonotic/bocc.git|
+|<code>/darkplaces</code>|git://git.xonotic.org/xonotic/darkplaces.git|
+|<code>/mediasource</code>|git://git.xonotic.org/xonotic/mediasource.git|
+|<code>/netradiant-xonoticpack</code>|git://git.xonotic.org/xonotic/netradiant-xonoticpack.git|
+|<code>/netradiant</code>|git://git.xonotic.org/xonotic/netradiant.git|
+|<code>/data/xonotic-data.pk3dir</code>|git://git.xonotic.org/xonotic/xonotic-data.pk3dir.git|
+|<code>/data/xonotic-maps.pk3dir</code>|git://git.xonotic.org/xonotic/xonotic-maps.pk3dir.git|
+|<code>/data/xonotic-music.pk3dir</code>|git://git.xonotic.org/xonotic/xonotic-music.pk3dir.git|
+|<code>/data/xonotic-nexcompat.pk3dir</code>|git://git.xonotic.org/xonotic/xonotic-nexcompat.pk3dir.git|
+|<code>/xonotic</code>|git://git.xonotic.org/xonotic/xonotic.git|
+
+When using the ssh protocol, the xonotic/ directory is skipped, so it's just: git.xonotic.org/xonotic.git
 
 You can still use the <code>data/</code> directory as base for the game since darkplaces now supports <code>.pk3dir</code> directories natively.
 
-h3. Creating a new branch:
+h2. Creating a new branch
 
 By convention, branches are usually called <yourname>/<branch>.
 Before creating a branch, you first have to choose a base of your branch. Then you can create your branch:
 Let's assume your name is <code>me</code>, your branch will be called <code>feature1</code> and your base will be <code>master</code>.
 There are several ways of creating a branch:
-You can simply create it by issuing:
-<pre>git branch me/feature1 master</pre>
-This will create the branch locally, nothing else. It will not checkout the branch. You can do this now:
+You can simply create it by doing this from the xonotic directory and selecting where to branch:
+<pre>./all branch me/feature1</pre>
+This will create the branch locally and nothing else. It will not checkout the branch. You can do this now with:
 <pre>git checkout me/feature1</pre>
 
 Another possibility would be to checkout your base, and then use <code>git checkout -b me/feature1</code>. This is usually nice if you already are on your base branch because it is a single command.
@@ -81,7 +91,7 @@ h2. Merging and rebasing
 
 In git you have two ways of combining two branches: You can either merge them, which does exactly what its name suggests: it merges the commits together. Or you can rebase the branch.
 
-Rebasing means that all your changes will be put at the end. This works by first collecting and removing all your changes, then replacing your branch with the base branch, then applying all your changes to it. Whenever something failes to apply you'll be asked to fix it, and then issue a <code>git rebase --continue</code>
+Rebasing means that all your changes will be put at the end. This works by first collecting and removing all your changes, then replacing your branch with the base branch, then applying all your changes to it. Whenever something fails to apply you'll be asked to fix it, and then issue a <code>git rebase --continue</code>
 
 * Merging master into me/feature1: <pre>git checkout me/feature1
 git merge master</pre>