aboutsummaryrefslogtreecommitdiff
path: root/src/cmd/vendor/github.com/google/pprof/CONTRIBUTING.md
diff options
context:
space:
mode:
Diffstat (limited to 'src/cmd/vendor/github.com/google/pprof/CONTRIBUTING.md')
-rw-r--r--src/cmd/vendor/github.com/google/pprof/CONTRIBUTING.md92
1 files changed, 71 insertions, 21 deletions
diff --git a/src/cmd/vendor/github.com/google/pprof/CONTRIBUTING.md b/src/cmd/vendor/github.com/google/pprof/CONTRIBUTING.md
index 5976686d73..e793970674 100644
--- a/src/cmd/vendor/github.com/google/pprof/CONTRIBUTING.md
+++ b/src/cmd/vendor/github.com/google/pprof/CONTRIBUTING.md
@@ -1,27 +1,77 @@
-Want to contribute? Great! First, read this page (including the small print at the end).
+Want to contribute? Great: read the page (including the small print at the end).
-### Before you contribute
+# Before you contribute
-Before we can use your code, you must sign the
-[Google Individual Contributor License Agreement](https://cla.developers.google.com/about/google-individual)
-(CLA), which you can do online. The CLA is necessary mainly because you own the
-copyright to your changes, even after your contribution becomes part of our
-codebase, so we need your permission to use and distribute your code. We also
-need to be sure of various other things—for instance that you'll tell us if you
-know that your code infringes on other people's patents. You don't have to sign
-the CLA until after you've submitted your code for review and a member has
-approved it, but you must do it before we can put your code into our codebase.
-Before you start working on a larger contribution, you should get in touch with
-us first through the issue tracker with your idea so that we can help out and
-possibly guide you. Coordinating up front makes it much easier to avoid
-frustration later on.
+As an individual, sign the [Google Individual Contributor License
+Agreement](https://cla.developers.google.com/about/google-individual) (CLA)
+online. This is required for any of your code to be accepted.
-### Code reviews
+Before you start working on a larger contribution, get in touch with us first
+through the issue tracker with your idea so that we can help out and possibly
+guide you. Coordinating up front makes it much easier to avoid frustration later
+on.
-All submissions, including submissions by project members, require review.
-We use Github pull requests for this purpose.
+# Development
-### The small print
+Make sure `GOPATH` is set in your current shell. The common way is to have
+something like `export GOPATH=$HOME/gocode` in your `.bashrc` file so that it's
+automatically set in all console sessions.
-Contributions made by corporations are covered by a different agreement than the one above,
-the [Software Grant and Corporate Contributor License Agreement](https://cla.developers.google.com/about/google-corporate).
+To get the source code, run
+
+```
+go get github.com/google/pprof
+```
+
+To run the tests, do
+
+```
+cd $GOPATH/src/github.com/google/pprof
+go test -v ./...
+```
+
+When you wish to work with your own fork of the source (which is required to be
+able to create a pull request), you'll want to get your fork repo as another Git
+remote in the same `github.com/google/pprof` directory. Otherwise, if you'll `go
+get` your fork directly, you'll be getting errors like `use of internal package
+not allowed` when running tests. To set up the remote do something like
+
+```
+cd $GOPATH/src/github.com/google/pprof
+git remote add aalexand git@github.com:aalexand/pprof.git
+git fetch aalexand
+git checkout -b my-new-feature
+# hack hack hack
+go test -v ./...
+git commit -a -m "Add new feature."
+git push aalexand
+```
+
+where `aalexand` is your GitHub user ID. Then proceed to the GitHub UI to send a
+code review.
+
+# Code reviews
+
+All submissions, including submissions by project members, require review.
+We use GitHub pull requests for this purpose.
+
+The pprof source code is in Go with a bit of JavaScript, CSS and HTML. If you
+are new to Go, read [Effective Go](https://golang.org/doc/effective_go.html) and
+the [summary on typical comments during Go code
+reviews](https://github.com/golang/go/wiki/CodeReviewComments).
+
+Cover all new functionality with tests. Enable Travis on your forked repo,
+enable builds of branches and make sure Travis is happily green for the branch
+with your changes.
+
+The code coverage is measured for each pull request. The code coverage is
+expected to go up with every change.
+
+Pull requests not meeting the above guidelines will get less attention than good
+ones, so make sure your submissions are high quality.
+
+# The small print
+
+Contributions made by corporations are covered by a different agreement than the
+one above, the [Software Grant and Corporate Contributor License
+Agreement](https://cla.developers.google.com/about/google-corporate).