git.mdwn 6.52 KB
Newer Older
1
2
[[!meta title="Git repositories"]]

Tails developers's avatar
TODO++    
Tails developers committed
3
4
**FIXME** move this page to contribute/

5
6
7
8
9
10
11
12
13
14
15
16
<div id="intro">

<p>The Amnesic Incognito Live System and this documentation wiki are
developed in a bunch of Git repositories.</p>

<p><strong>Related pages</strong></p>

<ul>
  <li>[[contribute/merge_policy]]</li>
</ul>

<p><strong>Table of contents</strong></p>
amnesia's avatar
amnesia committed
17

18
[[!toc levels=3]]
amnesia's avatar
amnesia committed
19

20
21
</div>

amnesia's avatar
amnesia committed
22
23
24
Main repository
===============

25
This repository contains the Tails source code and the wiki source.
amnesia's avatar
amnesia committed
26

27
Anyone can check it out like this:
amnesia's avatar
amnesia committed
28

amnesia's avatar
amnesia committed
29
	git clone git://git.immerda.ch/amnesia.git
amnesia's avatar
amnesia committed
30
31
32
33
34
35
36
37
38
39
40

Developers with write access to the repositories should instead:

	git clone 'ssh://boum_org_amnesia@webmasters.boum.org/~/wiki.git'

