git-annex 10.20240831 released with these changes

  • Special remotes configured with exporttree=yes annexobjects=yes can store objects in .git/annex/objects, as well as an exported tree.
  • Support proxying to special remotes configured with exporttree=yes annexobjects=yes, and allow such remotes to be used as cluster nodes.
  • post-retrieve: When proxying is enabled for an exporttree=yes special remote (or it is a cluster node) and the configured remote.name.annex-tracking-branch is received, the tree is exported to the special remote.
  • Support "balanced=", "fullybalanced=", "sizebalanced=" and "fullysizebalanced=" in preferred content expressions.
  • Added --rebalance option.
  • Added the annex.fullybalancedthreshhold git config.
  • maxsize: New command to tell git-annex how large the expected maximum size of a repository is, and to display repository sizes.
  • vicfg: Include maxsize configuration.
  • info: Improved speed by using new repository size tracking.
  • lookupkey: Allow using --ref in a bare repository.
  • export: Added --from option.
  • git-remote-annex: Store objects in exportree=yes special remotes in the same paths used by annexobjects=yes. This is a backwards compatible change.
  • updateproxy, updatecluster: Prevent using an exporttree=yes special remote that does not have annexobjects=yes, since it will not work.
  • The config versioning=true is now reserved for use by versioned special remotes. External special remotes should not use that config for their own purposes.