The Vitess code is hosted on GitHub.
This repository is called upstream.
You develop and commit your changes in a clone of our upstream repository (shown as local in the image above).
Then you push your changes to your forked repository (origin) and send us a pull request.
Eventually, we will merge your pull request back into the upstream repository.
Before you start working on changes, create a topic branch:
$ git checkout main
(main) $ git pull
(main) $ git checkout -b new-feature
(new-feature) $ # You are now in the new-feature branch.
Try to commit small pieces along the way as you finish them, with an explanation
of the changes in the commit message.
Please see the Code Review page for more guidance.
As you work in a package, you can run just
the unit tests for that package by running go test from within that package.
When you're ready to test the whole system, run the full test suite with make test from the root of the Git tree.
If you haven't installed all dependencies for make test, you can rely on the CI test results as well.
These results will be present on your pull request.
If you have a significant change to add, you need to create an issue prior to creating a Pull Request. This issue should be used to explain what you're planning to work on, to track progress, and design decisions.
Or if you'd like to report a bug you've found within Vitess you can also create an issue.