]> de.git.xonotic.org Git - xonotic/xonotic.wiki.git/blob - Repository_Access.textile
(Commit created by redmine exporter script from page "Repository_Access" version 19)
[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 TODO: Work on this to actually not be wrong!
46
47 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:
48
49 <pre>
50 ./all update
51 ./all branch
52 ./all push
53 ./all checkout
54 </pre>
55
56 The normal workflow for working on a contribution is the following:
57
58 h4. 1. Get up to date
59
60 <pre>./all update</pre>
61
62 This makes sure you are up to date. And should lessen the merging horror that might ensue when you try to push..
63
64 h4. 2. Create a branch
65
66 <pre>./all branch <your branch name here></pre>
67
68 Then work on your changes, commit locally, etc, until you are happy..
69
70 h4. 3. Push changes to the main repo
71
72 <pre>./all push</pre>
73
74 This asks you what to push, etc. Then if you want to get your changes from your branch into the master branch you will have to ask for someone with write access to merge your changes to master..
75
76
77 h4. 4. Go back to 1.
78
79
80 h2. Windows
81
82 TODO info for TortoiseGit