- Loading...
The Skara command-line interface (CLI) tools enables enable a CLI driven workflow where reviews are made either via the mailing lists or in an a web browser using an external Git source code hosting provider's web application. The following CLI tools are currently available as part of project Skara:
git-jcheck
- a backwards compatible Git port of jcheck
git-webrev
- a backwards compatible Git port of webrev
git-defpath
- a backwards compatible Git port of defpath
git-trees
- a backwards compatible Git port of treesgit-fork
- fork a project on an external Git source code hosting provider to your personal space and optionally clone it
git-sync
- sync the personal fork of the project with the current state of the upstream repositorygit-backport
- fetch a commit from a remote repository and apply it on top of the current branchgit-pr
- interact with pull requests for a project on an external Git source code hosting provider
git-info
- show OpenJDK information about commits, e.g. issue links, authors, contributors, etc.
git-token
- interact with a Git credential manager for handling personal access tokens
git-translate
- translate between Mercurial and Git hashes
git-publish
- publish a local branch to a remote repositorygit-proxy
- proxy all network traffic from a Git command through a HTTP(S) proxygit
-
git-skara
- learn about and update the Skara CLI tool
...
Code Block | ||
---|---|---|
| ||
$ git clone https://github.com/openjdk/skara $ git config --global include.path "$PWD/skara/skara.gitconfig" |
The If you are running on an x64 system using Linux, Macos or Windows, the Skara tooling will bootstrap itself the first time you use any of the Skara commands. For other platforms you will need to explicitly provide a JDK 16 or later and run the build directly:
Code Block | ||
---|---|---|
| ||
$ JAVA_HOME=/path/to/jdk-16/or/later bash gradlew |
To check that everything To check that everything works run git skara help
:
Code Block | ||
---|---|---|
| ||
$ git skara help |
Note: if your computer is behind a HTTP(S) proxy, ensure that you have set the HTTPS_PROXY
environment variable correctly.
For additional ways to install the Skara CLI tooling, see project Skara's README.
To update the Skara tooling run git skara update
:
Note: installing skara more than once can cause issues. If git config --get-all include.path
returns more than one line, the skara bootstrap mechanism will get confused. Either make sure to only have one installation, or edit that line to read grep 'skara.gitconfig' | tail -1
assuming the last one is the right one.
For additional ways to install the Skara CLI tooling, see project Skara's README.
To update the Skara tooling run git skara update
:
Code Block | ||
---|---|---|
| ||
Code Block | ||
| ||
$ git skara update |
The update command pull pulls eventual updates and rebuild the tooling if necessary. Note: if your computer is behind a HTTP(S) proxy, ensure that you have set the HTTPS_PROXY
environment variable correctly.
If you are using system other than Linux, Macos, or Windows x64, you need to provide a JDK 16 or later and run the build directly as described above after using git to update the Skara repository.
If the update command for some reason isn't working or you just want to manually retrace the steps you can each step manually like this:
Code Block | ||
---|---|---|
| ||
$ git pull
$ bash gradlew |
Some of the Skara tools requires a personal access token (PAT) to authenticate against an external Git source code hosting provider's API. A personal access token is a like a password that has limited capabilities, it can only be used to successfully authenticate and perform certain limited actions. The following Skara tools requires a personal access token:
...
If you installed Git via Git for Windowsfor Windows and have a recent version, then you already have a credential manager from Microsoft installed (it is bundled with Git for Windows, but make sure to pick it during installation). If you installed Git via some other mechanism, then you must first install Microsoft's Git Credential Manager. If you have an older version of Git for Windows and using the deprecated Git Credential Manager for Windows, you may need to configure git to use the credential manager like this:
Code Block | ||
---|---|---|
| ||
$ git config --global credential.helper manager |
To generate a a personal access token on GitHub go to https://github.com/settings/tokens and and click on "Generate new token". You only need to select the "repo" scope (permission). After you have generated your personal access token, store it in the Git Credential Manager for Windows using Keychain using git token store:
Code Block | ||
---|---|---|
| ||
>$ git token store https://github.com Username: <insert your Github username> Password: <insert your "Personal Access Token", not your GitHub password> |
...
Warning |
---|
This is not as secure as storing the personal access token encrypted. Any person or program who can read |
An insecure way to store your personal access token is to configure Git to store the personal access token unencrypted in the file ~/.git-credentials
...
. You can configure Git do to this by running the following command:
Code Block | ||
---|---|---|
| ||
$ git config --global credential.helper store |
To generate a personal access token on GitHub go to https://github.com/settings/tokens and click on "Generate new token". You only need to select the "repo" scope (permission). After you have generated your token, store it in An insecure way to store your personal access token is to configure Git to store the personal access token unencrypted in the file ~/.git-credentials
. You can configure Git do to this by running the following command git token store
:
Code Block | ||
---|---|---|
| ||
$ git config --global credential.helper store |
...
token store https://github.com |
...
Username: <insert your Github username>
Password: <insert your "Personal Access Token", not your GitHub password> |
Please see the documentation for each tool on the tool's individual wiki page:
Code Block | ||
---|---|---|
| ||
$ git token store https://github.com
Username: <insert your Github username>
Password: <insert your "Personal Access Token", not your GitHub password> |
...
The following sections contains examples on how to use the Skara CLI tools. For more detailed information on how to use a certain tool, pass the -h
flag to it, for example git pr -h
see the documentation for that tool.
...