]> git.xonotic.org Git - xonotic/xonotic.wiki.git/blob - Repository_Access.textile
50652de29210382a844ec1a31655df8ae8025f4d
[xonotic/xonotic.wiki.git] / Repository_Access.textile
1 h1. Repository Access
2
3 The repository is accessed using git.
4
5 h2. Linux/OS X:
6
7 First, you install git using your favorite package manager. Then:
8
9 <pre>
10 git clone git://git.xonotic.org/xonotic/xonotic.git
11 cd xonotic
12 ./all update
13 </pre>
14
15 After that, you have a working checkout of the repository.
16
17 h3. Getting write access
18
19 A condition for write (push) access is that you agree that any code or data you push will be licensed under the General Public License, version 2, with or without the "or any later version" clause. In case the directory the changes apply to contains a LICENSE or COPYING file indicating another license, your pushed code has to be dual licensed appropriately. Subdirectories currently having a dual license:
20 * data/qcsrc/warpzonelib - dual licensed as "GPLv2 or later" or MIT license.
21
22 In case code you pushed was not written by you, it is your responsibility to ensure proper licensing.
23
24 To apply for write access, make an issue of type "Support" in the category "Repository" and attach your public SSH key to it.
25
26 To cleanly check out then, you would do:
27
28 <pre>
29 git clone ssh://xonotic@git.xonotic.org/xonotic.git
30 cd xonotic
31 ./all update
32 </pre>
33
34 If you already have a checkout, you would do:
35
36 <pre>
37 git config remote.origin.url ssh://xonotic@git.xonotic.org/xonotic.git
38 ./all update
39 </pre>
40
41 After that, you can write to the reposiotry using the usual git commands (commit, push).
42
43 h3. Working with the helper script "all"
44
45 To make working with the repo a little easier there's a little helper script (it's called all, as mentioned in above clone commands). It supports the following commands:
46
47 ./all update
48 ./all branch
49 ./all push
50 ./all checkout
51
52 The normal workflow for working on a contribution is the following:
53
54 1. ./all update
55
56 This makes sure you are up to date
57
58 2. ./all branch <your branch name here>
59
60 Then work on your changes, commit locally, etc, until you are happy..
61
62 3. ./all push
63
64 This asks you what to push, etc.. This might fail, if in the meantime someone else has worked on the same branch. You will need to use git merge manually for the time being to resolve possible conflicts..
65
66 4. Go back to 1.
67
68
69 h2. Windows
70
71 TODO info for TortoiseGit