This is where announcements of new releases, features, and other news is posted. git-annex users are recommended to subscribe to this page's RSS feed. Also, see security for security announcements.

RSS Atom Add a new post titled:

git-annex 7.20190322 released with these changes

  • New feature allows importing from special remotes, using git annex import branch:subdir --from remote
  • Directory special remote supports being configured with importree=yes, to allow git-annex import of files from the directory. This can be combined with exporttree=yes and git-annex export used to send changes back to the same directory.
  • Remote tracking branches are updated when importing and exporting to special remotes, in ways analagous to how git fetch and git push do.
  • export: Deprecated the --tracking option. Instead, users can configure remote.<name>.annex-tracking-branch themselves.
  • sync --content: When remote.<name>.annex-tracking-branch is configured, import from special remotes.
  • sync, assistant: --no-push and remote.<name>.annex-push prevent exporting trees to special remotes.
  • Fix storage of metadata values containing newlines. (Reversion introduced in version 7.20190122.)
  • Sped up git-annex export in repositories with lots of keys.
  • S3: Support enabling bucket versioning when built with aws-0.21.1.
  • stack.yaml: Build with aws-0.21.1
  • Fix cleanup of git-annex:export.log after git-annex forget --drop-dead.
  • Makefile: Added install-home target which installs git-annex into the HOME directory.
  • addurl --file: Fix a bug that made youtube-dl be used unneccessarily when adding an html url that does not contain any media.
  • Add -- before %f in the smudge/clean filter configuration, to support filenames starting with dashes. (To update the config of existing repositories, you can re-run git-annex init.)
  • fsck: Detect situations where annex.thin has caused data loss to the content of locked files.
  • Removed bundled gpg from the Linux standalone build and OSX dmg, because gpg now always wants to use gpg-agent, and shipping such a daemon in those is not a good idea.
  • import: Let --force overwrite symlinks, not only regular files.
  • Android: Fix typo of name of armv7l in installation script. Thanks, 4omecha.
  • S3: Added protocol= initremote setting, to allow https to be used on a non-standard port.
Posted Fri Mar 22 17:57:27 2019

git-annex 7.20190219 released with these changes

  • init: Fix bug when direct mode needs to be enabled on a crippled filesystem, that left the repository in indirect mode.
  • Fix false positive in export conflict detection, that occurred when the same tree was exported by multiple clones. Previous fix was incomplete.
  • When key-based retrieval from a S3 remote with exporttree=yes appendonly=yes fails, fall back to trying to retrieve from the exported tree. This allows downloads of files that were exported to such a remote before versioning was enabled on it.
  • Fix path separator bug on Windows that completely broke git-annex since version 7.20190122.
  • Improved speed of S3 remote by only loading S3 creds once.
  • Display progress bar when getting files from export remotes.
  • Fix race in cleanup of othertmp directory that could result in a failure attempting to access it.
  • fromkey: Made idempotent.
  • fromkey: Added --json.
  • fromkey --batch output changed to support using it with --json. The old output was not parseable for any useful information, so this is not expected to break anything.
  • Avoid performing repository fixups for submodules and git-worktrees when there's a .noannex file that will prevent git-annex from being used in the repository.
  • init: Don't let --force be used to override a .noannex file, instead the user can just delete the file.
  • webdav: Exporting files with '#' or '?' in their name won't work because urls get truncated on those. Fail in a better way in this case, and avoid failing when removing such files from the export, so after the user has renamed the problem files the export will succeed.
  • On Windows, avoid using rsync for local copies, since rsync is not always available there.
  • Added NetworkBSD build flag to deal with Network.BSD moving to a new package.
Posted Tue Feb 19 16:20:50 2019

git-annex 7.20190129 released with these changes

  • initremote S3: When configured with versioning=yes, either ask the user to enable bucket versioning, or auto-enable it when built with aws-0.22.
  • enableremote S3: Do not let versioning=yes be set on existing remote, because when git-annex lacks S3 version IDs for files stored in the bucket, deleting them would cause data loss.
  • S3: Detect when version=yes but an exported file lacks a S3 version ID, and refuse to delete it, to avoid data loss.
  • S3: Send a Content-Type header when storing objects in S3, so exports to public buckets can be linked to from web pages. (When git-annex is built with MagicMime support.)
Posted Tue Jan 29 19:22:40 2019

