From fbeaa3613021f2cb35644b6a1e36e3f1c8ae87de Mon Sep 17 00:00:00 2001 From: Richard Littauer Date: Mon, 2 Nov 2015 05:11:28 -0500 Subject: [PATCH] Added commit sign off section This was in the main contributing guidelines, but is only enforced in this repo. I've added it here. As part of https://github.com/ipfs/community/issues/63 License: MIT Signed-off-by: Richard Littauer --- contribute.md | 74 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 74 insertions(+) diff --git a/contribute.md b/contribute.md index 4c6fcca1fba..198bc52859d 100644 --- a/contribute.md +++ b/contribute.md @@ -16,3 +16,77 @@ Please look and conform to our [Go Contribution Guidelines](https://github.com/i - Ask questions or talk about things in [Issues](https://github.com/ipfs/go-ipfs/issues) or #ipfs on freenode. - Ensure you are able to contribute (no legal issues please-- we'll probably setup a CLA). - Have fun! + +## Repository specific guidelines: + +### Commit messages + +Commit messages must start with a short subject line, followed by an optional, +more detailed explanatory text which is separated from the summary by an empty line. +We use [GitCop](https://gitcop.com) to check that commit messages are +properly written. It checks the following: + +* The first line of a commit message, called the subject line should + not be more than 80 characters long. + +* The commit message should end with the following trailers: + + ``` + License: MIT + Signed-off-by: User Name + ``` + + where "User Name" is the author's real (legal) name and + email@address is one of the author's valid email addresses. + + These trailers mean that the author agrees with the + [developer certificate of origin](docs/developer-certificate-of-origin) + and with licensing the work under the [MIT license](docs/LICENSE). + + To help you automatically add these trailers, you can run the + [setup_commit_msg_hook.sh](dev/tools/hooks/setup_commit_msg_hook.sh) + script which will setup a Git commit-msg hook that will add the above + trailers to all the commit messages you write. + +See the [documentation about amending commits](docs/amending-commits.md) +for explanation about how you can rework commit messages. + +Some example commit messages: + +``` +parse_test: improve tests with stdin enabled arg + +Now also check that we get the right arguments from +the parsing. + +License: MIT +Signed-off-by: Christian Couder +``` + +and + +``` +net/p2p + secio: parallelize crypto handshake + +We had a very nasty problem: handshakes were serial so incoming +dials would wait for each other to finish handshaking. this was +particularly problematic when handshakes hung-- nodes would not +recover quickly. This led to gateways not bootstrapping peers +fast enough. + +The approach taken here is to do what crypto/tls does: +defer the handshake until Read/Write[1]. There are a number of +reasons why this is _the right thing to do_: +- it delays handshaking until it is known to be necessary (doing io) +- it "accepts" before the handshake, getting the handshake out of the + critical path entirely. +- it defers to the user's parallelization of conn handling. users + must implement this in some way already so use that, instead of + picking constants surely to be wrong (how many handshakes to run + in parallel?) + +[0] http://golang.org/src/crypto/tls/conn.go#L886 + +License: MIT +Signed-off-by: Juan Benet +```