summaryrefslogtreecommitdiffstats
path: root/wiki/src/contribute/git.mdwn
diff options
context:
space:
mode:
Diffstat (limited to 'wiki/src/contribute/git.mdwn')
-rw-r--r--wiki/src/contribute/git.mdwn103
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.
-
Repositories
============
@@ -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)`](http://manpages.debian.org/git-submodule)
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 <https://git-tails.immerda.ch/>. 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 gcrypt::tails@git-tails.immerda.ch:$REPOSITORY
+
+Change directory into the newly cloned repository:
+
+ cd $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.'
+
+Push:
+
+ git push -u origin master
+
+Troubleshooting
+===============
+
+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 `git-tails.immerda.ch` (aka.
+ `git.tails.boum.org`) or at `git.puppet.tails.boum.org`: get in
+ touch with
+ [[Tails system administrators|about/contact#tails-sysadmins]].
+
+* For repositories hosted at `webmasters.boum.org`: get in touch with
+ <root@boum.org>.