git-annex 7.20190122 released with these changes

  • sync --content: Fix dropping unwanted content from the local repository.
  • sync --content: Support dropping local content that has reached an exporttree remote that is not untrusted (currently only S3 remotes with versioning).
  • init: When --version=5 is passed on a crippled filesystem, use a v5 direct mode repo as requested, rather than upgrading to v7 adjusted unlocked. (Fixes test suite on crippled filesystems.)
  • Some optimisations, including a 10x faster timestamp parser, a 7x faster key parser, and improved parsing and serialization of git-annex branch data. Many commands will run 5-15% faster.
  • Stricter parser for keys doesn't allow doubled fields or out of order fields.
  • The benchmark command, which only had some old benchmarking of the sqlite databases before, now allows benchmarking any other git-annex commands.
  • Support being built with ghc 8.6.3 (MonadFail).
  • Removed old code that cleaned up after a bug in git-annex versions 3.20111105-3.20111110. In the unlikely event that a repo was last touched by that ancient git-annex version, the descriptions of remotes would appear missing when used with this version of git-annex.
  • Improve uuid.log parser to preserve whitespace in repo descriptions.
  • Improve activity.log parser to not remove unknown values, allowing for future expansion.
  • addunused, merge, assistant: Avoid creating work tree files in subdirectories in an edge case where the key contains "/".
  • testremote: Support testing readonly remotes with the --test-readonly option.
  • Switch to using .git/annex/othertmp for tmp files other than partial downloads, and make stale files left in that directory when git-annex is interrupted be cleaned up promptly by subsequent git-annex processes.
  • The .git/annex/misctmp directory is no longer used and git-annex will delete anything lingering in there after it's 1 week old.
  • Estimated time to completion display shortened from eg "1h1m1s" to "1h1m".
  • Fix doubled progress display when downloading an url when -J is used.
  • unused: Update suggested git log message to see where data was previously used so it will also work with v7 unlocked pointer files.
  • importfeed: Better error message when downloading the feed fails.
  • Make test suite work better when the temp directory is on NFS.
  • webapp: Remove configurator for repository, since their webdav support is going away at the end of this January.
  • webapp: Remove configurator for gitlab, which stopped supporting git-annex some time ago.
  • Android: For armv71 architecture, use the armel build.
  • Windows: If 64 bit git is installed, use it when installing git-annex. (However, rsync still won't work and this is still not the documented way to install it.)
Posted Tue Jan 22 16:28:51 2019

git-annex 7.20181211 released with these changes

  • S3: Improve diagnostics when a remote is configured with exporttree and versioning, but no S3 version id has been recorded for a key.
  • findref: Support file matching options: --include, --exclude, --want-get, --want-drop, --largerthan, --smallerthan, --accessedwithin
  • Commands supporting --branch now apply file matching options --include, --exclude, --want-get, --want-drop to filenames from the branch. Previously, combining --branch with those would fail to match anything.
  • add, import, findref: Support --time-limit.
  • Add --branch option to git-annex find and mildly deprecate findref in favor of it.
  • webdav: When initializing, avoid trying to make a directory at the top of the webdav server, which could never accomplish anything and failed on nextcloud servers. (Reversion introduced in version 6.20170925.)
  • Fix a case where upgrade to v7 caused git to think that unlocked files were modified.
  • Fix bug upgrading from direct mode to v7: when files in the repository were already committed as v7 unlocked files elsewhere, and the content was present in the direct mode repository, the annexed files got their full content checked into git.
  • Fix bug that caused v7 unlocked files in a direct mode repository to get locked when committing.
Posted Tue Dec 11 20:34:04 2018

Similar to the yearly git user survey, there is a 2018 git-annex user survey.

If you use git-annex, please take a few minutes to answer the questions!

Since git-annex is seeing increasing use to manage scientific data, the survey also includes some extra questions about that at the end.

Posted Sat Dec 1 15:46:38 2018

git-annex 6.20180626 is an important security fix release.

See the advisory for details about the security holes fixed in this release.

After upgrading git-annex, you should restart any git-annex assistant processes.

Several changes to git-annex's behavior had to be made as part of the security fixes:

  • A security fix has changed git-annex to refuse to download content from some special remotes when the content cannot be verified with a hash check. In particular URL and WORM keys stored on such remotes won't be downloaded. See the documentation of the configuration for how to deal with this if it affects your files.

  • A security fix has changed git-annex to only support http, https, and ftp URL schemes by default. You can enable other URL schemes, at your own risk, using

  • A related security fix prevents git-annex from connecting to http servers (and proxies) on localhost or private networks. This can be overridden, at your own risk, using

  • Setting annex.web-options no longer is enough to make curl be used, and youtube-dl is also no longer used by default. See the documentation of for details and how to enable them.

  • The annex.web-download-command configuration has been removed, use annex.web-options instead.

Posted Tue Jun 26 16:00:19 2018

Similar to the yearly git user survey, there is a 2015 git-annex user survey.

If you use git-annex, please take a few minutes to answer the questions!

Posted Mon Oct 19 20:05:12 2015

Similar to the yearly git user survey, I am doing a 2013 git-annex user survey.

If you use git-annex, please take a few minutes to answer my questions!

Posted Fri Nov 22 17:17:21 2013

Thanks to my recent successful git-annex crowdfunding campaign, $1000 has been set aside to award others for their contributions to git-annex by the end of 2013. This is not a lot of money, but I hope that the reward and recognition will encourage some more people to work on git-annex.

You don't need to know Haskell! You could contribute some interesting and useful special remote hooks, or write better documentation.

On the other hand, if you have learned Haskell, this might be your first chance to make some money with it! Some ideas for things to work on that would be particularly award-worthy:

  • Port git-annex to IOS, using ghc-ios. I don't plan to ever do this myself, but you could make it happen.
  • Get the git-annex assistant working in Windows, building on the existing port to Windows. Otherwise, this is on my roadmap for February.
  • Solve existing bugs or todo items. There are more than I can keep up with.

The amount of the awards will vary depending on the size of the contribution. Since this is getting started later than is ideal, I reserve the right to extend it past the end of the year if I don't get enough participants.

If you'd like to participate in this program, just email me at --Joey

Posted Thu Oct 10 22:02:33 2013

git-annex will be briefly presented at FOSDEM, on Sunday February 4th at 15:40. Details.

Thanks to Richard Hartmann for making this presentation.

Posted Sat Feb 4 18:30:28 2012

Christophe-Marie Duquesne has just announced Sharebox, a FUSE filesystem relying on git-annex:

What are your goals?  
Seamless synchronization "à la dropbox".  
Ability to use with big binary files such as mp3/movies.  
Entirely decentralized.  
Don't use unnecessary space  
Keep it simple: avoid special VCS commands and keep a filesystem  
interface as much as possible.

While still alpha, this is promising. --Joey

Posted Thu Mar 31 18:06:14 2011

Linux Weekly News has a nice article on git-annex in it this week.

Posted Thu Dec 9 15:35:07 2010