couchdb-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Apache Wiki <>
Subject [Couchdb Wiki] Update of "Committer_First_Steps" by andywenk
Date Thu, 14 Nov 2013 22:39:18 GMT
Dear Wiki user,

You have subscribed to a wiki page or wiki category on "Couchdb Wiki" for change notification.

The "Committer_First_Steps" page has been changed by andywenk:

New page:

= Committer First Steps =


== Introduction ==

Beeing a new committer requires to do a whole bunch of steps before the work on CouchDB can
start. This document describes many of these tasks and should help to get things working.
If there are any questions, please ask on IRC #couchdb-dev or use the

'''Note:''' the command line examples have been run on Mac OS X but should be easily adapted
to other Unix like systems

== First Read ==

Before you start, please read the info found on these pages:

svn checkout and read the docs (see 1. setup

== Setup svn ==

== Create a pgp key ring with gnupg ==

How to generate a gnupg key and a fingerprint?


=== Install gnupg2 ===

brew install gnupg2

=== Create a keypair ===

It should be a RSA key with at minimum 4096 bits

gpg2 --gen-key

The result is something like this:

pub   4096R/1ED29548 2013-11-06
Key fingerprint = AB44 8542 1E12 1333 4FEC  9452 B65D 6BE3 9ED3 9588
uid              	Your Name (CouchDB) <>
sub   4096R/A62334BF 2013-11-06

=== Create a revocation certificate ===

gpg2 --output revoke.asc --gen-revoke

=== Show exisiting keys ===

gpg2 --list-keys

=== Export key ===

gpg2 --armor --export

The output is something like this:

Version: GnuPG/MacGPG2 v2.0.19 (Darwin)
Comment: GPGTools -

[veeery long letter salad]

=== Upload your puplic key to the MIT pgp-key-server ===

There are many public key servers available. The one preferred by the ASF is:
Simply paste your public key there and submit the form. When done so, search for your name
and find your key.

=== Your key will be added ===

Your key will be added, when you inserted the key fingerprint at You
will then find your key here:

== Setup your ASF id ==

This is an important step and you should do it now. Jump to this page

 * insert your PGP fingerprint -> it will be available at
 * set a good password

== Create a FOAF file ==

This is an optional step. The ASF is using this file format (XML) to make informations about
you available. Jump to this page and fill the form
When done follow these steps:

 * create file: <your_asf_username>.rdf
 * checkout svn repo
 * commit <your_asf_username>.rdf
 * find your entry here:

== Create an Jenkins account ==

The Apache CouchDB project is using Jenkins for continuous integration. Create an account
here and
and ping Jan Lehnardt afterwards

== Create an pootle account ==

For L10N, the Apache CouchDB project is using the translation service from the ASF. Please
create an account at

== Create an JIRA account ==

For tickets, JIRA is used. Please jump to
and create an account. 

== Create an Wiki account ==

Many information are located in a Wiki at Please jump there
and create an account. 

== Git ==

The source code of the Apache CouchDB project is versioned with git. 

=== Git info ===


you will find many informations regarding git. Please read this carefully. 

=== Git source code repository ===

The source code of Apache CouchDB can be found here:

=== Git guidelines ===

Here is a proposed workflow for git. Please follow these guidelines.

 * create a feature branch for bigger changes or tasks or tickets. If it is a ticket the feature
branch should be named like: 1912-troubleshooting-guide where 1912 is the ticket number and
"Troubleshooting guide" the title of the ticket
 * please follow these steps for your work:
   * create feature branch from master
   * work on feature branch
   * clean up feature branch commits
   * rebase feature branch onto current master
   * merge feature branch into master
 * where "clean up" means: 
   * clean up whitespace in code area
 * rebase your work into logical steps - this results in the following single commits
   * minimally complete refactoring #1
   * minimally complete refactoring #2
   * minimally complete refactoring #3
   * actual feature/fix, part #1
   * actual feature/fix, part #2

=== Git configuration ===

This is how your git config file in the project should look like


    	repositoryformatversion = 0
    	filemode = true
    	bare = false
    	logallrefupdates = true
    	ignorecase = true
    	precomposeunicode = false
[remote "origin"]
    	url =
    	fetch = +refs/heads/*:refs/remotes/origin/*
[branch "master"]
    	remote = origin
    	merge = refs/heads/master
    	name = Andy Wenk
    	email =
    	helper = osxkeychain

Because you don’t want to write your credentials for the git repository each time, you want
to cache your password. Please follow these instructions:

To get things working here, you have to setup a .netrc file (or extend an existing) in your
home directory with the following content:


login <your_asf_username>
password *********

== locale settings ==

If you have problems building CouchDB, check if your local settings are correct:


If LANG is empty, add this to your ~/.bash_profile:

export LC_ALL=en_US.UTF-8  
export LANG=en_US.UTF-8

== Links ==

project site:
translation service: 

== Mailing-lists ==

subscribe to all CouchDB lists

'''Info:''' no attachments are allowed beside zip files

== IRC ==

Very much of the discussions in all areas are held in the IRC channels. Here is the info to
set things up:

 * client:,
 * server:
 * channels: #couchdb, #couchdb-dev #couchdb-meeting, #couchdb-ci and #asfinfra
 * register your nickname with:

/msg NickServ register <a_password> <your_email>

in preferences set start command:

/msg NickServ identify <your_password>

View raw message