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.
git-annex 5.20151116 released with these changes
- Use concurrent-output library when configured with -fConcurrentOutput. This allows nicely displayed messages when using the -J flag.
- Additional commands now support the -J flag: fsck, drop, add, addurl, import
- import: Avoid very ugly error messages when the directory files are imported to is not a directort, but perhaps an annexed file.
- Concurrent progress bars are now displayed when using -J with a command that moves file contents around.
- Fix race that could result in an annexed file's symlink not being created, when eg, running concurrent git-annex adds.
- add: Fix error recovery rollback to not move the injested file content out of the annex back to the file, because other files may point to that same content. Instead, copy the injected file content out to recover.
- quvi may output utf-8 encoded data when the conifigured locale doesn't support that; avoid crashing on such invalid encoding.
- runshell: Avoid failing when $HOME/.ssh does not exist and cannot be created.
- Make the git-annex-standalone.deb prevent runshell from installing wrappers into $HOME/.ssh
- Make git-annex-standalone.deb include the git-annex html documentation, desktop file, and base completion file, same as the regular git-annex.deb.
- fsck: When fscking a dead repo, avoid incorrect "fixing location log" message, and display a warning about it being dead, since it's unusual to have access to a dead repo.
- assistant: Pass ssh-options through 3 more git pull/push calls that were missed before.
- Added annex.pidlock and annex.pidlocktimeout configuration to support filesystems where POSIX fcntl locks cannot be used.
- init: Automatically enable annex.pidlock when necessary.
git-annex 5.20151102 released with these changes
- Use statvfs on OSX.
- Symlink timestamp preservation code uses functions from unix-2.7.0 when available, which should be more portable.
- enableremote: List uuids and descriptions of remotes that can be enabled, and accept either the uuid or the description in leu if the name.
- Catch up with current git behavior when both repo and repo.git exist; it seems it now prefers repo in this case, although historically it may have preferred repo.git.
- Fix failure to build with aws-0.13.0.
- When built with aws-0.13.0, the S3 special remote can be used to create google nearline buckets, by setting storageclass=NEARLINE.
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!
git-annex 5.20151019 released with these changes
- Fix a longstanding, but unlikely to occur bug, where dropping a file from a remote could race with other drops of the same file, and result in all copies of its content being lost.
- git-annex-shell: Added lockcontent command, to prevent dropping of a key's content. This is necessary due to the above bugfix.
- In some cases, the above bugfix changes what git-annex allows you to
- When a file is present in several special remotes, but not in any accessible git repositories, dropping it from one of the special remotes will now fail. Instead, the file has to be moved from one of the special remotes to the git repository, and can then safely be dropped from the git repository.
- If a git remote has too old a version of git-annex-shell installed, git-annex won't trust it to hold onto a copy of a file when dropping that file from the local git repository.
- Changed drop ordering when using git annex sync --content or the assistant, to drop from remotes first and from the local repo last. This works better with the behavior changes to drop in many cases.
- Do verification of checksums of annex objects downloaded from remotes.
- When annex objects are received into git repositories from other git repos, their checksums are verified then too.
- To get the old, faster, behavior of not verifying checksums, set annex.verify=false, or remote.<name>.annex-verify=false.
- setkey, rekey: These commands also now verify that the provided file matches the expected checksum of the key, unless annex.verify=false.
- reinject: Already verified content; this can now be disabled by setting annex.verify=false.
- sync, merge, assistant: When git merge failed for a reason other than a conflicted merge, such as a crippled filesystem not allowing particular characters in filenames, git-annex would make a merge commit that could omit such files or otherwise be bad. Fixed by aborting the whole merge process when git merge fails for any reason other than a merge conflict.
- Allow building with S3 disabled again.
- Ported disk free space checking code to work on Solaris.
- Windows webapp: Fix support for entering password when setting up a ssh remote.
- copy --auto was checking the wrong repo's preferred content. (--from was checking what --to should, and vice-versa.) Fixed this bug, which was introduced in version 5.20150727.
- Avoid unncessary write to the location log when a file is unlocked and then added back with unchanged content.
- S3: Fix support for using https.
- Avoid displaying network transport warning when a ssh remote does not yet have an annex.uuid set.
- Debian: Add torrent library to build-depends as it's packaged now, and stop recommending bittornado | bittorrent.
- Debian: Remove build dependency on transformers library, as it is now included in ghc.
- Debian: Remove menu file, since a desktop file is provided and lintian says there can be only one.
git-annex 5.20150930 released with these changes
- Added new linux standalone "ancient" build to support kernels like 2.6.32.
- info: Don't allow use in a non-git-annex repository, since it uses the git-annex branch and would create it if it were missing.
- assistant: When updating ~/.ssh/config, preserve any symlinks.
- webapp: Remove the "disable remote" feature from the UI.
- S3: When built with aws-0.13.0, supports using more storage classes. In particular, storageclass=STANDARD_IA to use Amazon's new Infrequently Accessed storage, and storageclass=NEARLINE to use Google's NearLine storage.
- Improve ~/.ssh/config modification code to not add trailing spaces to lines it cannot parse.
- Fix a crash at direct mode merge time when .git/index doesn't exist yet. Triggered by eg, git-annex sync --no-commit in a fresh clone of a repository.
- status: Show added but not yet committed files.
- Added stack.yaml to support easy builds from source with stack.
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!
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.
git-annex will be briefly presented at FOSDEM, on Sunday February 4th at 15:40. Details.
Thanks to Richard Hartmann for making this presentation.
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