The primary purpose of the OpenJDK jdk-sandbox repository is to facilitate OpenJDK JDK Committers that are working on non-trivial changes, possibly JEP-scale effort, whose scope and duration make it necessary to collaborate with others in an open shared version control system, rather than just using privately shared patches or personal forks.
Working in the sandbox can facilitate rapid iterative development, as there is no requirement for changes to be reviewed or accompanied by bug numbers, i.e. jcheck is not enabled. Just create a new branch and start working. When the changes are ready for integration into the main-line, then they will need to follow the appropriate project integration rules. Any committer to the JDK project can push changes to the sandbox.
The sandbox repository is located https://git.openjdk.java.net/jdk-sandbox and changeset notifications are sent to the mailing list jdk-sandbox-changes. The master branch of the repository is protected (no-one can push to it) and is always in sync with the master branch in the jdk repository.
The remainder of this page will address common questions and guidance for using the sandbox.
What upstream repository is the jdk-sandbox sync'ed with?
How are changes propagated from the jdk repository?
What should I call my branch?
Branch names should contain the suffix '-branch', to clearly identify them from other metadata in the changeset.
Branch names JEP-XXX-branch and JDK-XXXXXXX-branch are, by courtesy, reserved for use of the corresponding JBS issues. Branch names prefixed with an OpenJDK username and a delimiter, by courtesy, are reserved for use of that OpenJDK user.
How do I create a new branch?
How do I clone and check out a branch?
See the FAQ:
How do I update a branch with the latest changes from the master branch?
How do I push a change to a branch?
How do I show all commits on a given branch?
How do I remove a branch?
See the FAQ: