News for git-annex 7.20190912: This version of git-annex uses repository version 7 for all repositories. Existing v5 repositories will be automatically upgraded by default. You can prevent this, by runing: git config annex.autoupgraderepository false A v7 repository can can have some files locked while other files are unlocked, and all git and git-annex commands can be used on both locked and unlocked files. It's a good idea to make sure that all users of the repository have upgraded git-annex and upgraded their repositories to the new version before starting to use that feature, since old versions of git-annex will ignore the new unlocked files. The behavior of some commands changes in an upgraded repository: * `git add` will add files to the annex, rather than adding them directly to the git repository. To cause some files to be added directly to git, you can configure `annex.largefiles`. For example: git config annex.largefiles "largerthan=100kb and not (include=*.c or include=*.h)" * `git annex unlock` and `git annex lock` change how the pointer to the annexed content is stored in git. If you commit the change, that will impact all clones of the repository. git-annex 7.20190912 released with [[!toggle text="these changes"]] [[!toggleable text=""" * Default to v7 for new repositories. * Automatically upgrade v5 repositories to v7. * Automatically convert direct mode repositories to v7 with adjusted unlocked branches and set annex.thin. * Added annex.autoupgraderepository configuration that can be set to false to prevent any automatic repository upgrades. * Refuse to upgrade direct mode repositories when git is older than 2.22, which fixed a memory leak that could cause an OOM during the upgrade. * Removed support for git versions older than 2.1. * assistant: When creating a new repository, no longer use direct mode, instead use v7 adjusted branches with annex.thin. * init: When run on a crippled filesystem with --version=5, will error out, since version 7 is needed for adjusted unlocked branch. * direct: This command always errors out as direct mode is no longer supported. * indirect: This command has become a deprecated noop. * proxy: This command is deprecated because it was only needed in direct mode. (But it continues to work.) * info: Removed the "repository mode" from its output (including the --json output) since with the removal of direct mode, there is no repository mode. * info: When file matching options are specified when getting info of something other than a directory, they won't have any effect, so error out to avoid confusion. * info: Display trust level when getting info on a uuid, same as a remote. * When upgrading a direct mode repo to v7 with adjusted unlocked branches, fix a bug that prevented annex.thin from taking effect for the files in working tree. * Avoid making a commit when upgrading from direct mode to v7. * init: Catch more exceptions when testing locking. * init: Fix a reversion that broke initialization on systems that need to use pid locking. * A git-annex-standalone rpm is now distributed along with the standalone tarball. * Added standalone/rpm/rpmbuild-from-standalone-tarball script."""]]