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 4.20130521 released with these changes
- Sanitize debian changelog version before putting it into cabal file. Closes: #708619
- Switch to MonadCatchIO-transformers for better handling of state while catching exceptions.
- Fix a zombie that could result when running a process like gpg to read and write to it.
- Allow building with gpg2.
- Disable building with the haskell threaded runtime when the webapp is not built. This may fix builds on mips, s390x and sparc, which are failing to link -lHSrts_thr
- Temporarily build without webapp on kfreebsd-i386, until yesod is installable there again.
- Direct mode bug fix: After a conflicted merge was automatically resolved, the content of a file that was already present could incorrectly be replaced with a symlink.
- Fix a bug in the git-annex branch handling code that could cause info from a remote to not be merged and take effect immediately.
- Direct mode is now fully tested by the test suite.
- Detect bad content in ~/.config/git-annex/program and look in PATH instead.
- OSX: Fixed gpg included in dmg.
- Linux standalone: Back to being built with glibc 2.13 for maximum portability.
git-annex 4.20130516 released with these changes
- Android: The webapp is ported and working.
- Windows: There is a very rough Windows port. Do not trust it with important data.
- git-annex-shell: Ensure that received files can be read. Files transferred from some Android devices may have very broken permissions as received.
- direct mode: Direct mode commands now work on files staged in the index, they do not need to be committed to git.
- Temporarily add an upper bound to the version of yesod that can be built with, since yesod 1.2 has a great many changes that will require extensive work on the webapp.
- Disable building with the haskell threaded runtime when the assistant is not built. This may fix builds on s390x and sparc, which are failing to link -lHSrts_thr
- Avoid depending on regex-tdfa on mips, mipsel, and s390, where it fails to build.
- direct: Fix a bug that could cause some files to be left in indirect mode.
- When initializing a directory special remote with a relative path, the path is made absolute.
- SHA: Add a runtime sanity check that sha commands output something that appears to be a real sha.
- configure: Better checking that sha commands output in the desired format.
- rsync special remotes: When sending from a crippled filesystem, use the destination's default file permissions, as the local ones can be arbitrarily broken. (Ie, ----rwxr-x for files on Android)
- migrate: Detect if a file gets corrupted while it's being migrated.
- Debian: Add a menu file.
git-annex 4.20130501 released with these changes
- sync, assistant: Behavior changes: Sync with remotes that have annex-ignore set, so that git remotes on servers without git-annex installed can be used to keep clients' git repos in sync.
- assistant: Work around misfeature in git 1.8.2 that makes
git commit --alow-empty -m ""run an editor. - sync: Bug fix, avoid adding to the annex the dummy symlinks used on crippled filesystems.
- Add public repository group. (And inpreferreddir to preferred content expressions.)
- webapp: Can now set up Internet Archive repositories.
- S3: Dropping content from the Internet Archive doesn't work, but their API indicates it does. Always refuse to drop from there.
- Automatically register public urls for files uploaded to the Internet Archive.
- To enable an existing special remote, the new enableremote command must be used. The initremote command now is used only to create new special remotes.
- initremote: If two existing remotes have the same name, prefer the one with a higher trust level.
- assistant: Improved XMPP protocol to better support multiple repositories using the same XMPP account. Fixes bad behavior when sharing with a friend when you or the friend have multiple reposotories on an XMPP account. Note that XMPP pairing with your own devices still pairs with all repositories using your XMPP account.
- assistant: Fix bug that could cause incoming pushes to not get merged into the local tree. Particularly affected XMPP pushes.
- webapp: Display some additional information about a repository on its edit page.
- webapp: Install FDO desktop menu file when started in standalone mode.
- webapp: Don't default to making repository in cwd when started from within a directory containing a git-annex file (eg, standalone tarball directory).
- Detect systems that have no user name set in GECOS, and also don't have user.name set in git config, and put in a workaround so that commits to the git-annex branch (and the assistant) will still succeed despite git not liking the system configuration.
- webapp: When told to add a git repository on a remote server, and the repository already exists as a non-bare repository, use it, rather than initializing a bare repository in the same directory.
- direct, indirect: Refuse to do anything when the assistant or git-annex watch daemon is running.
- assistant: When built with git before 1.8.0, use
git remote rmto delete a remote. Newer git usesgit remote remove. - rmurl: New command, removes one of the recorded urls for a file.
- Detect when the remote is broken like bitbucket is, and exits 0 when it fails to run git-annex-shell.
- assistant: Several improvements to performance and behavior when performing bulk adds of a large number of files (tens to hundreds of thousands).
- assistant: Sanitize XMPP presence information logged for debugging.
- webapp: Now automatically fills in any creds used by an existing remote when creating a new remote of the same type. Done for Internet Archive, S3, Glacier, and Box.com remotes.
- Store an annex-uuid file in the bucket when setting up a new S3 remote.
- Support building with DAV 0.4.
git-annex 4.20130417 released with these changes
- initremote: Generates encryption keys with high quality entropy. This can be disabled using --fast to get the old behavior. The assistant still uses low-quality entropy when creating encrypted remotes, to avoid delays. (Thanks, guilhem for the patch.)
- Bugfix: Direct mode no longer repeatedly checksums duplicated files.
- assistant: Work around horrible, terrible, very bad behavior of gnome-keyring, by not storing special-purpose ssh keys in ~/.ssh/*.pub. Apparently gnome-keyring apparently will load and indiscriminately use such keys in some cases, even if they are not using any of the standard ssh key names. Instead store the keys in ~/.ssh/annex/, which gnome-keyring will not check.
- addurl: Bugfix: Did not properly add file in direct mode.
- assistant: Bug fix to avoid annexing the files that git uses to stand in for symlinks on FAT and other filesystem not supporting symlinks.
- Adjust preferred content expressions so that content in archive directories is preferred until it has reached an archive or smallarchive repository.
- webapp: New --listen= option allows running the webapp on one computer and connecting to it from another. (Note: Does not yet use HTTPS.)
- Added annex.web-download-command setting.
- Added per-remote annex-rsync-transport option. (guilhem again)
- Ssh connection caching is now also used by rsync special remotes. (guilhem yet again)
- The version number is now derived from git, unless built with VERSION_FROM_CHANGELOG.
- assistant: Stop any transfers the assistant initiated on shutdown.
- assistant: Added sequence numbers to XMPP git push packets. (Not yet used.)
- addurl: Register transfer so the webapp can see it.
- addurl: Automatically retry downloads that fail, as long as some additional content was downloaded.
- webapp: Much improved progress bar display for downloads from encrypted remotes.
- Avoid using runghc, as that needs ghci.
- webapp: When a repository's group is changed, rescan for transfers.
- webapp: Added animations.
- webapp: Include the repository directory in the mangled hostname and ssh key name, so that a locked down ssh key for one repository is not re-used when setting up additional repositories on the same server.
- Fall back to internal url downloader when built without curl.
- fsck: Check content of direct mode files (only when the inode cache thinks they are unmodified).
git-annex 4.20130405 released with these changes
- Group subcommands into sections in usage. Closes: #703797
- Per-command usage messages.
- webapp: Fix a race that sometimes caused alerts or other notifications to be missed if they occurred while a page was loading.
- webapp: Progess bar fixes for many types of special remotes.
- Build debian package without using cabal, which writes to HOME. Closes: #704205
- webapp: Run ssh server probes in a way that will work when the login shell is a monstrosity that should have died 25 years ago, such as csh.
- New annex.largefiles setting, which configures which files
git annex addand the assistant add to the annex. - assistant: Check small files into git directly.
- Remotes can be configured to use other MAC algorithms than HMACSHA1 to encrypt filenames. Thanks, guilhem for the patch.
- git-annex-shell: Passes rsync --bwlimit options on rsync. Thanks, guilhem for the patch.
- webapp: Added UI to delete repositories. Closes: #689847
- Adjust built-in preferred content expressions to make most types of repositories want content that is only located on untrusted, dead, and unwanted repositories.
- drop --auto: Fix bug that prevented dropping files from untrusted repositories.
- assistant: Fix bug that could cause direct mode files to be unstaged from git.
- Update working tree files fully atomically.
- webapp: Improved transfer queue management.
- init: Probe whether the filesystem supports fifos, and if not, disable ssh connection caching.
- Use lower case hash directories for storing files on crippled filesystems, same as is already done for bare repositories.
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
Linux Weekly News has a nice article on git-annex in it this week.