We have a Gitweb available for [the main
repository](http://git.immerda.ch/?p=amnesia.git).

Branches
--------

41
Tails development uses several branches modeled a bit like the
amnesia's avatar
amnesia committed
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
Debian development process. Here they are.

### master

The `master` branch is used by the online wiki.

**FIXME**: document what should go in there, when other branches are
merged into it, etc.

### stable

The `stable` branch is intended to contain:

- the state of the code tagged for the last stable release
- fixes for security or important bugs.

Its purpose is to prepare minor releases.

### testing

The `testing` branch is used to prepare an imminent release: at some
point of the development process, the `devel` branch code is merged
into `testing`, freezed, and endures careful testing and bug-fixing
until this branch is considered good enough to become a stable
release. The `testing` branch is then merged into the `stable` and
`master` ones, images built and shipped and we go back to code shiny
new stuff in the `devel` branch.

Please note that the `testing` branch generally has not been granted
the same testing and attention as code that has made it into a
amnesia's avatar
amnesia committed
72
stable release: please use it for testing purposes but do not rely
amnesia's avatar
amnesia committed
73
74
75
76
on it for anything. No guarantee, blablabla.

### devel

77
Most of the development work that is done in Tails, is done in the
amnesia's avatar
amnesia committed
78
79
80
81
82
83
84
85
`devel` branch. This branch will never get released; instead, code
from it will be merged into testing and then into a real release.

Please note that the `devel` branch can be broken, have awful security
problems and so on. No guarantee, blablabla.

The `master` branch is merged into `devel` from time to time.

Tails developers's avatar
Tails developers committed
86
87
88
89
90
91
92
93
94
### Topic branches

Some of us like to use topic branches called `bugfix/*` and
`feature/*`, respectively aimed at fixing a single bug and
implementing a single new feature. Once ready, a topic branch is
merged (with `--no-ff`) into the appropriate branch (generally
`devel`). Until it has been merged, a topic branch's history may be
rewritten, e.g. it may be rebased on top of `devel`.

95
96
97
98
99
100
101
102
103
104
105
106
107
### experimental

Generally, it's `devel` plus a few topic branches merged in.
These topic branches are not ready enough to be merged into devel, but
we seriously would like to get them fit for the next stable release,
so this branch serves to test all these new features and bugfixes by
building / getting a single image. The history of this branch is
frequently rewritten and must no be used as the basis of
any development.

Please note that the `experimental` branch can be broken, have awful
security problems and so on. No guarantee, blablabla.

amnesia's avatar
amnesia committed
108
109
110
111
112
live-boot
=========

Anyone can check it out like this:

113
	git clone git://git.immerda.ch/tails_live-boot.git
amnesia's avatar
amnesia committed
114
115
116
117
118
119

Developers with write access to the repositories should instead:

	git clone 'ssh://git@git.immerda.ch/tails_live-boot.git'

We have a Gitweb available for [our custom
T(A)ILS developers's avatar
typo    
T(A)ILS developers committed
120
live-boot](http://git.immerda.ch/?p=tails_live-boot.git).
amnesia's avatar
amnesia committed
121
122
123
124
125
126

live-config
===========

Anyone can check it out like this:

127
	git clone git://git.immerda.ch/tails_live-config.git
128

amnesia's avatar
amnesia committed
129
Developers with write access to the repositories should instead:
amnesia's avatar
amnesia committed
130

131
132
	git clone 'ssh://git@git.immerda.ch/tails_live-config.git'

Tails developers's avatar
Tails developers committed
133
We have a Gitweb available for [our custom
amnesia's avatar
amnesia committed
134
135
live-config](http://git.immerda.ch/?p=tails_live-config.git).

136
137
138
139
140
141
142
143
144
145
146
147
148
liveusb-creator
=============

Anyone can check it out like this:

	git clone git://git.immerda.ch/tails/liveusb-creator.git

Developers with write access to the repositories should instead:

	git clone git@git.immerda.ch:tails/liveusb-creator.git

We have a Gitweb available for [liveusb-creator](http://git.immerda.ch/?p=tails/liveusb-creator.git).

149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
tails-greeter
=============

Anyone can check it out like this:

	git clone git://git.immerda.ch/tails/tails-greeter.git

Developers with write access to the repositories should instead:

	git clone git@git.immerda.ch:tails/tails-greeter.git

We have a Gitweb available for [tails-greeter](http://git.immerda.ch/?p=tails/tails-greeter.git).

tails-persistence-setup
=======================

Anyone can check it out like this:

	git clone git://git.immerda.ch/tails/persistence-setup.git

Developers with write access to the repositories should instead:

	git clone 'git@git.immerda.ch:tails/persistence-setup.git'

We have a Gitweb available for [tails-persistence-setup](http://git.immerda.ch/?p=tails/persistence-setup.git).

175
176
177
178
179
180
181
182
183
184
185
Vidalia
=======

Anyone can check it out like this:

	git clone git://git.immerda.ch/tails_vidalia.git

Developers with write access to the repositories should instead:

	git clone 'ssh://git@git.immerda.ch/tails_vidalia.git'

Tails developers's avatar
Tails developers committed
186
We have a Gitweb available for [our custom
187
188
Vidalia](http://git.immerda.ch/?p=tails_vidalia.git).

189
190
191
192
193
194
195
196
197
198
199
FireGPG
=======

Anyone can check it out like this:

	git clone git://git.immerda.ch/tails/firegpg.git

Developers with write access to the repositories should instead:

	git clone 'ssh://git@git.immerda.ch/tails/firegpg.git'

Tails developers's avatar
Tails developers committed
200
We have a Gitweb available for [our custom
201
202
FireGPG](http://git.immerda.ch/?p=tails/firegpg.git).

203
204
205
206
207
208
209
210
211
212
213
htp
===

Anyone can check it out like this:

	git clone git://git.immerda.ch/tails_htp.git

Developers with write access to the repositories should instead:

	git clone ssh://git@git.immerda.ch/tails_htp.git

Tails developers's avatar
Tails developers committed
214
We have a Gitweb available for [our custom
215
216
htp](http://git.immerda.ch/?p=tails_htp.git).

217
218
219
220
221
222
223
224
225
226
227
icedove
=======

Anyone can check it out like this:

	git clone git://labs.riseup.net/tails_icedove.git

Developers with write access to the repositories should instead:

	git clone gitosis@labs.riseup.net:tails_icedove.git

amnesia's avatar
amnesia committed
228
229
230
Caution!
========

231
232
If you want to commit patches that may be published later, you might
want to anonymize them a bit; to do so, run the following commands
amnesia's avatar
amnesia committed
233
in every of your local clones' directories:
234

235
	git config user.name 'Tails developers'
amnesia's avatar
amnesia committed
236
	git config user.email amnesia@boum.org
237

238
If you intend to prepare Tails releases, you'll also need to make
T(A)ILS developers's avatar
T(A)ILS developers committed
239
the development team signing key the default one for Git tags:
240
241

	git config user.signingkey BE2CD9C1