Return-Path: X-Original-To: apmail-couchdb-commits-archive@www.apache.org Delivered-To: apmail-couchdb-commits-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 2DA6D10FE9 for ; Thu, 14 Nov 2013 22:39:41 +0000 (UTC) Received: (qmail 13711 invoked by uid 500); 14 Nov 2013 22:39:41 -0000 Delivered-To: apmail-couchdb-commits-archive@couchdb.apache.org Received: (qmail 13669 invoked by uid 500); 14 Nov 2013 22:39:41 -0000 Mailing-List: contact commits-help@couchdb.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@couchdb.apache.org Delivered-To: mailing list commits@couchdb.apache.org Received: (qmail 13662 invoked by uid 99); 14 Nov 2013 22:39:41 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 14 Nov 2013 22:39:41 +0000 X-ASF-Spam-Status: No, hits=-1999.6 required=5.0 tests=ALL_TRUSTED,FILL_THIS_FORM_FRAUD_PHISH,T_FILL_THIS_FORM_SHORT,WEIRD_PORT X-Spam-Check-By: apache.org Received: from [140.211.11.131] (HELO eos.apache.org) (140.211.11.131) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 14 Nov 2013 22:39:38 +0000 Received: from eos.apache.org (localhost [127.0.0.1]) by eos.apache.org (Postfix) with ESMTP id 4E9B871A; Thu, 14 Nov 2013 22:39:18 +0000 (UTC) MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable From: Apache Wiki To: Apache Wiki Date: Thu, 14 Nov 2013 22:39:18 -0000 Message-ID: <20131114223918.20473.54544@eos.apache.org> Subject: =?utf-8?q?=5BCouchdb_Wiki=5D_Update_of_=22Committer=5FFirst=5FSteps=22_by?= =?utf-8?q?_andywenk?= Auto-Submitted: auto-generated X-Virus-Checked: Checked by ClamAV on apache.org Dear Wiki user, You have subscribed to a wiki page or wiki category on "Couchdb Wiki" for c= hange notification. The "Committer_First_Steps" page has been changed by andywenk: https://wiki.apache.org/couchdb/Committer_First_Steps New page: <> =3D Committer First Steps =3D <> =3D=3D Introduction =3D=3D Beeing a new committer requires to do a whole bunch of steps before the wor= k on CouchDB can start. This document describes many of these tasks and sho= uld help to get things working. If there are any questions, please ask on I= RC #couchdb-dev or use the dev@couchdb.apache.org mailinglist. '''Note:''' the command line examples have been run on Mac OS X but should = be easily adapted to other Unix like systems =3D=3D First Read =3D=3D Before you start, please read the info found on these pages: http://wiki.apache.org/couchdb/Community_Guide http://www.apache.org/dev/new-committers-guide.html http://www.apache.org/dev/committers.html svn checkout https://svn.apache.org/repos/private/committers and read the d= ocs (see 1. setup svn) =3D=3D Setup svn =3D=3D http://www.apache.org/dev/version-control.html =3D=3D Create a pgp key ring with gnupg =3D=3D How to generate a gnupg key and a fingerprint? URL: http://www.gnupg.de/gph/en/manual.html =3D=3D=3D Install gnupg2 =3D=3D=3D {{{ brew install gnupg2 }}} =3D=3D=3D Create a keypair =3D=3D=3D 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 =3D AB44 8542 1E12 1333 4FEC 9452 B65D 6BE3 9ED3 9588 uid Your Name (CouchDB) sub 4096R/A62334BF 2013-11-06 }}} =3D=3D=3D Create a revocation certificate =3D=3D=3D {{{ gpg2 --output revoke.asc --gen-revoke your.name@apache.org }}} =3D=3D=3D Show exisiting keys =3D=3D=3D {{{ gpg2 --list-keys }}} =3D=3D=3D Export key =3D=3D=3D {{{ gpg2 --armor --export your.name@apache.org }}} The output is something like this: {{{ -----BEGIN PGP PUBLIC KEY BLOCK----- Version: GnuPG/MacGPG2 v2.0.19 (Darwin) Comment: GPGTools - http://gpgtools.org mQINBFJ6txIBEADHomX4Q+T/GToy3g/goh0EjbfA+bYnJJce1PLKU3zvXXtQeTfA [veeery long letter salad] -----END PGP PUBLIC KEY BLOCK----- }}} =3D=3D=3D Upload your puplic key to the MIT pgp-key-server =3D=3D=3D There are many public key servers available. The one preferred by the ASF i= s: http://pgp.mit.edu Simply paste your public key there and submit the form. When done so, searc= h for your name and find your key. =3D=3D=3D Your key will be added =3D=3D=3D Your key will be added, when you inserted the key fingerprint at https://id= .apache.org/. You will then find your key here: https://people.apache.org/k= eys/committer/ =3D=3D Setup your ASF id =3D=3D This is an important step and you should do it now. Jump to this page https= ://id.apache.org/ and * insert your PGP fingerprint -> it will be available at https://people.ap= ache.org/keys/committer/ eventually * set a good password =3D=3D Create a FOAF file =3D=3D This is an optional step. The ASF is using this file format (XML) to make i= nformations about you available. Jump to this page and fill the form http:/= /people.apache.org/foaf/foafamatic.html. When done follow these steps: * create file: .rdf * checkout svn repo https://svn.apache.org/repos/private/committers/info * commit .rdf * find your entry here: http://people.apache.org/committers =3D=3D Create an Jenkins account =3D=3D The Apache CouchDB project is using Jenkins for continuous integration. Cre= ate an account here and http://ci.couchdb.org:8888/ and ping Jan Lehnardt afterwards =3D=3D Create an pootle account =3D=3D For L10N, the Apache CouchDB project is using the translation service from = the ASF. Please create an account at https://translate.apache.org/ =3D=3D Create an JIRA account =3D=3D For tickets, JIRA is used. Please jump to https://issues.apache.org/jira/br= owse/COUCHDB and create an account. = =3D=3D Create an Wiki account =3D=3D Many information are located in a Wiki at https://wiki.apache.org/couchdb. = Please jump there and create an account. = =3D=3D Git =3D=3D The source code of the Apache CouchDB project is versioned with git. = =3D=3D=3D Git info =3D=3D=3D At = http://wiki.apache.org/couchdb/SourceCode https://git-wip-us.apache.org/#committers-getting-started you will find many informations regarding git. Please read this carefully. = =3D=3D=3D Git source code repository =3D=3D=3D The source code of Apache CouchDB can be found here: https://git-wip-us.apache.org/repos/asf/couchdb.git =3D=3D=3D Git guidelines =3D=3D=3D 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-gui= de 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 sing= le commits * minimally complete refactoring #1 * minimally complete refactoring #2 * minimally complete refactoring #3 * actual feature/fix, part #1 * actual feature/fix, part #2 =3D=3D=3D Git configuration =3D=3D=3D This is how your git config file in the project should look like '''.git/config''' {{{ [core] repositoryformatversion =3D 0 filemode =3D true bare =3D false logallrefupdates =3D true ignorecase =3D true precomposeunicode =3D false [remote "origin"] url =3D https://git-wip-us.apache.org/repos/asf/couchdb.git fetch =3D +refs/heads/*:refs/remotes/origin/* [branch "master"] remote =3D origin merge =3D refs/heads/master [user] name =3D Andy Wenk email =3D andywenk@apache.org [credential] helper =3D osxkeychain }}} Because you don=E2=80=99t want to write your credentials for the git reposi= tory each time, you want to cache your password. Please follow these instru= ctions: https://help.github.com/articles/set-up-git#password-caching To get things working here, you have to setup a .netrc file (or extend an e= xisting) in your home directory with the following content: '''~/.netrc''' machine git-wip-us.apache.org login password ********* =3D=3D locale settings =3D=3D If you have problems building CouchDB, check if your local settings are cor= rect: {{{ locale LANG=3D"en_US.UTF-8" LC_COLLATE=3D"en_US.UTF-8" LC_CTYPE=3D"en_US.UTF-8" LC_MESSAGES=3D"en_US.UTF-8" LC_MONETARY=3D"en_US.UTF-8" LC_NUMERIC=3D"en_US.UTF-8" LC_TIME=3D"en_US.UTF-8" LC_ALL=3D"en_US.UTF-8" }}} If LANG is empty, add this to your ~/.bash_profile: {{{ export LC_ALL=3Den_US.UTF-8 = export LANG=3Den_US.UTF-8 }}} =3D=3D Links =3D=3D project site: http://couchdb.apache.org documentation: http://docs.couchdb.org translation service: = =3D=3D Mailing-lists =3D=3D subscribe to all CouchDB lists http://couchdb.apache.org/#mailing-lists '''Info:''' no attachments are allowed beside zip files =3D=3D IRC =3D=3D Very much of the discussions in all areas are held in the IRC channels. Her= e is the info to set things up: * client: http://www.codeux.com/textual/, http://limechat.net/mac/ * server: irc.freenode.com * channels: #couchdb, #couchdb-dev #couchdb-meeting, #couchdb-ci and #asfi= nfra * register your nickname with: {{{ /msg NickServ register }}} in preferences set start command: {{{ /msg NickServ identify }}}