Highlights
* Preliminary GitHub support
* `tsrc push`: new features and bug fixes
* Improved fixed reference handling
* Support for shallow clones
See below for the details.
Preliminary GitHub support
* Added support for creating merge requests on GitHub. No configuration required. Just make sure you are using `tsrc` from a repository which has a URL starting with `gitgithub.com`.
`tsrc` will prompt you once for your login and password and then store an API token.
Afterwards, you'll be able to use `tsrc` push to:
* Create a pull request (or update it if it already exists)
* Assign people to the request (with the `-a/--assignee` option)
* Request reviewers (with the `--reviewers` option)
* Merge the pull request (with the `--merge` option)
This change has no impact if you were already using `GitLab`.
`tsrc push`: new features and bug fixes
* Add ``--close`` option.
* **Breaking change**: `-m/--message` option is gone, use `--title` instead. There's a concept of "description" or "message" for pull requests and merge requests, but the value of the option was only used to update the *title*, so it had to be renamed.
* Do not assume local and remote tracking branch have the same name.
* Allow using `tsrc push <local>:<remote>` to explicitly specify local and remote branch names.
* Fix bugs when target is not specified on the command line. See [this commit](https://github.com/SuperTanker/tsrc/pull/107/commits/5940f96284fe13d9977fafbb05fcc3dad15ac32d) for details.
* Fix missing merge requests in `tsrc push` (see [issue 80](https://github.com/SuperTanker/tsrc/issues/80)). Patch by maximerety.
Improve fixed reference handling
**Breaking change**: Instead of using `fixed_ref` in the manifest, you should now use `tag` or `sha1`:
*old*:
yaml
repos:
- src: gitexample.com/foo
fixed_ref: 42a70
*new*:
repos:
- src: gitexample.com/foo
tag: v0.1
See the [dedicated section about manifest format](ref/formats.mdrepos) and the [57 pull request discussion](https://github.com/SuperTanker/tsrc/pull/57) for the details.
This allow us to implement different behaviors depending on whether or not the fixed ref is a tag or just a sha1.
Support for shallow clones
To save time and space, you can use `tsrc init --shallow` to only have shallow clones in your workspace.
Note that due to limitations in `git` itself, the `shallow` option cannot be used with a fixed SHA1. If you need this, prefer using a `tag` instead.
Misc
* Organization `TankerApp` was renamed to `SuperTanker`. New urls are:
* [github.com/SuperTanker/tsrc](https://github.com/SuperTanker/tsrc) for the git repository
* [supertanker.github.io/tsrc](https://supertanker.github.io/tsrc) for the documentation
* We now use [pipenv](https://docs.pipenv.org/) for dependency handling.