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

  • Fix bug in handling of annex.largefiles that use largerthan/smallerthan. When adding a modified file, it incorrectly used the file size of the old version of the file, not the current size.
  • Added --mimetype and --mimeencoding file matching options.
  • Added --unlocked and --locked file matching options.
  • Added adjust --lock, to enter an adjusted branch where files are locked.
  • git-lfs: Added support for http basic auth.
  • git-lfs: Only do endpoint discovery once when concurrency is enabled.
  • fsck --incremental/--more: Fix bug that prevented the incremental fsck information from being updated every 5 minutes as it was supposed to be; it was only updated after 1000 files were checked, which may be more files that are possible to fsck in a given fsck time window. Thanks to Peter Simons for help with analysis of this bug.
  • Test: Use more robust directory removal when built with directory-1.2.7.
  • Close sqlite databases more robustly.
  • remotedaemon: Don't list --stop in help since it's not supported.
  • enable-tor: Run kdesu with -c option.
  • enable-tor: Use pkexec to run command as root when gksu and kdesu are not available.
  • When dropping an unlocked file, preserve its mtime, which avoids git status unncessarily running the clean filter on the file.
  • uninit: Remove several git hooks that git-annex init sets up.
  • uninit: Remove the smudge and clean filters that git-annex init sets up.
  • Work around git cat-file --batch's odd stripping of carriage return from the end of the line (some windows infection), avoiding crashing when the repo contains a filename ending in a carriage return.
  • git-annex-standalone.rpm: Fix the git-annex-shell symlink.
Posted Wed Oct 9 16:33:40 2019

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.
Posted Fri Sep 13 16:54:20 2019

git-annex 7.20190819 released with these changes

  • New git-lfs special remote, which can be used to store data on any git-lfs server, including github, gitlab, and gogs.
  • Support fully encrypting all data sent to a git-lfs special remote, using a combination of gcrypt to encrypt the git data, and git-annex's encryption of its data.
  • Use the same optimisation for --in=here as has always been used for --in=. rather than the slow code path that unncessarily queries the git-annex branch.
  • Allow setting up a gcrypt special remote with encryption=shared.
  • Fix querying git for object type when operating on a file containing newlines.
  • merge: When run with a branch parameter, merges from that branch. This is especially useful when using an adjusted branch, because it applies the same adjustment to the branch before merging it.
  • init: Install working hook scripts when run on a crippled filesystem and on Windows. If your repository was set up by an old version of git-annex that omitted the hooks, you can simply re-run git-annex init to install them.
  • init: When the repo is already initialized, and --version requests a different version, error out rather than silently not changing the version.
  • S3: Fix encoding when generating public urls of S3 objects.
  • Make git-annex-standalone.deb include the shell completions again.
  • Makefile: Changed default zsh completion location to zsh default fpath. Systems such as Debian that have overridden the default fpath will need to set ZSH_COMPLETIONS_PATH.
  • test: Add pass using adjusted unlocked branch.
  • Fix intermittent failure of the test suite, where its repeated opening and writing to the sqlite database somehow caused inode cache information to occasionally be lost.
  • Fix several test suite failures on Windows.
  • Windows installer: Always install to 64 bit program files directory, since it needs 64 bit git now.
  • Build with silently-1.2.5.1 on Windows; the old one used "NUL" device which is not supported with recent versions of ghc.
Posted Mon Aug 19 16:27:31 2019

git-annex 7.20190730 released with these changes

  • Improved probing when CoW copies can be made between files on the same drive. Now supports CoW between BTRFS subvolumes. And, falls back to rsync instead of using cp when CoW won't work, eg copies between repos on the same EXT4 filesystem.
  • Add BLAKE2BP512 and BLAKE2BP512E backends, using a blake2 variant optimised for 4-way CPUs.
  • Support running v7 upgrade in a repo where there is no branch checked out, but HEAD is set directly to some other ref.
  • Windows build no longer ships with a copy of rsync, since that is only used any more to access rsync special remotes or remotes with a very old version of git-annex-shell.
  • Windows build is now 64 bit, and using it with the 64 bit git for Windows is fully supported.
  • Windows problems with long filenames should be fixed now, since the Windows build is made with a newer ghc version that works around the problems.
  • stack.yaml: Build with http-client-0.5.14 to get a bug fix to http header parsing.
  • Drop support for building with ghc older than 8.4.4, and with older versions of serveral haskell libraries.
  • Support building with socks-0.6 and persistant-template-2.7.
  • Corrected some license statements. Thanks, Sean Whitton.
Posted Tue Jul 30 20:22:08 2019

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