Same requirements apply as for the Chromium project. If you are not a Chromium contributor, then please sign the CLA.
Create a new branch:
git new-branch your-awesome-feature
This will create a new branch called your-awesome-feature
configured to track the master
branch off the CEL repository.
Note: git new-branch
, and git cl
are tools included in depot_tools
.
Make your changes. Commit as often as you need. All the commits gets squashed in the next step.
Check formatting:
python build.py format
This will ensure that the code you are about to upload is correctly formatted. In addition, it runs a set of checks on Markdown source to ensure that links are correct. For more information, see build.py format --help
.
Upload your changes:
git cl upload
If successful, git-cl
will create a new codereview entry. Send it out for review. Move cel-reviews@chromium.org
from the CC line to the reviewers line if you don't know of a specific reviewer.
The review may result in changes being requested. Address review comments and make additional comments are necessary. The codereview you created in step 3 is associated with a Git branch. So you can run git cl upload
to upload new patchsets as necessary.
Once the change is approved, someone will submit the change.
Good job!
Optionally, you can clean up your local repository following a successful submission by running the following:
git rebase-update
(This assumes that you are using the Git rebase workflow. See here for more details).
This project uses Dep to manage dependencies.
If you add a new import, then it's likely that Dep
will complain. In that case, just run the following:
dep ensure
This will fetch the dependency in to vendor
and update the version constraints. You may need to check in Gopkg.lock
and Gopkg.toml
files if they change.
When updates to dependent packages are available, run:
dep ensure -update
... to fetch the updates. Don‘t forget to run the tests and verify that the new code drops are safe and doesn’t regress.
Add the Gopkg.lock
and Gopkg.toml
files and commit the change.
See Go Dep documentation for dealing with dependencies using Dep and also dealing with version mismatch issues across dependencies.