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.

RSS Atom Add a new post titled:

git-annex 6.20180529 released with these changes

  • Prevent haskell http-client from decompressing gzip files, so downloads of such files works the same as it used to with wget and curl.
  • Workaround for bug in an old version of cryptonite that broke https downloads, by using curl for downloads when git-annex is built with it.
  • view, vadd: Fix crash when a git submodule has a name starting with a dot.
  • Don't allow entering a view with staged or unstaged changes.
  • move: --force was accidentially enabling two unrelated behaviors since 6.20180427. The older behavior, which has never been well documented and seems almost entirely useless, has been removed.
  • copy: --force no longer does anything.
  • migrate: Fix bug in migration between eg SHA256 and SHA256E, that caused the extension to be included in SHA256 keys, and omitted from SHA256E keys. (Bug introduced in version 6.20170214)
  • migrate: Check for above bug when migrating from SHA256 to SHA256 (and same for SHA1 to SHA1 etc), and remove the extension that should not be in the SHA256 key.
  • fsck: Detect and warn when keys need an upgrade, either to fix up from the above migrate bug, or to add missing size information (a long ago transition), or because of a few other past key related bugs.
  • git-annex-shell: GIT_ANNEX_SHELL_APPENDONLY makes it allow writes, but not deletion of annexed content. Note that securing pushes to the git repository is left up to the user.
  • setpresentkey: Added --batch support.
Posted Tue May 29 17:07:28 2018

git-annex 6.20180509 released with these changes

  • The old git-annex Android app is now deprecated in favor of running git-annex in termux.
  • runshell: Use proot when running on Android, to work around Android 8's ill-advised seccomp filtering of system calls, including ones crucial for reliable thread locking. (This will only work with termux's version of proot.)
  • Fix bug in last release that crashes when using --all or running git-annex in a bare repository. May have also affected git-annex unused and git-annex info.
  • Fix bug in last release that prevented the webapp opening on non-Linux systems.
  • Support building with hinotify-0.3.10.
  • Display error message when http download fails.
  • Avoid forward retry when 0 bytes were received.
Posted Wed May 9 20:21:19 2018

git-annex 6.20180427 released with these changes

  • move: Now takes numcopies configuration, and required content configuration into account, and refuses to reduce the current number of copies of a file, or remove content that a repository requires. --force can override these checks. Note that it's still allowed to move the content of a file from one repository to another when numcopies is not satisfied, as long as the move does not result in there being fewer copies.
  • Fix mangling of --json output of utf-8 characters when not running in a utf-8 locale.
  • Fix build with yesod 1.6.
  • Clean up some build warnings with newer versions of ghc and haskell libraries.
  • runshell: Unset LD_PRELOAD since preloaded libraries from the host system may not get along with the bundled linker.
  • runshell: Added some tweaks to make git-annex work in termux on Android. The regular arm standalone tarball now works in termux.
  • Webapp: Support being run inside termux on Android, and offer to set up a repository on the sdcard.
  • Assistant: Integrate with Termux:Boot, so when it's installed, the assistant is autostarted on boot.
  • Assistant: Fix installation of menus, icons, etc when run from within runshell.
  • import: Avoid buffering all filenames to be imported in memory.
  • Improve memory use and speed of --all and git-annex info remote, by not buffering list of all keys.
Posted Fri Apr 27 16:37:38 2018

git-annex 6.20180409 released with these changes

  • Added adb special remote which allows exporting files to Android devices.
  • For url downloads, git-annex now defaults to using a http library, rather than wget or curl. But, if annex.web-options is set, it will use curl. To use the .netrc file, run: git config annex.web-options --netrc
  • git-annex no longer uses wget (and wget is no longer shipped with git-annex builds).
  • Enable HTTP connection reuse across multiple files for improved speed.
  • Fix calculation of estimated completion for progress meter.
  • OSX app: Work around libz/libPng/ImageIO.framework version skew by not bundling libz, assuming OSX includes a suitable libz.1.dylib.
  • Added annex.retry, annex.retry-delay, and per-remote versions to configure transfer retries.
  • Also do forward retrying in cases where no exception is thrown, but the transfer failed.
  • When adding a new version of a file, and annex.genmetadata is enabled, don't copy the data metadata from the old version of the file, instead use the mtime of the file.
  • Avoid running annex.http-headers-command more than once.
  • info: Added "combined size of repositories containing these files" stat when run on a directory.
  • info: Changed sorting of numcopies stats table, so it's ordered by the variance from the desired number of copies.
  • Fix resuming a download when using curl.
Posted Mon Apr 9 17:24:54 2018

git-annex 6.20180316 released with these changes

  • New protocol for communicating with git-annex-shell increases speed of operations involving ssh remotes. When not transferring large files, git-annex is between 200% and 400% faster using the new protocol, and it's just as fast as before when transferring large files. (When the remote has an old git-annex-shell, git-annex falls back to the old slower code. This fallback is planned to be removed after 5 years or so.)
  • Note that, due to not using rsync to transfer files over ssh any longer, permissions and other file metadata of annexed files will no longer be preserved when copying them to and from ssh remotes. Other remotes never supported preserving that information, so this is not considered a regression.
  • Fix data loss bug in content locking over tor, when the remote repository is in direct mode, it neglected to check that the content was actually present when locking it. This could cause git annex drop to remove the only copy of a file when it thought the tor remote had a copy.
  • Fix data loss bug when the local repository uses direct mode, and a locally modified file is dropped from a remote repsitory. The bug caused the modified file to be counted as a copy of the original file. (This is not a severe bug because in such a situation, dropping from the remote and then modifying the file is allowed and has the same end result.)
  • Some downloads will be verified, even when annex.verify=false. This is done in some edge cases where there's a likelyhood than an object was downloaded incorrectly.
  • Support exporttree=yes for rsync special remotes.
  • Added backends for the BLAKE2 family of hashes, when built with a new enough version of cryptonite.
  • Improve SHA*E extension extraction code to not treat parts of the filename that contain punctuation or other non-alphanumeric characters as extensions. Before, such characters were filtered out.
  • Better ssh connection warmup when using -J for concurrency. Avoids ugly messages when forced ssh command is not git-annex-shell.
  • Fix race condition in ssh warmup that caused git-annex to get stuck and never process some files when run with high levels of concurrency.
  • Fix reversion introduced in 6.20171214 that caused concurrent transfers to incorrectly fail with "transfer already in progress".
  • Note that Remote/Git.hs now contains AGPL licensed code, thus the license of git-annex as a whole is AGPL. This was already the case when git-annex was built with the webapp enabled.
  • Include amount of data transferred in progress display.
  • Dial back optimisation when building on arm, which prevents ghc and llc from running out of memory when optimising some files.
Posted Fri Mar 16 16:40:39 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