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 8.20200309 released with these changes

  • Fix bug that caused unlocked annexed dotfiles to be added to git by the smudge filter when annex.dotfiles was not set.
  • Upgrade other repos than the current one by running git-annex upgrade inside them, which avoids problems with upgrade code making assumptions that the cwd will be inside the repo being upgraded. In particular, this fixes a problem where upgrading a v7 repo to v8 caused an ugly git error message.
  • Fix upgrade failure when a file has been deleted from the working tree.
  • Fix regression 1 month ago that prevented external special remotes from using GETCONFIG to query values like "name".
  • Improve behavior when a directory git-annex is writing to gets unmounted. Previously it could in some cases re-create the mount point and directory tree, and even write object contents to the wrong disk.
  • Don't ignore --debug when it is followed by -c.
  • whereis: If a remote fails to report on urls where a key is located, display a warning, rather than giving up and not displaying any information.
  • When external special remotes fail but neglect to provide an error message, say what request failed, which is better than displaying an empty error message to the user.
  • git-annex config: Only allow configs be set that are ones git-annex actually supports reading from repo-global config, to avoid confusion.
  • Avoid converting .git file in a worktree or submodule to a symlink when the repository is not a git-annex repository.
  • Linux standalone: Use md5sum to shorten paths in .cache/git-annex/locales
  • Fix build with ghc 8.8 (MonadFail) Thanks, Peter Simons
  • stack.yaml: Updated to lts-14.27.
Posted Mon Mar 9 21:09:08 2020

git-annex 7.20200309 released with these changes

  • Fix regression that prevented external special remotes from using GETCONFIG to query values like "name". (Introduced in version 7.20200202.7.)
Posted Mon Mar 9 16:59:11 2020

News for git-annex 8.20200226:

This version of git-annex uses repository version 8 for all repositories. Existing repositories will be automatically upgraded by default. You can prevent this, by runing: git config annex.autoupgraderepository false The upgrade process involves regenerating some sqlite databases. There are a couple consequences of the upgrade to keep in mind:

  • Any incremental fscks that were started in v7 won't resume where they left off in v8, but will instead begin again from the first file.

  • An interrupted export that was started in v7 won't resume where it left off after upgrade to v8; files will be re-uploaded to the export remote.

  • After the upgrade, git-annex will in some situations have to do extra work while it finishes populating its sqlite databases.

Also, there are some behavior changes around adding dotfiles. While before git-annex add skipped adding dotfiles when operating on whole directories, and added dotfiles that were explicitly listed to the annex, it now adds dotfiles to git by default, unless annex.dotfiles is set to true.

git-annex 8.20200226 released with these changes

  • New v8 repository version.
  • v7 upgrades automatically to v8. The upgrade deletes old sqlite databases, which may cause git-annex to need to do extra work to regenerate the databases or due to not having the information from the old databases available. Two notable cases are interrupted incremental fscks and interrupted exports, both of which will restart from the beginning.
  • Improved serialization of filenames and keys to the sqlite databases, avoiding encoding problems and speeding up operations on them.
  • Add some missing indexes to sqlite databases. This will speed up some things involving export and import remotes, and git-annex smudge. Microbenchmarks show around 10-25% speedup of sqlite database operations.
  • add: When adding a whole directory, any dotfiles found in it will not be skipped, but will be added to git by default. This behavior can be configured with annex.dotfiles.
  • add: Removed special case for explicitly passing dotfiles, that no longer adds them to the annex, but to git. This behavior can be configured with annex.dotfiles.
  • add: Removed the --include-dotfiles option.
  • initremote, enableremote: Set remote.name.skipFetchAll when the remote cannot be fetched from by git, so git fetch --all will not try to use it.
  • Fix some cases where handling of keys with extensions varied depending on the locale.
  • annex.maxextensionlength used to be the number of characters, not bytes, when in a utf-8 locale. It's now always the number of bytes.
  • Extended annex.security.allowed-ip-addresses to let specific ports of an IP address to be used, while denying use of other ports.
  • init --version: When the version given is one that automatically upgrades to a newer version, use the newer version instead.
  • Auto upgrades from older repo versions, like v5, now jump right to v8.
  • Makefile: Support newer versions of cabal that use the new-build system.
Posted Wed Feb 26 23:10:17 2020

News for git-annex 7.20200226:

There was a serious regression in gcrypt and encrypted git-lfs remotes. Since version 7.20200202.7, git-annex incorrectly stored content on those remotes without encrypting it. If your remotes are affected, you will want to make sure to delete any content that git-annex has stored on them that is not encrypted! One way to do so is, before upgrading to this version, run git-annex move --from the affected remotes. It will move only the content that was not encrypted.

git-annex 7.20200226 released with these changes

  • Fix serious regression in gcrypt and encrypted git-lfs remotes. Since version 7.20200202.7, git-annex incorrectly stored content on those remotes without encrypting it. If your remotes are affected, you will want to make sure to delete any content that git-annex has stored on them that is not encrypted!
  • info: Fix display of the encryption value. (Some debugging junk had crept in.)
  • Bugfix to getting content from an export remote with -J, when the export database was not yet populated.
  • Bugfix: export --tracking (a deprecated option) set annex-annex-tracking-branch, instead of annex-tracking-branch.
Posted Wed Feb 26 22:51:11 2020

git-annex 7.20200219 released with these changes

  • Added sync --only-annex, which syncs the git-annex branch and annexed content but leaves managing the other git branches up to you.
  • Added annex.synconlyannex git config setting, which can also be set with git-annex config to configure sync in all clones of the repo.
  • fsck --from remote: Fix a concurrency bug that could make it incorrectly detect that content in the remote is corrupt, and remove it, resulting in data loss.
  • When git-annex is built with a ssh that does not support ssh connection caching, default annex.sshcaching to false, but let the user override it.
  • Improve warning messages further when ssh connection caching cannot be used, to clearly state why.
  • Avoid throwing fatal errors when asked to write to a readonly git remote on http.
  • Fix support for repositories tuned with annex.tune.branchhash1=true, including --all not working and git-annex log not displaying anything for annexed files.
Posted Wed Feb 19 16:46:36 2020

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 annex.security.allow-unverified-downloads 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 annex.security.allowed-url-schemes.

  • 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 annex.security.allowed-ip-addresses.

  • 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 annex.security.allowed-http-addresses 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 id@joeyh.name. --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