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.20161012 released with these changes
- Optimisations to time it takes git-annex to walk working tree and find files to work on. Sped up by around 18%.
- Optimisations to git-annex branch query and setting, avoiding repeated copies of the environment. Speeds up commands like "git-annex find --in remote" by over 50%.
- Optimised git-annex branch log file timestamp parsing.
- Add "total-size" field to --json-progress output.
- Make --json-progress output be shown even when the size of a object is not known.
- Multiple external special remote processes for the same remote will be started as needed when using -J. This should not beak any existing external special remotes, because running multiple git-annex commands at the same time could already start multiple processes for the same external special remotes.
- Linux standalone: Include locale files in the bundle, and generate locale definition files for the locales in use when starting runshell. (Currently only done for utf-8 locales.)
- Avoid using a lot of memory when large objects are present in the git
repository and have to be checked to see if they are a pointed to an
annexed file. Cases where such memory use could occur included, but
were not limited to:
- git commit -a of a large unlocked file (in v5 mode)
- git-annex adjust when a large file was checked into git directly
- When auto-upgrading a v3 remote, avoid upgrading to version 6, instead keep it at version 5.
- Support using v3 repositories without upgrading them to v5.
- sync: Fix bug in adjusted branch merging that could cause recently added files to be lost when updating the adjusted branch.
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.
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