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.20160613 released with these changes
- Improve SHA*E extension extraction code.
- Windows: Avoid terminating git-annex branch lines with \r\n when union merging and performing transitions.
- Remove Makefile from cabal tarball; man page building is now handled by a small haskell program.
- sync --content: Fix bug that caused transfers of files to be made to a git remote that does not have a UUID. This particularly impacted clones from gcrypt repositories.
- Pass -S to git commit-tree when commit.gpgsign is set and when making a non-automatic commit, in order to preserve current behavior when used with git 2.9, which has stopped doing this itself.
- remotedaemon: Fixed support for notifications of changes to gcrypt remotes, which was never tested and didn't quite work before.
- list: Do not include dead repositories.
- move --to: Better behavior when system is completely out of disk space; drop content from disk before writing location log.
- Avoid a crash if getpwuid does not work, when querying the user's full name.
- Automatically enable v6 mode when initializing in a clone from a repo that has an adjusted branch checked out.
- v6: Fix initialization of a bare clone of a repo that has an adjusted branch checked out.
- v6: Fix bad automatic merge conflict resolution between an annexed file and a directory with the same name when in an adjusted branch.
- v6: Fix bad merge in an adjusted branch that resulted in an empty tree.
- v6: Fix bug in initialization of clone from a repo with an adjusted branch that had not been synced back to master. (This bug caused broken tree objects to get built by a later git annex sync.)
- v6: Make lock and unlock work on files whose content is not present.
- v6: Fix update of associated files db when unlocking a file.
- v6: Make git clean filter preserve the backend that was used for a file.
git-annex 6.20160527 released with these changes
- Split lines in the git-annex branch on \r as well as \n, to deal with \r\n terminated lines written by some versions of git-annex on Windows. This fixes strange displays in some cases.
- assistant: Fix bug that caused v6 pointer files to be annexed by the assistant.
- assistant: Fix race in v6 mode that caused downloaded file content to sometimes not replace pointer files.
- add: Adding a v6 pointer file used to annex it; now the pointer file is added to git as-is. (git add of a pointer file already did the right thing)
- enableremote: Can now be used to explicitly enable git-annex to use git remotes. Using the command this way prevents other git-annex commands from probing new git remotes to auto-enable them.
- enableremote: Remove annex-ignore configuration from a remote.
- Change git annex info remote encryption description to use wording closer to what's used in initremote.
- Pass the various gnupg-options configs to gpg in several cases where they were not before. Most notably, gnupg-decrypt-options is now passed when decrypting an encrypted cipher.
- adjust: Add --fix adjustment, which is useful when the git directory is in a nonstandard place.
- adjust: If the adjusted branch already exists, avoid overwriting it, since it might contain changes that have not yet been propigated to the original branch.
- Work around git weirdness in handling of relative path to GIT_INDEX_FILE when in a subdirectory of the repository. This affected git annex view.
- Fix crash when entering/changing view in a subdirectory of a repo that has a dotfile in its root.
- webapp: Avoid confusing display of dead remotes.
- Support building with ghc 8.0.1.
- Updated cabal file explicitly lists source files. The tarball on hackage will include only the files needed for cabal install; it is NOT the full git-annex source tree.
- debian/changelog, debian/NEWS, debian/copyright: Converted to symlinks to CHANGELOG, NEWS, and COPYRIGHT, which used to symlink to these instead.
git-annex 6.20160511 released with these changes
- Fix bug that sometimes prevented git-annex smudge --clean from consuming all its input, which resulted in git add bypassing git-annex.
- Fix build with directory-220.127.116.11.
- Improve behavior when a just added http remote is not available during uuid probe. Do not mark it as annex-ignore, so it will be tried again later.
- Android: Icon refresh. Thanks, freewheelinfranks.
- Added DIRHASH-LOWER to external special remote protocol.
- git-annex.cabal: Add Setup-Depends.
- stack.yaml: Enable explicit-setup-deps.
- Windows: Fix several bugs in propigation of changes from the adjusted branch back to the master branch.
- Windows: Fix an over-long temp directory name.
- map: Hide dead repositories that are not connected to the graph.
- map: Changed colors; red is used for untrusted repositories and grey for dead.
- version: Display OS version and architecture too.
- Propigate GIT_DIR and GIT_WORK_TREE environment to external special remotes.
- Added annex.gnupg-decrypt-options and remote.<name>.annex-gnupg-decrypt-options, which are passed to gpg when it's decrypting data.
- fsck: When a key is not previously known in the location log, record something so that reinject --known will work.
- In the unusual configuration where annex.crippledfilesystem=true but core.symlinks=true, store object contents in mixed case hash directories so that symlinks will point to them.
- Added new encryption=sharedpubkey mode for special remotes. This is useful for makking a special remote that anyone with a clone of the repo and your public keys can upload files to, but only you can decrypt the files stored in it.
git-annex 6.20160419 released with these changes
- Fix bug that prevented resuming of uploads to encrypted special remotes that used chunking.
- That bug could also expose the names of keys to such remotes when attempting to resume an upload, so it is a minor security issue.
- Fix duplicate progress meter display when downloading from a git remote over http with -J.
- reinject: When src file's content cannot be verified, leave it alone, instead of deleting it.
- reinject: Added new mode which can reinject known files into the annex. For example: git-annex reinject --known /mnt/backup/*
- calckey: New plumbing command, calculates the key that would be used to refer to a file.
- Fix bug that prevented annex.sshcaching=false configuration from taking effect when on a crippled filesystem. Thanks, divergentdave.
- git 2.9.0 is going to prevent git merge from merging in unrelated branches. Since the webapp's pairing etc features often combine together repositories with unrelated histories, work around this behavior change when the assistant merges, by passing --allow-unrelated-histories. Note though that this is not done for git annex sync's merges, so it will follow git's default or configured behavior.
- When git-annex is used with a git version older than 2.2.0, disable support for adjusted branches, since GIT_COMMON_DIR is needed to update them and was first added in that version of git.
- Avoid setting LOCPATH in linux standalone builds that are built with a ghc that has been fixed to not hang when it cannot find locale files.
- Isolate test suite from global git config settings.
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