- Updated README.md section "Installation on MacOS". Thanks to Ihor Dutchak for the attribute clearing command!
- Updated README.md section "Configuration" to include the new
CloneStyleoption. - Added README.md section "Development".
- Bugfix in functional test with an invalid repository name.
- Moved main entry point into the module to allow building a wheel.
- Added first support in Makefile to build and test a wheel.
- Added support to the github runner to create a wheel release.
- New partial clone mode available by setting the config variable
CloneStyle(sectionClone) toPartialFirstor setting the environment variableGITCACHE_CLONE_STYLE=PartialFirst. This mode creates the mirror by performing a shallow clone first followed by agit fetch -unshallow. Thanks to An Darejkal for the implementation!
- Support flags
--recursive,--recurse-submodulesand--remote-submodulesofgit clone.
- Updated pip dependencies
- Added support to build Alpine binaries
- Added support to build Ubuntu 24.04 image
- Use macos-15 instead of macos-14 github runner.
- Feature: Use own implementation of rmtree that handles PermisionError whenever a directory is to be deleted.
- Feature: Added release for MacOS x86_64 (thanks to Ihor Dutchak)
- Feature: Release on MacOS is not a single executable any more but a directory. This is necessary as MacOS has a huge startup delay (about 5s per gitcache call!).
- Workaround: Git for Windows has a bug preventing asking for a password when stderr is redirected (see git-for-windows/git#1613). As a workaround, we disable stderr capture (and analysis) if we find the pattern "Permission denied (publickey)." in stderr.
- Bugfix: Prevent creating mirrors from existing gitcache mirror directories.
- Bugfix: Fixed unit tests.
- Feature: Fixes to support MacOS.
- Bugfix: Fixed relative submodule URLs (thanks to Ihor Dutchak)
- Bugfix: Normalize all URLs to prevent escape of
mirrorsdirectory and to maximize utilization of the cache - Note: Due to the new normalization is is recommended to clear the cache before using this new version!
- Feature: Added support for Ubuntu 24.04
- Feature: Added
CHANGELOG.mdfile. - Bugfix: Fixes functional tests on windows when using the python script (not the pyinstaller binary)
- Removed support for Ubuntu 18.04.
- Feature: Use make4py infrastructure.
- Bugfix: Support all possible remote repository specifications.
- Bugfix: Fixed a bug on windows when gitcache is called as
git.exeinstead ofgit. - Feature: Updated pip dependencies.
- Bugfix: Fixed a bug that occurs when a
git cloneis aborted which prevented cloning the repository again.
- Feature: Updated pip dependencies.
- Feature: Update of Makefile.
- Bugfix: Bugfix in
git submodule update --init --recursiveto update the submodule before traversing down the tree and updating the submodules of that module.
- This release provides the first version of the windows port of gitcache which
required a major rewrite of the internals:
- Rewritten all calls of git from within gitcache to use a list of command arguments rather than strings, disabled the use of an extra shell and replaced all additional tools like grep and awk with python code.
- Replaced the functional tests that were written in bash with a new simple framework written in python.
- Added a more complicated version of rmtree to delete a repository
tree. This was necessary as on Windows the default
shutils.rmtree()function was not working out of the box. - Added a Vagrantfile to create a virtual machine suitable for building and testing the gitcache release for Windows.
- Extended the Makefile to distinguish between Windows and Linux.
- Create release for Windows and Ubuntu 22.04.
- Featue: Added configuration options (and environment variables) to specify regex patterns to select the repositories on which gitcache should be used.
- Feature: Updated the README.md to describe the configuration options in more detail.
- Feature: Extended functional tests to check recursive submodule update checkout.
- Feature: Implemented recursive submodule update functionality.
- Feature: Reworked functional tests.
- Feature: Ensured gitcache works with and without git-lfs.
- Feature: Intercept
git lfs pullcommand to perform a git lfs fetch first. - Feature: Ensure git checkout performs a git lfs fetch only on remote refs (avoids ugly error messages).
- Feature: Added the version output of gitcache for the command line
gitcache --version.
- Feature: New git command line parser.
- Bugfix: Fix issue #1 - git lfs fetch command is not correctly interpreted.
- Bugfix: Fix issue #2 - "git clone ... -b branch" causes error.
- Bugfix: Avoid updating LFS two times in a row when called via
git pulland using the default rev. - Bugfix regarding git submodule update.
- Bugfix: Handle ssh URLs.
- Bugfix: Handle relative URLs in submodules.
- Bugfix: Handle non-fatal garbage collection errors when updating a mirror.
- Bugfix: Set LFS storage and URL when using the
git fetchcommand.
- Bugfix in
git lfs fetchcommand. - Support to build releases for Ubuntu 16.04, 18.04 and 20.04.
- Initial version.