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 these changes

  • 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.