]> de.git.xonotic.org Git - xonotic/xonotic.wiki.git/blob - Repository_Access.textile
(Commit created by redmine exporter script from page "Repository_Access" version 11)
[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 h2. Windows
44
45 TODO info for TortoiseGit
46
47 h3. Working with the helper script "all"
48
49 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:
50
51 ./all update
52 ./all branch
53 ./all push
54 ./all checkout
55
56 The normal workflow for working on a contribution is the following:
57
58 ./all update
59
60 This makes sure you are up to date
61
62 ./all branch <your branch name here>
63
64 Then work on your changes, commit locally, etc, until you are happy..
65
66 ./all push
67
68 This asks you what to push, etc..