mirror of https://github.com/go-gitea/gitea.git
d0dbe52e76
Replace #10912 And there are many new tests to cover the CLI behavior There were some concerns about the "option order in hook scripts" (https://github.com/go-gitea/gitea/pull/10912#issuecomment-1137543314), it's not a problem now. Because the hook script uses `/gitea hook --config=/app.ini pre-receive` format. The "config" is a global option, it can appear anywhere. ---- ## ⚠️ BREAKING ⚠️ This PR does it best to avoid breaking anything. The major changes are: * `gitea` itself won't accept web's options: `--install-port` / `--pid` / `--port` / `--quiet` / `--verbose` .... They are `web` sub-command's options. * Use `./gitea web --pid ....` instead * `./gitea` can still run the `web` sub-command as shorthand, with default options * The sub-command's options must follow the sub-command * Before: `./gitea --sub-opt subcmd` might equal to `./gitea subcmd --sub-opt` (well, might not ...) * After: only `./gitea subcmd --sub-opt` could be used * The global options like `--config` are not affected |
||
---|---|---|
.. | ||
README | ||
backport.go |
README
`backport` ========== `backport` is a command to help create backports of PRs. It backports a provided PR from main on to a released version. It will create a backport branch, cherry-pick the PR's merge commit, adjust the commit message and then push this back up to your fork's remote. The default version will read from `docs/config.yml`. You can override this using the option `--version`. The upstream branches will be fetched, using the remote `origin`. This can be overrided using `--upstream`, and fetching can be avoided using `--no-fetch`. By default the branch created will be called `backport-$PR-$VERSION`. You can override this using the option `--backport-branch`. This branch will be created from `--release-branch` which is `release/$(VERSION)` by default and will be pulled from `$(UPSTREAM)`. The merge-commit as determined by the github API will be used as the SHA to cherry-pick. You can override this using `--cherry-pick`. The commit message will be amended to add the `Backport` header. `--no-amend-message` can be set to stop this from happening. If cherry-pick is successful the backported branch will be pushed up to your fork using your remote. These will be determined using `git remote -v`. You can set your fork name using `--fork-user` and your remote name using `--remote`. You can avoid pushing using `--no-push`. If the push is successful, `xdg-open` will be called to open a backport url. You can stop this using `--no-xdg-open`. Installation ============ ```bash go install contrib/backport/backport.go ```