v2.1.0
Breaking changes
Change in manifest syntax
It was discovered that the manifest syntax was confusing for newcomers, so we decided to update it.
In particular, the src key meant both a relative path in the workspace when used in the repo config, and a relative path in the a repository when using in the repo.copy config.
Starting with this release, repo.src becomes repo.dest and repo.copy.src becomes repo.copy.file.
# Before (tsrc < 2.1.0)
repos:
url: "https://acme.corp/foo"
src: foo
copy:
src: some-file
dest: some-file# After (tsrc >= 2.1.0)
repos:
url: "https://acme.corp/foo"
dest : foo
copy:
file: some-file
dest: some-fileThis should make it clearer what tsrc does because:
destnow always refers to a relative path in the workspace (both inrepoandcopy).- By using
repo.copy.fileit's obvious thattsrconly supports copying files, not directories.
Supported Python versions
Drop support for Python 3.5
New features
tsrc initlearned a-r, --remoteoption that pins the remote with the given name as the only remote to be used for cloning and syncing.
tsrcexpects 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: Preserves file attributes during the
copystatements inrepos
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
libgit2instead of running git commands in the tests helpers). - Add a scheduled GitHub action to run
safety - Remove usage of deprecated API of the
pathlibrary. - Run tests and linters for external pull requests too.