Skip to content

Releases: your-tools/tsrc

v0.6.0

09 Oct 10:01
Compare
Choose a tag to compare

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

14 Aug 14:29
Compare
Choose a tag to compare
  • Add support for setting approvers with the -r,--approvers option in tsrc push (GitLab Enterprise Edition only).

v0.4.1

27 Apr 11:10
Compare
Choose a tag to compare
  • Fixed regression: tsrc push was no longer able to create a merge request on GitLab if --target was not set.

v0.4.0

26 Apr 09:29
Compare
Choose a tag to compare

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

v0.3.2

11 Dec 13:58
Compare
Choose a tag to compare
  • Improve tsrc status to handle tags. Patch by @arnaudgelas
  • Fix crash when running tsrc version

v0.3.1

06 Oct 13:47
Compare
Choose a tag to compare
  • 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

22 Sep 12:17
Compare
Choose a tag to compare

v0.3.0

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

13 Sep 14:30
Compare
Choose a tag to compare

tsrc push --assignee: fix when there are more than 50 GitLab users (#25). Reported by @arnaudgelas

v0.2.3

01 Sep 15:06
Compare
Choose a tag to compare
  • Split user interface functionality into its own project: python-cli-ui.

  • Add --quiet and --color global options.

v0.2.2

22 Aug 16:34
Compare
Choose a tag to compare

Bug fix release.

  • tsrc init: Fix crash when a repository is empty (#17). Reported by @nicolasbrechet
  • tsrc push: Fix rude message when credentials are missing (#20). Reported by @cgestes