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.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.
git-annex 5.20150916 released with these changes
- Fix Windows build to work with ghc 7.10.
- init: Fix reversion in detection of repo made with git clone --shared
- info: Support querying info of individual files in direct mode.
- unused: Fix reversion in 5.20150727 that broke parsing of the --unused-refspec option. Thanks, Øyvind A. Holm.
- Make full option parsing be done when not in a git repo, so --help can be displayed for commands that require a git repo, etc.
- fsck: Work around bug in persistent that broke display of problematically encoded filenames on stderr when using --incremental.
- When gpg.program is configured, it's used to get the command to run for gpg. Useful on systems that have only a gpg2 command or want to use it instead of the gpg command.
- Windows: Switched to using git for Windows, rather than msysgit. Using msysgit with git-annex is no longer supported.
- Windows: Even when the user neglects to tell the git installer to add git to PATH, git-annex will still work from within the git bash shell, and the webapp can be used too.
- sync: Add --no-commit, --no-pull, --no-push options to turn off parts of the sync process, as well as supporting --commit, --pull, --push, and --no-content options to specify the (current) default behavior.
- annex.hardlink extended to also try to use hard links when copying from the repository to a remote.
- Improve bash completion, so it completes names of remotes and backends in appropriate places.
- Special remotes configured with autoenable=true will be automatically enabled when git-annex init is run.
- Fix bug in combination of preferred and required content settings. When one was set to the empty string and the other set to some expression, this bug caused all files to be wanted, instead of only files matching the expression.
git-annex 5.20150824 released with these changes
- Sped up downloads of files from ssh remotes, reducing the non-data-transfer overhead 6x.
- sync: Support --jobs
- sync --content: Avoid unnecessary second pull from remotes when no file transfers are made.
- External special remotes can now be built that can be used in readonly mode, where git-annex downloads content from the remote using regular http.
- Added WHEREIS to external special remote protocol.
- importfeed --relaxed: Avoid hitting the urls of items in the feed.
- Fix reversion in init when ran as root, introduced in version 5.20150731.
- Reorder declaration to fix build with yesod-core > 1.4.13. Thanks, Michael Alan Dorman.
- Fix building without quvi and without database. Thanks, Ben Boeckel.
- Avoid building the assistant on the hurd, since an inotify equivalent is not yet implemented in git-annex for the hurd.
- --debug log messages are now timestamped with fractional seconds.
- --debug is passed along to git-annex-shell when git-annex is in debug mode.
- Makefile: Pass LDFLAGS, CFLAGS, and CPPFLAGS through ghc and on to ld, cc, and cpp.
- As a result of the Makefile changes, the Debian package is built with various hardening options. Although their benefit to a largely haskell program is unknown.
Note: The x86-64 bit linux standalone tarball shipped with this version had a broken version of ssh that crashed on startup. The tarball has been updated to fix this problem.
git-annex 5.20150812 released with these changes
- Added support for SHA3 hashed keys (in 8 varieties), when git-annex is built using the cryptonite library.
- metadata: Fix reversion introduced in 5.20150727 that caused recursive display of metadata to not work.
- Windows: Fix bug that caused git-annex sync to fail due to missing environment variable.
- Fix setting/setting/viewing metadata that contains unicode or other special characters, when in a non-unicode locale.
- Simplify setup process for a ssh remote. Now it suffices to run git remote add, followed by git-annex sync. Now the remote is automatically initialized for use by git-annex, where before the git-annex branch had to manually be pushed before using git-annex sync. Note that this involved changes to git-annex-shell, so if the remote is using an old version, the manual push is still needed.
- git-annex-shell: Don't let configlist auto-init repository when in readonly mode.
- Perform a clean shutdown when --time-limit is reached. This includes running queued git commands, and cleanup actions normally run when a command is finished.
- fsck: Commit incremental fsck database when --time-limit is reached. Previously, some of the last files fscked did not make it into the database when using --time-limit.
- fsck: Commit incremental fsck database after every 1000 files fscked, or every 5 minutes, whichever comes first. Previously, commits were made every 1000 files fscked.
- Linux standalone: Work around problem that prevented it from working properly if unpacked into a directory that contains ":" or ";" in its name.
- proxy: Fix proxy git commit of non-annexed files in direct mode.
- proxy: If a non-proxied git command, such as git revert would normally fail because of unstaged files in the work tree, make the proxied command fail the same way.
- proxy: Fix removal of files deleted by the proxied command.
- proxy: Fix behavior when run in subdirectory of git repo.
- Improve Setup.hs file so that cabal copy --destdir works. Thanks, Magnus Therning.
- Tighten dependency on optparse-applicative to 0.11.0.
- Added back debian/cabal-wrapper, since it still seems needed after all.
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