Releases: your-tools/tsrc
v0.6.0
Highlights
Add support for multiple remotes
# still valid (implicit 'origin' remote)
src: foo
url: [email protected]/foo
# also valid (two explicit remotes)
src: fooo
remotes:
- { name: origin, url: [email protected]:john/foo }
- { name: upstream, url: [email protected]:foo/foo}
# not valid (ambiguous)
src: foo
url: [email protected]:john/foo
remotes:
- { name: upstream, url: [email protected]:foo/foo }
Thanks @tst2005 and @cgestes for their help with the configuration format.
tsrc foreach
tsrc foreach
: add a--group
option to select the repositories to run the command on. Fix #40
Other fixes
- Fix #113: do not hide branch when showing tag status.
- Add support for Python 3.7
v0.5.0
- Add support for setting approvers with the
-r,--approvers
option intsrc push
(GitLab Enterprise Edition only).
v0.4.1
- Fixed regression:
tsrc push
was no longer able to create a merge request on GitLab if--target
was not set.
v0.4.0
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[email protected]
.
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 for details.
- Fix missing merge requests in
tsrc push
(see issue #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:
repos:
- src: [email protected]/foo
fixed_ref: 42a70
new:
repos:
- src: [email protected]/foo
tag: v0.1
See the dedicated section about manifest format and the #57 pull request discussion 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 toSuperTanker
. New urls are:- github.com/SuperTanker/tsrc for the git repository
- supertanker.github.io/tsrc for the documentation
-
We now use pipenv for dependency handling.
v0.3.2
- Improve
tsrc status
to handle tags. Patch by @arnaudgelas - Fix crash when running
tsrc version
v0.3.1
- Improve
tsrc status
output. Now also shows number of commits ahead and behind, and display a short SHA-1 when not on any branch. Initial patch by @arnaudgelas.
v0.3.0
v0.3.0
- Breaking change: Add support for groups (#30). Reported by @arnaudgelas
Upgrading from v0.2.4
To upgrade from an older version of tsrc
, you should re-run tsrc init
with the correct url:
# Check manifest URL:
$ cd <workspace>/.tsrc/manifest
$ git remote get-url origin
# Note the url, for instance ssh://[email protected]:manifest.git
$ cd <workspace>
$ tsrc init <manifest-url>
This is required to create the <workspace>/.tsrc/manifest.yml
file which is later used by tsrc sync
and other commands.
v0.2.4
tsrc push --assignee
: fix when there are more than 50 GitLab users (#25). Reported by @arnaudgelas
v0.2.3
-
Split user interface functionality into its own project: python-cli-ui.
-
Add
--quiet
and--color
global options.
v0.2.2
Bug fix release.
tsrc init
: Fix crash when a repository is empty (#17). Reported by @nicolasbrechettsrc push
: Fix rude message when credentials are missing (#20). Reported by @cgestes