git.mdwn 3.78 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

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

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`.

amnesia's avatar
amnesia committed
95
96
97
98
99
live-boot
=========

Anyone can check it out like this:

100
	git clone git://git.immerda.ch/tails_live-boot.git
amnesia's avatar
amnesia committed
101
102
103
104
105
106

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
107
live-boot](http://git.immerda.ch/?p=tails_live-boot.git).
amnesia's avatar
amnesia committed
108
109
110
111
112
113

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

Anyone can check it out like this:

114
	git clone git://git.immerda.ch/tails_live-config.git
115

amnesia's avatar
amnesia committed
116
Developers with write access to the repositories should instead:
amnesia's avatar
amnesia committed
117

118
119
	git clone 'ssh://git@git.immerda.ch/tails_live-config.git'

amnesia's avatar
amnesia committed
120
121
122
123
124
125
We have a Gitweb available or [our custom
live-config](http://git.immerda.ch/?p=tails_live-config.git).

Caution!
========

126
127
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
128
in every of your local clones' directories:
129

130
	git config user.name 'Tails developers'
amnesia's avatar
amnesia committed
131
	git config user.email amnesia@boum.org
132

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

	git config user.signingkey BE2CD9C1