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.20161118 released with these changes
- git-annex.cabal: Loosen bounds on persistent to allow 2.5, which on Debian has been patched to work with esqueleto. This may break cabal's resolver on non-Debian systems; if so, either use stack to build, or run cabal with --constraint='persistent ==220.127.116.11' Hopefully this mess with esqueleto will be resolved soon.
- sync: Pass --allow-unrelated-histories to git merge when used with git git 2.9.0 or newer. This makes merging a remote into a freshly created direct mode repository work the same as it works in indirect mode.
- Avoid backtraces on expected failures when built with ghc 8; only use backtraces for unexpected errors.
- fsck --all --from was checking the existence and content of files in the local repository, rather than on the special remote. Oops.
- Linux arm standalone: Build with a 32kb page size, which is needed on several ARM NAS devices, including Drobo 5N, and WD NAS.
git-annex 6.20161111 released with these changes
- Restarting a crashing git process could result in filename encoding issues when not in a unicode locale, as the restarted processes's handles were not read in raw mode.
- Make .git/annex/ssh.config file work with versions of ssh older than 7.3, which don't support Include. When used with an older version of ssh, any ServerAliveInterval in ~/.ssh/config will be overridden by .git/annex/ssh.config.
- S3: Support the special case endpoint needed for the cn-north-1 region.
- Webapp: Don't list the Frankfurt S3 region, as this (and some other new regions) need V4 authorization which the aws library does not yet use.
- reinject --known: Avoid second, unncessary checksum of file.
- OSX: Remove RPATHs from git-annex binary, which are not needed, slow down startup, and break the OSX Sierra linker.
- webapp: Explicitly avoid checking for auth in static subsite requests. Yesod didn't used to do auth checks for that, but this may have changed.
- Linux standalone: Avoid using hard links in the tarball so it can be untarred on eg, afs which does not support them.
git-annex 6.20161031 released with these changes
- Assistant, repair: Fix ignoring of git fsck errors due to duplicate file entries in tree objects.
- Linux standalone: Fix location of locale files in the bundle.
- Fix reversion in 6.20161012 that prevented adding files with a space in their name.
git-annex 6.20161027 released with these changes
- lock, smudge: Fix edge cases where data loss could occur in v6 mode when the keys database was not populated.
- upgrade: Handle upgrade to v6 when the repository already contains v6 unlocked files whose content is already present.
- Improve style of offline html build of website.
- importfeed: Drop URL parameters from file extension. Thanks, James MacMahon.
- Assistant, repair: Improved filtering out of git fsck lines about duplicate file entries in tree objects.
- test: Deal with gpg-agent behavior change that broke the test suite.
- Improve ssh socket cleanup code to skip over the cruft that NFS sometimes puts in a directory when a file is being deleted.
- If a transfer fails for some reason, but some data managed to be sent, the transfer will be retried. (The assistant already did this.)
- Run ssh with ServerAliveInterval 60, so that stalled transfers will be noticed within about 3 minutes. (Any setting in your ~/.ssh/config or /etc/ssh/ssh_config overrides this.)
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.
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