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 6.20160923 released with these changes
- Rate limit console progress display updates to 10 per second. Was updating as frequently as changes were reported, up to hundreds of times per second, which used unncessary bandwidth when running git-annex over ssh etc.
- Make --json and --quiet work when used with -J. Previously, -J override the other options.
- addurl, get: Added --json-progress option, which adds progress objects to the json output.
- Remove key:null from git-annex add --json output.
- copy, move, mirror: Support --json and --json-progress.
- Improve gpg secret key list parser to deal with changes in gpg 2.1.15. Fixes key name display in webapp.
- info: Support being passed a treeish, and show info about the annexed files in it similar to how a directory is handled.
- sync: Previously, when run in a branch with a slash in its name, such as "foo/bar", the sync branch was "synced/bar". That conflicted with the sync branch used for branch "bar", so has been changed to "synced/foo/bar".
- Note that if you're using an old version of git-annex to sync with a branch with a slash in its name, it won't see some changes synced by this version, and this version won't see some changes synced by the older version. This is not a problem if there's a central bare repository, but may impact other configurations until git-annex is upgraded to this version.
- adjust: Previously, when adjusting a branch with a slash in its name, such as "foo/bar", the adjusted branch was "adjusted/bar(unlocked)". That conflicted with the adjusted branch used for branch "bar", so has been changed to "adjusted/foo/bar(unlocked)"
- Also, running sync in an adjusted branch did not correctly sync changes back to the parent branch when it had a slash in its name. This bug has been fixed.
- addurl, importfeed: Improve behavior when file being added is gitignored.
git-annex 6.20160907 released with these changes
- Windows: Handle shebang in external special remote program.
- Fix formatting of git-annex-smudge man page, and improve mdwn2man. Thanks, Jim Paris.
- examimekey: Allow being run in a git repo that is not initialized by git-annex yet.
- Android: Fix disabling use of cp --reflink=auto, curl, sha224, and sha384.
- Make --json and --quiet suppress automatic init messages, and any other messages that might be output before a command starts. Fixes a reversion introduced in version 5.20150727.
- Assistant, repair: Filter out git fsck lines about duplicate file entries in tree objects.
- get -J, sync --content -J: Download different files from different remotes when the remotes have the same costs.
git-annex 6.20160808 released with these changes
- metadata --json output format has changed, adding a inner json object named "fields" which contains only the fields and their values. This should be easier to parse than the old format, which mixed up metadata fields with other keys in the json object. Any consumers of the old format will need to be updated.
- Added metadata --batch option, which allows getting, setting, deleting, and modifying metadata for multiple files/keys.
- Added --branch option to copy, drop, fsck, get, metadata, mirror, move, and whereis commands. This option makes git-annex operate on files that are included in a specified branch (or other treeish).
- git-annex.cabal: Temporarily limit to http-conduit <2.2.0 since aws 0.14.0 is not compatible with the newer version.
- git-annex.cabal: Temporarily limit to persistent <2.5 since esqueleto 2.4.3 is not compatible with the newer version.
- Removed dependency on json library; all JSON is now handled by aeson.
- When built with uuid-1.3.12, generate more random UUIDs than before. (However, this did not impact git-annex much, so a hard depedency has not been added on uuid-1.3.12.)
- info: When run on a file now includes an indication of whether the content is present locally.
- get, move, copy, mirror: Added --failed switch which retries failed copies/moves.
- Re-enable accumulating transfer failure log files for command-line actions (disabled in 5.20150522), and remove the log files after successful transfers.
git-annex 6.20160619 released with these changes
- get, drop: Add --batch and --json options.
- testremote: Fix crash when testing a freshly made external special remote.
- Remove unnecessary rpaths in the git-annex binary, but only when it's built using make, not cabal. This speeds up git-annex startup time by around 50%.
- Speed up startup time by caching the refs that have been merged into the git-annex branch. This can speed up git-annex commands by as much as a second, depending on the number of remotes.
- fsck: Fix a reversion in direct mode fsck of a file that is present when the location log thinks it is not. Reversion introduced in version 5.20151208.
- uninit: Fix crash due to trying to write to deleted keys db. Reversion introduced by v6 mode support, affects v5 too.
- Fix a similar crash when the webapp is used to delete a repository.
- Support checking presence of content at a http url that redirects to a ftp url.
- log: Added --all option.
- New url for git-remote-gcrypt, now maintained by spwhitton.
- webapp: Don't allow deleting a remote that has syncing disabled, as such a deletion will never finish. Thanks, Farhan Kathawala.
- webapp: Escape unusual characters in ssh hostnames when generating mangled hostnames. This allows IPv6 addresses to be used on filesystems not supporting : in filenames.
- Avoid any access to keys database in v5 mode repositories, which are not supposed to use that database.
- Remove the EKG build flag, since Gentoo for some reason decided to enable this flag, depsite it not being intended for production use and so disabled by default.
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!
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