Tsrc

Latest version: v3.0.1

Safety actively analyzes 630450 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 3 of 8

2.1.0

repos:
url: "https://acme.corp/foo"
dest : foo
copy:
file: some-file
dest: some-file


This should make it clearer what `tsrc` does because:

* `dest` now always refers to a relative path in the workspace (both in `repo` and `copy`).
* By using `repo.copy.file` it's obvious that `tsrc` only supports copying files, not directories.

Supported Python versions

Drop support for Python 3.5


New features

* `tsrc init` learned a `-r, --remote` option that pins the remote with the given name as the only remote to be used for cloning and syncing.
`tsrc` expects this remote to be present in the manifest for all repositories.
This is useful if you use the same workspace in different physical locations,
and one of the remotes is behind a VPN for instance. Patch by tronje.

Bug fixes

* Fix [217](https://github.com/TankerHQ/tsrc/issues/217): Preserves file attributes during the `copy` statements in `repos`

Other

* The whole test suite now runs without errors on Windows - and Windows support is now part of the GitHub Actions checks.
* The tests now run faster and with more readable output (this was done by using `libgit2` instead of running git commands in the tests helpers).
* Add a scheduled GitHub action to run `safety`
* Remove usage of deprecated API of the `path` library.
* Run tests and linters for external pull requests too.

2.0.0

* Remove the `tsrc push` command and all review automation features. Please use [hub](https://github.com/github/hub), [lab](https://github.com/zaquestion/lab), or [repo](https://github.com/guyzmo/git-repo) instead.
See [207](https://github.com/TankerHQ/tsrc/issues/207) for the discussion leading to this removal.

* Implement small improvements on `tsrc` output messages.
* Add `tsrc apply-manifest`, to apply changes in a manifest file locally, without having to make a commit and push to a server first.

1.0.3

* Use [poetry](https://python-poetry.org) for dependency management and packaging.

1.0.2

* Fix `python_requires` value in project metadata

1.0.1

* Fix 196: Do not attempt file copies for non-cloned repos when using `tsrc init` with a list of groups.

1.0.0

Starting the new year with a stable release, at last!

Revamp group UX

The changes below in the configuration file and command line syntax allow for better UX regarding groups. See the
[corresponding milestone](https://github.com/TankerHQ/tsrc/milestone/1) for the ful list.

New configuration file

Previously, `tsrc` stored its permanent config in `.tsrc/manifest.yml` and the file was not supposed to be edited by hand. Instead, users could use `tsrc init` to modify it, for instance with the `--branch` argument.

Starting with this release, the command `tsrc init` can only be run once per workspace, and you must edit the `.tsrc/config.yml` file instead.

Changes in command line syntax

* `tsrc init`: remove `--file` option.
* `tsrc foreach`: instead of repeating the `--group` option, you can use `--groups` with a list of groups:

bash
before
tsrc init --group foo --group bar

after
tsrc init --groups foo bar


* `tsrc init` learned a `--clone-all-repos` option to clone all repositories from the manifest,
regardless of the groups. Fix 181

* `tsrc foreach` learned a `--groups-from-config` option to use the groups configured in the workspace. Fix 178, 179.

* `tsrc push` learned a `-o, --origin` option to specify a remote name different from "origin". Fix 170

Page 3 of 8

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.