mirror of
https://gitea.com/gitea/tea.git
synced 2026-10-26 11:01:25 +01:00
revert: tea 1.0 rewrite (#1122–#1126) (#1146)
Reverts #1126, #1125, #1124, #1123 and #1122. `go.mod` keeps the Go 1.26 line with toolchain `go1.26.9` (instead of the original `go1.26.6`) so the security fix from #1131 isn't lost. reopens #69 reopens #141 reopens #162 reopens #172 reopens #197 reopens #232 reopens #240 reopens #246 reopens #323 reopens #325 reopens #326 reopens #328 reopens #344 reopens #351 reopens #373 reopens #403 reopens #406 reopens #417 reopens #430 reopens #457 reopens #480 reopens #482 reopens #489 reopens #490 reopens #498 reopens #500 reopens #504 reopens #510 reopens #516 reopens #523 reopens #556 reopens #560 reopens #569 reopens #571 reopens #602 reopens #632 reopens #633 reopens #643 reopens #666 reopens #670 reopens #672 reopens #677 reopens #683 reopens #697 reopens #726 reopens #737 reopens #770 reopens #779 reopens #804 reopens #817 reopens #831 reopens #833 reopens #834 reopens #908 reopens #966 reopens #1023 reopens #1029 reopens #1032 reopens #1050 reopens #1052 reopens #1069 reopens #1073 reopens #1087 reopens #1091 reopens #1094 reopens #1110 reopens #1115 reopens #1116 reopens #1118 Reviewed-on: https://gitea.com/gitea/tea/pulls/1146 Reviewed-by: TheFox0x7 <95654+thefox0x7@noreply.gitea.com>
This commit is contained in:
1 parent
33bb12729e
commit
c5f674111a
604 files changed
+33711
-35545
No files matched your search
@@ -8,29 +8,96 @@
|
||||
|
||||
## The official CLI for Gitea
|
||||
|
||||
Tea manages repositories, issues, pull requests, releases, and other Gitea resources
|
||||
with explicit commands suitable for local development and CI.
|
||||

|
||||
|
||||
```sh
|
||||
tea auth login --host https://gitea.example.org --with-token < token-file
|
||||
tea issue list --repo owner/repository
|
||||
tea pr view 123 --repo owner/repository --json
|
||||
tea alias set bugs 'issue list --label bug'
|
||||
tea help
|
||||
```
|
||||
NAME:
|
||||
tea - command line tool to interact with Gitea
|
||||
|
||||
USAGE:
|
||||
tea [global options] [command [command options]]
|
||||
|
||||
VERSION:
|
||||
Version: 0.10.1+15-g8876fe3 golang: 1.25.0 go-sdk: v0.21.0
|
||||
|
||||
DESCRIPTION:
|
||||
tea is a productivity helper for Gitea. It can be used to manage most entities on
|
||||
one or multiple Gitea instances & provides local helpers like 'tea pr checkout'.
|
||||
|
||||
tea tries to make use of context provided by the repository in $PWD if available.
|
||||
tea works best in a upstream/fork workflow, when the local main branch tracks the
|
||||
upstream repo. tea assumes that local git state is published on the remote before
|
||||
doing operations with tea. Configuration is persisted in $XDG_CONFIG_HOME/tea.
|
||||
|
||||
COMMANDS:
|
||||
help, h Shows a list of commands or help for one command
|
||||
|
||||
ENTITIES:
|
||||
issues, issue, i List, create and update issues
|
||||
pulls, pull, pr Manage and checkout pull requests
|
||||
labels, label Manage issue labels
|
||||
milestones, milestone, ms List and create milestones
|
||||
releases, release, r Manage releases
|
||||
times, time, t Operate on tracked times of a repository's issues & pulls
|
||||
organizations, organization, org List, create, delete organizations
|
||||
repos, repo Show repository details
|
||||
branches, branch, b Consult branches
|
||||
actions Manage repository actions (secrets, variables)
|
||||
comment, c Add a comment to an issue / pr
|
||||
webhooks, webhook Manage repository webhooks
|
||||
|
||||
HELPERS:
|
||||
open, o Open something of the repository in web browser
|
||||
notifications, notification, n Show notifications
|
||||
clone, C Clone a repository locally
|
||||
|
||||
MISCELLANEOUS:
|
||||
whoami Show current logged in user
|
||||
admin, a Operations requiring admin access on the Gitea instance
|
||||
|
||||
SETUP:
|
||||
logins, login Log in to a Gitea server
|
||||
logout Log out from a Gitea server
|
||||
|
||||
GLOBAL OPTIONS:
|
||||
--debug, --vvv Enable debug mode (default: false)
|
||||
--help, -h show help
|
||||
--version, -v print the version
|
||||
|
||||
EXAMPLES
|
||||
tea login add # add a login once to get started
|
||||
|
||||
tea pulls # list open pulls for the repo in $PWD
|
||||
tea pulls --repo $HOME/foo # list open pulls for the repo in $HOME/foo
|
||||
tea pulls --remote upstream # list open pulls for the repo pointed at by
|
||||
# your local "upstream" git remote
|
||||
# list open pulls for any gitea repo at the given login instance
|
||||
tea pulls --repo gitea/tea --login gitea.com
|
||||
|
||||
tea milestone issues 0.7.0 # view open issues for milestone '0.7.0'
|
||||
tea issue 189 # view contents of issue 189
|
||||
tea open 189 # open web ui for issue 189
|
||||
tea open milestones # open web ui for milestones
|
||||
|
||||
tea actions secrets list # list all repository action secrets
|
||||
tea actions secrets create API_KEY # create a new secret (will prompt for value)
|
||||
tea actions variables list # list all repository action variables
|
||||
tea actions variables set API_URL https://api.example.com
|
||||
|
||||
tea webhooks list # list repository webhooks
|
||||
tea webhooks list --org myorg # list organization webhooks
|
||||
tea webhooks create https://example.com/hook --events push,pull_request
|
||||
|
||||
# send gitea desktop notifications every 5 minutes (bash + libnotify)
|
||||
while :; do tea notifications --mine -o simple | xargs -i notify-send {}; sleep 300; done
|
||||
|
||||
ABOUT
|
||||
Written & maintained by The Gitea Authors.
|
||||
If you find a bug or want to contribute, we'll welcome you at https://gitea.com/gitea/tea.
|
||||
More info about Gitea itself on https://about.gitea.com.
|
||||
```
|
||||
|
||||
tea 1.0 is a breaking release: it requires Gitea 28 or newer, commands, flags and
|
||||
output formats changed, it uses separate `config.yml` and `hosts.yml` files, and it
|
||||
requires fresh authentication.
|
||||
Existing combined configuration files are left untouched; archive the old file or
|
||||
choose an isolated `TEA_CONFIG_DIR` before setup. See
|
||||
[Migrating to tea 1.0](docs/migration-1.0.md) for the old-to-new mapping.
|
||||
Run `tea --help` or `tea <command> --help` for supported commands and flags; the
|
||||
full reference, man pages, and shell completions ship in each release's docs archive.
|
||||
Credentials use the operating-system keyring by default; explicitly
|
||||
select `--credential-store file` when private file storage is needed. For CI,
|
||||
supply `GITEA_TOKEN` and its instance through `TEA_HOST` or `GITEA_INSTANCE_URL`;
|
||||
environment credentials are never persisted.
|
||||
- tea uses [gitea.dev/sdk](https://gitea.dev/sdk) and interacts with the Gitea API.
|
||||
|
||||
## Installation
|
||||
|
||||
@@ -61,15 +128,15 @@ Gitea can use many different authentication schemes, and not every authenticatio
|
||||
|
||||
3. In your "user settings", generate an application token with at least **user read** permissions. If you want to do anything useful with the token add additional permissions/scopes.
|
||||
|
||||
4. Save the token in a private file and run `tea auth login --host https://your-instance --with-token < token-file`. Credentials use the operating-system keyring by default.
|
||||
4. Run `tea login add`, select **application token** authentication when asked for authentication type, and answer **yes** to the question if you have a token. Paste the generated token when asked for one.
|
||||
|
||||
You should now be logged in to your gitea instance from tea.
|
||||
|
||||
Alternatively, `tea auth login --host https://your-instance --oauth` authorizes tea in your browser. OAuth may not be available on all Gitea deployments, and needs a browser on the machine running tea.
|
||||
Since 0.10 Gitea supports the much simpler oauth workflow but oauth may not be available on all Gitea deployments, and gets much more complex when running tea on a remote system.
|
||||
|
||||
### Shell completion
|
||||
|
||||
If you installed from source or the package does not provide the completions with it you can add them yourself with `tea completion <shell>` command. To generate the completions run one of the following commands depending on your shell.
|
||||
If you installed from source or the package does not provide the completions with it you can add them yourself with `tea completion <shell>` command which is not visible in help. To generate the completions run one of the following commands depending on your shell.
|
||||
|
||||
```shell
|
||||
# .bashrc
|
||||
@@ -81,8 +148,8 @@ source <(tea completion zsh)
|
||||
# fish
|
||||
tea completion fish > ~/.config/fish/completions/tea.fish
|
||||
|
||||
# PowerShell profile
|
||||
tea completion powershell | Out-String | Invoke-Expression
|
||||
# Powershell
|
||||
Output the script to path/to/autocomplete/tea.ps1 an run it.
|
||||
```
|
||||
|
||||
### Man Page
|
||||
@@ -97,16 +164,16 @@ man <(tea man)
|
||||
man (tea man | psub)
|
||||
|
||||
# write man page to a file
|
||||
tea man --output-file ./tea.man
|
||||
tea man --out ./tea.man
|
||||
```
|
||||
|
||||
## Compilation
|
||||
|
||||
Make sure you have a current Go version installed (1.27 or newer).
|
||||
Make sure you have a current Go version installed (1.26 or newer).
|
||||
|
||||
- To compile the source yourself with the recommended flags & tags:
|
||||
```sh
|
||||
git clone https://gitea.com/gitea/tea.git # or: tea repo clone https://gitea.com/gitea/tea ;)
|
||||
git clone https://gitea.com/gitea/tea.git # or: tea clone gitea.com/gitea/tea ;)
|
||||
cd tea
|
||||
make
|
||||
```
|
||||
@@ -126,10 +193,8 @@ Make sure you have a current Go version installed (1.27 or newer).
|
||||
|
||||
Fork -> Patch -> Push -> Pull Request
|
||||
|
||||
- `make test` run unit tests
|
||||
- `make test` run testsuite
|
||||
- `make vet` run checks (check the order of imports; preventing failure on CI pipeline beforehand)
|
||||
- `make build` builds the production CLI
|
||||
- `make docs` regenerates references, man pages, and shell completions in `docs/generated` (not committed; built on release)
|
||||
- ... (for other development tasks, check the `Makefile`)
|
||||
|
||||
**Please** read the [CONTRIBUTING](CONTRIBUTING.md) documentation, it will tell you about internal structures and concepts.
|
||||
|
||||
Reference in new issue
Block a user