All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
- Update dependencies
- Use force push (
-f
) by default. This allows mirroring rebasing branches. - Update dependencies
- Add option to disable Git LFS by adding
lfs: false
to the description YAML.
- Don't run
git lfs fetch
with--all
option to avoid fetching unnecessary artifacts.
- Fix missing
--version
flag
- Remove docker builds. They are not working anymore and outdated.
- Add
--lfs
command line flag. To include LFS artifacts.
- Update dependencies
- Add
--fail-on-sync-error
command line flag. It triggers exiting with 1 if any of the sync tasks fail
- Failed runs return a non zero exit code #39
- Update OpenSSL to 1.1.1q to address security vulnerability
- Update dependencies
- Update dependencies
- Update rust version
- Prefer custom refspec
- Update dependencies
- Don't report skipped tasks as YAML parser error.
- --version now prints the correct name
- Properly handle
no_proxy
(reqwest 0.10.8)
- Fix generation of release binaries for linux, macos and windows.
- Native TLS support now enabled for reqwest
- The linux binaries now use a vendored static versions of openssl.
- Builds for other systems than 64-bit Linux, Windows and MacOS removed.
- The deprecated
GITLAB_PRIVATE_TOKEN
is not longer recognized. UsePRIVATE_TOKEN
instead.
- Commandline parsing changed from clap to structopt.
- Updated dependencies
- Update dependencies
- Better progress reporting by adding index and total in START and END messages
- Allow logging to be configured via the
RUST_LOG
variable ofenv_logger
- Add posibility to set the global default
refspec
via command line argument--refspec
. This will be used if no repo specific refspec is given.
- Change job end marker from
OK
->END(OK)
andFAIL
->END(FAIL)
. This allows easier parsing.
- Allow specifying a
refspec
for things to push to the destination path.
- Use Rust 2018 edition
- Update dependencies
- Add parameter to sumarize the results in a JUnit XML compatible format. This format can be parsed by many reporting tools, including Gitlab CI and Jenkins.
- Update to reqwest 0.9. This makes git-mirror compatible with OpenSSL 1.1.1.
- Update dependencies
- Update dependencies
- Automatically find OpenSSL certificates by searching in different known paths.
This can be overriden manually by setting the
SSL_CERT_DIR
andSSL_CERT_FILE
enivronment variables.
- Provider selection now working correctly
- Binary size reduced by using LTO
- Hyper replaced by reqwest
- RusTLS is no longer supported as a TLS provider
- Environment variable
GITLAB_PRIVATE_TOKEN
, replaced byPRIVATE_TOKEN
- Improved error logging for git commands
- Updated dependencies
- Docker image now uses native-tls instead of RusTLS
- Fix compatibility with Gitlabl < 10.3
- GitLab subgroups support
- Docker container
- Updated dependencies
- Prometheus metrics contain mirror label to support multiple git-mirror jobs per machine
- Support exporting metrics via Prometheus via textfile collector
- Allow only one instance per mirror directory
- Fetch all projects from gitlab using pagination
- Add timestamp for logs on stderr
- Improve output to stdout for parallel output
- Don't hardcode path to git binary
- Fix issue with non existing working directory
- Add Travis CI support
- Update dependencies
- Add support for Github
- Use RusTLS by default
- Inital Releas
- Support GitLab