Update translation.
[tails-test.git] / wiki / src / git.mdwn
blob651a5b5fc1b9c092baebc26c0fcd5d365c68ab2d
1 [[!meta title="Git repositories"]]
3 <div id="intro">
5 <p>The Amnesic Incognito Live System and this documentation wiki are
6 developed in a bunch of Git repositories.</p>
8 <p><strong>Related pages</strong></p>
10 <ul>
11   <li>[[contribute/merge_policy]]</li>
12 </ul>
14 <p><strong>Table of contents</strong></p>
16 [[!toc levels=2]]
18 </div>
20 Main repository
21 ===============
23 This repository contains the Tails source code and the wiki source.
25 Anyone can check it out like this:
27         git clone git://git.immerda.ch/amnesia.git
29 Developers with write access to the repositories should instead:
31         git clone 'ssh://boum_org_amnesia@webmasters.boum.org/~/wiki.git'
33 We have a Gitweb available for [the main
34 repository](http://git.immerda.ch/?p=amnesia.git).
36 Branches
37 --------
39 Tails development uses several branches modeled a bit like the
40 Debian development process. Here they are.
42 ### master
44 The `master` branch is used by the online wiki.
46 **FIXME**: document what should go in there, when other branches are
47 merged into it, etc.
49 ### stable
51 The `stable` branch is intended to contain:
53 - the state of the code tagged for the last stable release
54 - fixes for security or important bugs.
56 Its purpose is to prepare minor releases.
58 ### testing
60 The `testing` branch is used to prepare an imminent release: at some
61 point of the development process, the `devel` branch code is merged
62 into `testing`, freezed, and endures careful testing and bug-fixing
63 until this branch is considered good enough to become a stable
64 release. The `testing` branch is then merged into the `stable` and
65 `master` ones, images built and shipped and we go back to code shiny
66 new stuff in the `devel` branch.
68 Please note that the `testing` branch generally has not been granted
69 the same testing and attention as code that has made it into a
70 stable release: please use it for testing purposes but do not rely
71 on it for anything. No guarantee, blablabla.
73 ### devel
75 Most of the development work that is done in Tails, is done in the
76 `devel` branch. This branch will never get released; instead, code
77 from it will be merged into testing and then into a real release.
79 Please note that the `devel` branch can be broken, have awful security
80 problems and so on. No guarantee, blablabla.
82 The `master` branch is merged into `devel` from time to time.
84 ### Topic branches
86 Some of us like to use topic branches called `bugfix/*` and
87 `feature/*`, respectively aimed at fixing a single bug and
88 implementing a single new feature. Once ready, a topic branch is
89 merged (with `--no-ff`) into the appropriate branch (generally
90 `devel`). Until it has been merged, a topic branch's history may be
91 rewritten, e.g. it may be rebased on top of `devel`.
93 live-boot
94 =========
96 Anyone can check it out like this:
98         git clone git://git.immerda.ch/tails_live-boot.git
100 Developers with write access to the repositories should instead:
102         git clone 'ssh://git@git.immerda.ch/tails_live-boot.git'
104 We have a Gitweb available for [our custom
105 live-boot](http://git.immerda.ch/?p=tails_live-boot.git).
107 live-config
108 ===========
110 Anyone can check it out like this:
112         git clone git://git.immerda.ch/tails_live-config.git
114 Developers with write access to the repositories should instead:
116         git clone 'ssh://git@git.immerda.ch/tails_live-config.git'
118 We have a Gitweb available or [our custom
119 live-config](http://git.immerda.ch/?p=tails_live-config.git).
121 Caution!
122 ========
124 If you want to commit patches that may be published later, you might
125 want to anonymize them a bit; to do so, run the following commands
126 in every of your local clones' directories:
128         git config user.name 'Tails developers'
129         git config user.email amnesia@boum.org
131 If you intend to prepare Tails releases, you'll also need to make
132 the development team signing key the default one for Git tags:
134         git config user.signingkey BE2CD9C1