path: root/wiki/src/contribute/git.mdwn
diff options
authorintrigeri <>2017-02-07 01:46:02 +0000
committerintrigeri <>2017-02-07 01:46:02 +0000
commita125665e9ca875c16465f014c3cafe002eef1572 (patch)
tree375e19d545131856a70684c5fce29bb415eb299b /wiki/src/contribute/git.mdwn
parent0bab7e30681f7b481f5967d38686770460533b4c (diff)
parent4bb09f3837bd8864afd085e69654cd497690fe70 (diff)
Merge remote-tracking branch 'origin/devel' into feature/tor-nightly-master
Diffstat (limited to 'wiki/src/contribute/git.mdwn')
1 files changed, 98 insertions, 5 deletions
diff --git a/wiki/src/contribute/git.mdwn b/wiki/src/contribute/git.mdwn
index 7cc1978..b1f5eda 100644
--- a/wiki/src/contribute/git.mdwn
+++ b/wiki/src/contribute/git.mdwn
@@ -41,6 +41,8 @@ Here are a couple of links to get started with Git:
General information
+<a id="immerda"></a>
Git hosting setup at immerda
@@ -62,11 +64,6 @@ the development team signing key the default one for Git tags:
git config user.signingkey A490D0F4D311A4153E2BB7CADBB802B258ACD84F
-Creating a new repository
-Create a new repository at immerda.
@@ -180,6 +177,8 @@ merged before being renamed, and our Jenkins instance will not build nor
test it, so you won't get notifications for a branch that you know is
breaking the build and/or the test suite.
+<a id="promotion-material"></a>
Promotion material
@@ -282,3 +281,97 @@ For more information, see:
in the *Pro Git* book;
* the [`git-submodule(1)`](
man page.
+<a id="creating-a-new-repository"></a>
+Creating a new repository
+In the vast majority of cases, your new repository will be hosted
+at <>. Here is how to get it created.
+1. Send your OpenPGP public key, pasted in the body of an email, to
+ the [[Tails system administrators|about/contact#tails-sysadmins]].
+ State that you want to establish a communication channel in order
+ to eventually get a Git repository created. Do not _attach_ your
+ public key, this would not work due to bugs in the mailing list
+ software we use.
+2. Wait for the Tails system administrators to confirm they have
+ received your OpenPGP public key and imported it into the keyring
+ of their mailing list.
+3. Send your Git repository request in an OpenPGP-signed email to the
+ [[Tails system administrators|about/contact#tails-sysadmins]];
+ include the following information:
+ - the name you want to publicly use in our Git repository hosting
+ system (only lower-case ASCII chars and digits);
+ - the preferred name of the repository you want to create
+ (only lower-case ASCII chars and digits);
+ - your SSH RSA public key;
+ - whether the repository shall be publicly available or not;
+ - who else needs read access to the repository, plus their SSH RSA
+ public key;
+ - who else needs write access to the repository, plus their SSH RSA
+ public key.
+Once your repository has been created, clone it:
+* If you want to encrypt the content of your new Git repository with
+ OpenPGP, go through some arcane
+ [[initialization ritual|contribute/git#initialize-git-remote-gcrypt]]
+ to reach wisdom, bliss and enlightenment.
+* Otherwise (lucky you!), see:
+ - [[addresses for Git clone and web access|contribute/git#other-repositories]]
+ - [[immerda's documentation|contribute/git#immerda]].
+<a id="initialize-git-remote-gcrypt"></a>
+Initializing a git-remote-gcrypt repository
+Clone the new, empty repository in a way that tells Git it's going to
+be encrypted:
+ git clone$REPOSITORY
+Change directory into the newly cloned repository:
+Decide whether you want to hide to the immerda administrators which
+OpenPGP keys this repository will be encrypted for (note that this has
+severe usability drawbacks). Skip to the next step if you really want
+that. Otherwise:
+ git config gcrypt.publish-participants true
+Tell Git which OpenPGP keys the repository will be encrypted for:
+ git config gcrypt.participants "LIST OF OPENPGP FINGERPRINTS"
+Write some setup instructions for your team-mates, e.g. copy and
+paste the `git config` command(s) you have just run:
+ editor README
+Add these setup instructions to the repository and commit:
+ git add README && git commit -m 'Add setup documentation.'
+ git push -u origin master
+First, check with your team-mates: in some cases they can help you
+troubleshoot your problem, and confirm whether the problem is on your
+side or on the server side. If that is not enough, read on.
+* For repositories hosted at `` (aka.
+ ``) or at ``: get in
+ touch with
+ [[Tails system administrators|about/contact#tails-sysadmins]].
+* For repositories hosted at ``: get in touch with
+ <>.