Format: 1.8 Date: Tue, 17 May 2016 18:39:34 -0400 Source: git-annex Binary: git-annex Architecture: source Version: 6.20160511-1~ubuntu14.04.1~ppa1 Distribution: trusty Urgency: high Maintainer: Richard Hartmann Changed-By: Justin Geibel Description: git-annex - manage files with git, without checking their contents into git Closes: 614759 698559 729757 753888 754608 758592 758593 758630 761261 761484 762446 763057 768093 774494 785498 785736 786659 789225 Changes: git-annex (6.20160511-1~ubuntu14.04.1~ppa1) trusty; urgency=medium . * No-change backport to trusty . git-annex (6.20160511-1) unstable; urgency=medium . * Package 6.20160511-1 . git-annex (6.20160511) unstable; urgency=medium . * 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-1.2.6.2. * 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..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-1) unstable; urgency=high . * Package 6.20160419-1 . git-annex (6.20160419) unstable; urgency=medium . * 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, 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. . git-annex (6.20160418-1) unstable; urgency=medium . * Package 6.20160418-1 . git-annex (6.20160418) unstable; urgency=medium . * smudge: Print a warning when annex.thin is set, as git's smudge interface does not allow honoring that configuration. * webapp: When $HOME is a git repository, and has been initialized for use by git-annex, opening the webapp went ahead and ran the assistant there, annexing all files. Since this is almost certianly not desirable, especially when the user is just opening the webapp from a dekstop menu which happens to run it in $HOME, the webapp will now not treat such a $HOME git repository as a git-annex repository. * webapp: Update url to add gitlab.com ssh key. * Fix bug in v6 mode that prevented treating unlocked executable files as annexed. If you have such files, run git annex init --version=6 to update the cache after upgrading to this version of git-annex. * Preserve execute bits of unlocked files in v6 mode. * fsck: Warn when core.sharedRepository is set and an annex object file's write bit is not set and cannot be set due to the file being owned by a different user. * Fix hang when dropping content needs to lock the content on a ssh remote, which occurred when the remote has git-annex version 5.20151019 or newer. (The bug was in the client side; the remote git-annex-shell does not need to be upgraded.) . git-annex (6.20160412-1) unstable; urgency=medium . * Package 6.20160412-1 . git-annex (6.20160412) unstable; urgency=medium . * adjust --unlock: Enters an adjusted branch in which all annexed files are unlocked. The v6 equivilant of direct mode, but much cleaner! * Upgrading a direct mode repository to v6 has changed to enter an adjusted unlocked branch. This makes the direct mode to v6 upgrade able to be performed in one clone of a repository without affecting other clones, which can continue using v5 and direct mode. * init --version=6: Automatically enter the adjusted unlocked branch when filesystem doesn't support symlinks. * ddar remote: fix ssh calls Thanks, Robie Basak * log: Display time with time zone. * log --raw-date: Use to display seconds from unix epoch. * v6: Close pointer file handles more quickly, to avoid problems on Windows. * sync: Show output of git commit. * annex.thin and annex.hardlink are now supported on Windows. * unannex --fast now makes hard links on Windows. * Fix bug in annex.largefiles mimetype= matching when git-annex is run in a subdirectory of the repository. * Fix build with ghc v7.11. Thanks, Gabor Greif. . git-annex (6.20160318) unstable; urgency=medium . * metadata: Added -r to remove all current values of a field. * Fix data loss that can occur when annex.pidlock is set in a repository. * Fix bug preventing moving files to/from a repository with annex.pidlock set. * Fix shared lock file FD leak. * Fix metadata hook behavior when multiple files are added at once. Thanks, Klaus Ethgen. * Added dependencies on haskell mountpoints and disk-free-space libraries, removing FFI code from git-annex. * dropkey: Add --batch and --json. * Fix OSX dmg to include libraries needed by bundled gpg, lost in last release. * Always try to thaw content, even when annex.crippledfilesystem is set. * Correct git-annex info to include unlocked files in v6 repository. * Sped up git-annex add in direct mode and v6 by using git hash-object --stdin-paths. * Sped up git-annex merge by using git hash-object --stdin-paths. . git-annex (6.20160229-1) unstable; urgency=medium . * Package 6.20160229-1 . git-annex (6.20160229) unstable; urgency=medium . * Update perlmagick build dependency. Closes: #789225 * Fix memory leak in last release, which affected commands like git-annex status when a large non-annexed file is present in the work tree. * fsck: When the only copy of a file is in a dead repository, mention the repository. * info: Mention when run in a dead repository. * Linux and OSX standalone builds put the bundled gpg last in PATH, so any system gpg will be preferred over it. * Avoid crashing when built with MagicMime support, but when the magic database cannot be loaded. * Include magic database in the linux and OSX standalone builds. * Fix memory leak when hashing files, which triggered during fsck when an external hash program was not used. (This leak was introduced in version 6.20160114.) * Support --metadata fieldnumber etc to match ranges of numeric values. * Similarly, support preferred content expressions like metadata=fieldnumber * The pre-commit-annex hook script that automatically extracts metadata has been updated to also use exiftool. Thanks, Klaus Ethgen. . git-annex (6.20160217) unstable; urgency=medium . * Support getting files from read-only repositories. * checkpresentkey: Allow to be run without an explicit remote. * checkpresentkey: Added --batch. * Work around problem with concurrent-output when in a non-unicode locale by avoiding use of it in such a locale. Instead -J will behave as if it was built without concurrent-output support in this situation. * Fix storing of filenames of v6 unlocked files when the filename is not representable in the current locale. * fsck: Detect and fix missing associated file mappings in v6 repositories. * fsck: Populate unlocked files in v6 repositories whose content is present in annex/objects but didn't reach the work tree. * When initializing a v6 repo on a crippled filesystem, don't force it into direct mode. * Windows: Fix v6 unlocked files to actually work. * add, addurl, import, importfeed: When in a v6 repository on a crippled filesystem, add files unlocked. * annex.addunlocked: New configuration setting, makes files always be added unlocked. (v6 only) * Improve format of v6 unlocked pointer files to support keys containing slashes. . git-annex (6.20160211) unstable; urgency=medium . * annex.addsmallfiles: New option controlling what is done when adding files not matching annex.largefiles. * Fix reversion in lookupkey, contentlocation, and examinekey which caused them to sometimes output side messages. * webapp: Fix deletion of current repository directory. * Added "nothing" to preferred content expression syntax. * annex.largefiles can be configured in .gitattributes too; this is particulary useful for v6 repositories, since the .gitattributes configuration will apply in all clones of the repository. * Limit annex.largefiles parsing to the subset of preferred content expressions that make sense in its context. So, not "standard" or "lackingcopies", etc. * annex.largefiles: Add support for mimetype=text/* etc, when git-annex is linked with libmagic. * matchexpression: Added --largefiles option to parse an annex.largefiles expression. * Brought back the dbus and xmpp build flags, so build from source can be done without C libraries that may be hard to install. * init: Fix bugs in submodule .git symlink fixup, that occurred when initializing in a subdirectory of a submodule and a submodule of a submodule. * WebDAV: Set depth 1 in PROPFIND request, for better compatibility with some servers. Thanks, wzhd. * WebDAV: Remove a bogus trailing slash from the end of the url to the temporary store location for a key. Thanks, wzhd. * S3: Allow configuring with requeststyle=path to use path-style bucket access instead of the default DNS-style access. . git-annex (6.20160126) unstable; urgency=medium . * Fix nasty reversion in the last release that broke sync --content's handling of many preferred content expressions. * whereis --json: Urls are now listed inside the remote that claims them, rather than all together at the end. * info, add, whereis, find: Support --batch mode. * Force output to be line-buffered, even when it's not connected to the terminal. This is particuarly important for commands with --batch output, which was not always being flushed at an appropriate time. * add, import: Support --json output. * addurl --json: Include field for added key (unless the file was added directly to git due to annex.largefiles configuration.) (Also done by add --json and import --json) * registerurl: Check if a remote claims the url, same as addurl does. * Bug fix: Git config settings passed to git-annex -c did not always take effect. * assistant: Use udisks2 dbus events to detect when disks are mounted, instead of relying on gnome/kde stuff that is not stable. * Fix build with QuickCheck 2.8.2 * matchexpression: New plumbing command to check if a preferred content expression matches some data. * Removed the webapp-secure build flag, rolling it into the webapp build flag. * Removed the quvi, tahoe, feed, and tfds build flags, adding aeson feed and regex-tdfa to the core dependencies. * Roll the dns build flag into the assistant build flag. * Debian: Avoid building debug package, since gdb is not often useful to debug haskell programs. . git-annex (6.20160114) unstable; urgency=medium . "hexapodia as the key insight" . * Added v6 repository mode, but v5 is still the default for now. * unlock, lock: In v6 mode, unlocking a file changes it from a symlink to a pointer file, and this change can be committed to the git repository. For details, see http://git-annex.branchable.com/tips/unlocked_files/ * The upgrade to version 6 is not done fully automatically yet, because upgrading a direct mode repository to version 6 will prevent old versions of git-annex from working in other clones of that repository. For details, see http://git-annex.branchable.com/upgrades/ * init: --version parameter added to control which supported repository version to use. * init, upgrade: Configure .git/info/attributes to use git-annex as a smudge filter. In v6 repository mode, this makes git add add files to the annex in unlocked mode, unless overridden by annex.largefiles configuration. * assistant: In v6 mode, adds files in unlocked mode, so they can continue to be modified. * Added annex.thin setting, which makes unlocked files in v6 repositories be hard linked to their content, instead of a copy. This saves disk space but means any modification of an unlocked file will lose the local (and possibly only) copy of the old version. * Enable annex.thin by default on upgrade from direct mode to v6, since direct mode made the same tradeoff. * fix: Adjusts unlocked files as configured by annex.thin. * persistent-sqlite is now a hard build dependency, since v6 repository mode needs it. . . * status: On crippled filesystems, was displaying M for all annexed files that were present. Probably caused by a change to what git status displays in this situation. Fixed by treating files git thinks are modified the same as typechanged files. * addurl: Added --batch and --with-files options. * addurl: Support --json, particularly useful in --batch mode. * addurl: Refuse to overwrite any existing, non-annexed file. * Debian: Adjust build dependencies for webapp, DAV. Now available on mips, mipsel, but temporarily removed armel since build is failing there. * info: Fix "backend usage" numbers, which were counting present keys twice. * info --json: Improve json for "backend usage", using a nested object with fields for each backend instead of the previous weird nested lists. This may break existing parsers of this json output, if there were any. * whereis --json: Make url list be included in machine-parseable form. * test: Added --keep-failures option. * unused: Bug fix when a new file was added to the annex, and then removed (but not git rmed). git still has the add staged in this case, so the content should not be unused and was wrongly treated as such. * migrate: Copy over metadata to new key. * rekey: No longer copies over urls from the old to the new key. It makes sense for migrate to do that, but not for this low-level (and little used) plumbing command to. * view: Fix crash in non-unicode capable locale when entering a view of metadata containing a slash or backslash. * When annex.http-headers is used to set the User-Agent header, avoid sending User-Agent: git-annex * Windows: Fix rsync cross-drive hack to work with msys2 rsync. Thanks, Pieter Kitslaar. . git-annex (5.20151208-1) unstable; urgency=medium . * Package 5.20151208-1 . git-annex (5.20151218) unstable; urgency=medium . * Add S3 features to git-annex version output. * webdav: When testing the WebDAV server, send a file with content. The empty file it was sending tickled bugs in some php WebDAV server. * fsck: Failed to honor annex.diskreserve when checking a remote. * Debian: Build depend on concurrent-output. * Fix insecure temporary permissions when git-annex repair is used in in a corrupted git repository. * Fix potential denial of service attack when creating temp dirs. . git-annex (5.20151208) unstable; urgency=medium . * Build with -j1 again to get reproducible build. * Display progress meter in -J mode when copying from a local git repo, to a local git repo, and from a remote git repo. * Display progress meter in -J mode when downloading from the web. * map: Improve display of git remotes with non-ssh urls, including http and gcrypt. * When core.sharedRepository is set, annex object files are not made mode 444, since that prevents a user other than the file owner from locking them. Instead, a mode such as 664 is used in this case. * tahoe: Include tahoe capabilities in whereis display. * import: Changed to honor annex.largefiles settings. * addurl, importfeed: Changed to honor annex.largefiles settings, when the content of the url is downloaded. (Not when using --fast or --relaxed.) * webapp: Fix bugs that could result in a relative path such as "." being written to ~/.config/git-annex/autostart, and ignore any such relative paths in the file. This was a reversion caused by the relative path changes in 5.20150113. * dropunused: Make more robust when trying to drop an object that has already been dropped. * Fix reversion in handling of long filenames, particularly when using addurl/importfeed, which was introduced in the previous release. . git-annex (5.20151116-1) unstable; urgency=medium . * Package 5.20151116-1 . git-annex (5.20151116) unstable; urgency=medium . * Use concurrent-output library when configured with -fConcurrentOutput. This allows nicely displayed messages when using the -J flag. * Additional commands now support the -J flag: fsck, drop, add, addurl, import * import: Avoid very ugly error messages when the directory files are imported to is not a directort, but perhaps an annexed file. * Concurrent progress bars are now displayed when using -J with a command that moves file contents around. * Fix race that could result in an annexed file's symlink not being created, when eg, running concurrent git-annex adds. * add: Fix error recovery rollback to not move the injested file content out of the annex back to the file, because other files may point to that same content. Instead, copy the injected file content out to recover. * quvi may output utf-8 encoded data when the conifigured locale doesn't support that; avoid crashing on such invalid encoding. * runshell: Avoid failing when $HOME/.ssh does not exist and cannot be created. * Make the git-annex-standalone.deb prevent runshell from installing wrappers into $HOME/.ssh * Make git-annex-standalone.deb include the git-annex html documentation, desktop file, and base completion file, same as the regular git-annex.deb. * fsck: When fscking a dead repo, avoid incorrect "fixing location log" message, and display a warning about it being dead, since it's unusual to have access to a dead repo. * assistant: Pass ssh-options through 3 more git pull/push calls that were missed before. * Added annex.pidlock and annex.pidlocktimeout configuration to support filesystems where POSIX fcntl locks cannot be used. * init: Automatically enable annex.pidlock when necessary. . git-annex (5.20151102.1) unstable; urgency=medium . * Avoid installing desktop file and program file if cabal install git-annex is run as root, since that is not a systemwide install, but to /root, and so generating a systemwide desktop file is not right. * When cabal install is run with the desktop file location not writable, display a warning, but continue successfully. . git-annex (5.20151102) unstable; urgency=medium . * Use statvfs on OSX. * Symlink timestamp preservation code uses functions from unix-2.7.0 when available, which should be more portable. * enableremote: List uuids and descriptions of remotes that can be enabled, and accept either the uuid or the description in leu if the name. * Catch up with current git behavior when both repo and repo.git exist; it seems it now prefers repo in this case, although historically it may have preferred repo.git. * Fix failure to build with aws-0.13.0. * When built with aws-0.13.0, the S3 special remote can be used to create google nearline buckets, by setting storageclass=NEARLINE. . git-annex (5.20151019-1) unstable; urgency=medium . * Package 5.20151019-1 . git-annex (5.20151019) unstable; urgency=medium . * Fix a longstanding, but unlikely to occur bug, where dropping a file from a remote could race with other drops of the same file, and result in all copies of its content being lost. * git-annex-shell: Added lockcontent command, to prevent dropping of a key's content. This is necessary due to the above bugfix. * In some cases, the above bugfix changes what git-annex allows you to drop: - When a file is present in several special remotes, but not in any accessible git repositories, dropping it from one of the special remotes will now fail. Instead, the file has to be moved from one of the special remotes to the git repository, and can then safely be dropped from the git repository. - If a git remote has too old a version of git-annex-shell installed, git-annex won't trust it to hold onto a copy of a file when dropping that file from the local git repository. * Changed drop ordering when using git annex sync --content or the assistant, to drop from remotes first and from the local repo last. This works better with the behavior changes to drop in many cases. * Do verification of checksums of annex objects downloaded from remotes. * When annex objects are received into git repositories from other git repos, their checksums are verified then too. * To get the old, faster, behavior of not verifying checksums, set annex.verify=false, or remote..annex-verify=false. * setkey, rekey: These commands also now verify that the provided file matches the expected checksum of the key, unless annex.verify=false. * reinject: Already verified content; this can now be disabled by setting annex.verify=false. * sync, merge, assistant: When git merge failed for a reason other than a conflicted merge, such as a crippled filesystem not allowing particular characters in filenames, git-annex would make a merge commit that could omit such files or otherwise be bad. Fixed by aborting the whole merge process when git merge fails for any reason other than a merge conflict. * Allow building with S3 disabled again. * Ported disk free space checking code to work on Solaris. * Windows webapp: Fix support for entering password when setting up a ssh remote. * copy --auto was checking the wrong repo's preferred content. (--from was checking what --to should, and vice-versa.) Fixed this bug, which was introduced in version 5.20150727. * Avoid unncessary write to the location log when a file is unlocked and then added back with unchanged content. * S3: Fix support for using https. * Avoid displaying network transport warning when a ssh remote does not yet have an annex.uuid set. * Debian: Add torrent library to build-depends as it's packaged now, and stop recommending bittornado | bittorrent. * Debian: Remove build dependency on transformers library, as it is now included in ghc. * Debian: Remove menu file, since a desktop file is provided and lintian says there can be only one. . git-annex (5.20150930-1) unstable; urgency=medium . * Package 5.20150930-1 . git-annex (5.20150930) unstable; urgency=medium . * 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-1) unstable; urgency=medium . * Package 5.20150916-1 . git-annex (5.20150916) unstable; urgency=medium . * 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-1) unstable; urgency=medium . * Package 5.20150824-1 . git-annex (5.20150824) unstable; urgency=medium . * 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. . git-annex (5.20150812-2) unstable; urgency=medium . * Override lintian errors . git-annex (5.20150812-1) unstable; urgency=medium . * Package 5.20150812-1 . git-annex (5.20150812) unstable; urgency=medium . * 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. . git-annex (5.20150731-1) unstable; urgency=medium . * Package 5.20150731 . git-annex (5.20150731) unstable; urgency=medium . * webapp: Support enabling known gitlab.com remotes. * Fix rsync special remote to work when -Jn is used for concurrent uploads. * The last release accidentially removed a number of options from the copy command. (-J, file matching options, etc). These have been added back. * init: Detect when the filesystem is crippled such that it ignores attempts to remove the write bit from a file, and enable direct mode. Seen with eg, NTFS fuse on linux. * Fix man page installation by cabal install; all the new man pages are now installed. . git-annex (5.20150727-2) unstable; urgency=medium . * Remove lintian from gbp.conf for now. . git-annex (5.20150727-1) unstable; urgency=medium . * Package 5.20150727 . git-annex (5.20150727) unstable; urgency=medium . * Fix bug that prevented uploads to remotes using new-style chunking from resuming after the last successfully uploaded chunk. * Switched option parsing to use optparse-applicative. This was a very large and invasive change, and may have caused some minor behavior changes to edge cases of option parsing. (For example, the metadata command no longer accepts the combination of --get and --set, which never actually worked.) * Bash completion file is now included in the git-annex source tree, and installed into Debian package (and any other packages built using make install). This bash completion is generated by the option parser, so it covers all commands, all options, and will never go out of date! * As well as tab completing "git-annex" commands, "git annex" will also tab complete. However, git's bash completion script needs a patch, which I've submitted, for this to work prefectly. * version --raw now works when run outside a git repository. * assistant --startdelay now works when run outside a git repository. * dead now accepts multiple --key options. * addurl now accepts --prefix and --suffix options to adjust the filenames used. * sync --content: Fix bug that caused files to be uploaded to eg, more archive remotes than wanted copies, only to later be dropped to satisfy the preferred content settings. * importfeed: Improve detection of known items whose url has changed, and avoid adding redundant files. Where before this only looked at permalinks in rss feeds, it now also looks at guids. * importfeed: Look at not only permalinks, but now also guids to identify previously downloaded files. * Webapp: Now features easy setup of git-annex repositories on gitlab.com. * Adjust debian build deps: The webapp can now build on arm64, s390x and hurd-i386. WebDAV support is also available on those architectures. * Debian package now maintained by Richard Hartmann. * Support building without persistent database on for systems that lack TH. This removes support for incremental fsck. . git-annex (5.20150710-2) unstable; urgency=medium . [ Richard Hartmann ] * Joey Hess had fixed 786659. Closes: #786659 . git-annex (5.20150710-1) unstable; urgency=medium . [ Joey Hess ] * add: Stage symlinks the same as git add would, even if they are not a link to annexed content. * sync: When annex.autocommit=false, avoid making any commit of local changes, while still merging with remote to the extent possible. * unused: --used-refspec can now be configured to look at refs in the reflog. This provides a way to not consider old versions of files to be unused after they have reached a specified age, when the old refs in the reflog expire. * log: Fix reversion introduced in version 5.20150528 that broke this command. * assistant --autostart: First stop any daemons that are already running, which might be left over from a previous login session and so unable to use the ssh agent of a new login session. * assistant: Fix local pairing to not include newline in ssh pubkey, which is rejected on the other end for security reasons. * assistant: Fix ANNEX_SHELL_DIR written to ~/.ssh/authorized_keys in local pairing to be the absolute path to the repository, not "." This was a reversion caused by the relative path changes in 5.20150113. * Brought back the setkey plumbing command that was removed in 2011, since we found a use case for it. Note that the command's syntax was changed for consistency. * bugfix: Pass --full-tree when using git ls-files to get a list of files on the git-annex branch, so it works when run in a subdirectory. This bug affected git-annex unused, and potentially also transitions running code and other things. * Support git's undocumented core.sharedRepository=2 value, which is equivalent to "world", and is set when a repo was created using git init --shared=world. * When building on linux, pass --as-needed to linker to avoid linking with unused shared libraries including libyaml. * import: Fix failure of cross-device import on Windows. * merge: Avoid creating the synced/master branch. * Removed support for optparse-applicative versions older than 0.10. . [ Richard Hartmann ] * Switch to dpkg-source 3.0 (quilt) format, just so we have any non-native format * Switched Maintainer to Richard Hartmann . git-annex (5.20150617) unstable; urgency=medium . * Now supports git annex sync --all --content to sync all versions of all files with all repos that want them. * Added new "anything" preferred content expression, which matches all versions of all files. * Standard preferred content for client, backup, incremental backup, and unwanted groups have been adjusted to work better when used with git annex sync --all --content. * fromkey, registerurl: Improve handling of urls that happen to also be parsable as strange keys. * sync, remotedaemon: Pass configured ssh-options even when annex.sshcaching is disabled. * assistant: Consume systemd-networkd dbus events to learn about changes to network connections, as was already done with network-manager and wicd. Thanks to Sebastian Reuße for the patches. * get --incomplete: New option to resume any interrupted downloads. * dead --key: Can be used to mark a key as dead. * fsck: Ignore keys that are known to be dead when running in --all/--unused/--key mode or a in a bare repo. Closes: #753888 Otherwise, still reports files with lost contents, even if the content is dead. * S3: Special remotes can be configured with public=yes to allow the public to access the bucket's content. * S3: Publically accessible buckets can be used without creds. * import --clean-duplicates: Fix bug that didn't count local or trusted repo's copy of a file as one of the necessary copies to allow removing it from the import location. * tahoe: Use ~/.tahoe-git-annex/ rather than ~/.tahoe/git-annex/ when setting up a tahoe special remote to avoid old versions of tahoe create-client choking. * Fix bug that prevented enumerating locally present objects in repos tuned with annex.tune.objecthash1=true. Fixes: unused, object count in info, unannex. * Improve url parsing to handle some urls containing illegal [] characters in their paths. * info: Added json output for "backend usage", "numcopies stats", "repositories containing these files", and "transfers in progress". * Fix incremental backup standard preferred content expression to match its documentation, which says it does not want files that have reached a backup repository. * Increased the default annex.bloomaccuracy from 1000 to 10000000. This makes git annex unused use up to 16 mb more memory than it did before, but the massive increase in accuracy makes this worthwhile for all but the smallest systems. * Build documentation with deterministic=1 for reproducible builds. (A new ikiwiki feature.) Closes: #785736 * Re-remove dependency on obsolete hamlet package. Closes: #786659 * debian/cabal-wrapper: Removed this hack which should not be needed anymore. . git-annex (5.20150528) unstable; urgency=medium . * fromkey, registerurl: Allow urls to be specified instead of keys, and generate URL keys. * Linux standalone, OSX app: Improve runshell script to always quote shell vars, so that it will work when eg, untarred into a directory path with spaces in its name. * Revert removal dependency on obsolete hamlet package, since the autobuilders are not ready for this change yet and it prevented them from building the webapp. Reopens: #786659 * fsck: When checksumming a file fails due to a hardware fault, the file is now moved to the bad directory, and the fsck proceeds. Before, the fsck immediately failed. * Linux standalone: The webapp was not built in the previous release, this release fixes that oversight. . git-annex (5.20150522) unstable; urgency=medium . * import: Refuse to import files that are within the work tree, as that does not make sense and could cause data loss. * drop: Now supports --all, --unused, and --key. * drop: Now defaults to --all when run in a bare repository. (Previously, did nothing when run in a bare repository.) * get, move, copy, mirror: Concurrent transfers are now supported! For example: git-annex get -J10 However, progress bars are not yet displayed for concurrent transfers, pending an updated version of the ascii-progress library. * --quiet now makes progress output by rsync, wget, etc be quiet too. * Take space that will be used by other running downloads into account when checking annex.diskreserve. * Avoid accumulating transfer failure log files unless the assistant is being used. * Fix an unlikely race that could result in two transfers of the same key running at once. * Stale transfer lock and info files will be cleaned up automatically when get/unused/info commands are run. * unused: Add --used-refspec option and annex.used-refspec, which can specify a set of refs to consider used, rather than the default of considering all refs used. * webapp: Fix zombie xdg-open process left when opening file browser. Closes: #785498 * Safer posix fctnl locking implementation, using lock pools and STM. * Build documentation with TZ=UTC for reproducible builds. See #785736. * OSX: Corrected the location of trustedkeys.gpg, so the built-in upgrade code will find it. Fixes OSX upgrade going forward, but older versions won't upgrade themselves due to this problem. * Remove dependency on obsolete hamlet package. Closes: #786659 . git-annex (5.20150508.1) unstable; urgency=medium . * Now builds cleanly using ghc 7.10 (as well as ghc back to 7.6). * Imrovements to the git-annex-standalone.deb build process. (Thanks, Yaroslav Halchenko) . git-annex (5.20150508) unstable; urgency=medium . * Improve behavior when a git-annex command is told to operate on a file that doesn't exist. It will now continue to other files specified after that on the command line, and only error out at the end. * S3: Enable debug logging when annex.debug or --debug is set. * S3: git annex info will show additional information about a S3 remote (endpoint, port, storage class) * S3: Let git annex enableremote be used, without trying to recreate a bucket that should already exist. * S3: Fix incompatability with bucket names used by hS3; the aws library cannot handle upper-case bucket names. git-annex now converts them to lower case automatically. * import: Check for gitignored files before moving them into the tree. (Needs git 1.8.4 or newer.) * import: Don't stop entire import when one file fails due to being gitignored or conflicting with something in the work tree. * import: Before removing a duplicate file in --deduplicate or --clean-duplicates mode, verify that enough copies of its content still exist. * Improve integration with KDE's file manager to work with dolphin version 14.12.3 while still being compatable with 4.14.2. Thanks, silvio. * assistant: Added --autostop to complement --autostart. * Work around wget bug #784348 which could cause it to clobber git-annex symlinks when downloading from ftp. * Support checking ftp urls for file presence. * Fix bogus failure of fsck --fast. * fsck: Ignore error recording the fsck in the activity log, which can happen when running fsck in a read-only repository. Closes: #698559 (fsck can still need to write to the repository if it find problems, but a successful fsck can be done read-only) * Improve quvi 0.4 output parsing to handle cases wher there is no known filename extension. This is currently the case when using quvi with youtube. In this case, the extension ".m" will be used. * Dropped support for older versions of yesod, warp, and dbus than the ones in Debian Jessie. * Switch from the obsolete dataenc library for base64 encoding to sandi. (Thanks, Magnus Therning) * Debian's ghc now supports TH on arm! Adjust build dependencies to build the webapp on arm, and enable DAV support on arm. \o/ * Adjust some other arch specific build dependencies that are now available on more architectures in Devian unstable. * Windows: Remove cygwin ssh, the newer version of which has stopped honoring the setting of HOME. Instead, copy msysgit's ssh into PATH. Note that setting up a remote ssh server using password authentication is known to be broken in this release on Windows. * Windows: Roll back to an older version of rsync from cygwin. The newer version has some dependency on a newer ssh from cygwin. . git-annex (5.20150420) unstable; urgency=medium . * Fix activity log parsing, which caused the log to not retain activity from other uuids. * Union merge could fall over if there was a file in the repository with the same name as a git ref. Now fixed. * info dir: Added information about repositories that contain files in the specified directory. * info: Added --bytes option. * bittorrent: Fix handling of magnet links. * When a key's size is unknown, still check the annex.diskreserve, and avoid getting content if the disk is too full. * Fix fsck --from a git remote in a local directory, and from a directory special remote. This was a reversion caused by the relative path changes in 5.20150113. * fsck --from remote: When bad content is found in the remote, and the local repo does not have a copy of the content, preserve the bad content in .git/annex/bad/ to avoid further data loss. * fsck --from remote: Avoid downloading a key if it would go over the annex.diskreserve limit. * required: New command, like wanted, but for required content. * Removed dependency on haskell SHA library, instead using cryptohash >= 0.11.0. * Make repo init more robust. * New debian/rules build-standalone target, which generates a git-annex-standalone.deb that should work on many old Debian etc systems. Thanks, Yaroslav Halchenko. * Windows: Renamed start menu file to avoid loop in some versions of Windows where the menu file is treated as a git-annex program. * Windows: Fixed support of remotes on other drives. (A reversion introduced in version 5.20150113.) * Windows: Bundled versions of rsync, wget, ssh, and gpg from cygwin all updated. Thanks, Yury V. Zaytsev. . git-annex (5.20150409) unstable; urgency=medium . * This fixes a bug in the assistant introduced by the literal pathspec changes in version 5.20150406. * --quiet now suppresses progress displays from eg, rsync. (Second time's the charm..) * fromkey, registerurl: When reading from stdin, allow the filename and url, respectively, to contain whitespace. * add: If annex.largefiles is set and does not match a file that's being added, the file will be checked into git rather than being added to the annex. Previously, git annex add skipped over such files; this new behavior is more useful in direct mode. * proxy: Made it work when run in a new repository before initial commit. * info: Display repository mode: bare when in a bare (non-direct mode) repo. * importfeed: Fix feed download when curl is used. * importfeed: Error out when passed a non-url. * webapp: When adding another local repository, and combining it with the current repository, the new repository's remote path was set to "." rather than the path to the current repository. This was a reversion caused by the relative path changes in 5.20150113. * contentlocationn: New plumbing command. . git-annex (5.20150406.1) unstable; urgency=medium . * Fixes a bug in the last release that caused rsync and possibly other commands to hang at the end of a file transfer. (--quiet is back to not blocking progress displays until that code can be fixed properly.) . git-annex (5.20150406) unstable; urgency=medium . * Prevent git-ls-files from double-expanding wildcards when an unexpanded wildcard is passed to a git-annex command like add or find. * Fix make build target. Thanks, Justin Geibel. * Fix GETURLS in external special remote protocol to strip downloader prefix from logged url info before checking for the specified prefix. * importfeed: Avoid downloading a redundant item from a feed whose permalink has been seen before, even when the url has changed. * importfeed: Always store itemid in metadata; before this was only done when annex.genmetadata was set. * Relax debian package dependencies to git >= 1:1.8.1 rather than needing >= 1:2.0. * test: Fix --list-tests * addurl --file: When used with a special remote that claims urls and checks their contents, don't override the user's provided filename with filenames that the special remote suggests. Also, don't allow adding the url if the special remote says it contains multiple files. * import: --deduplicate and --cleanduplicates now output the keys corresponding to duplicated files they process. * expire: New command, for expiring inactive repositories. * fsck: Record fsck activity for use by expire command. * Fix truncation of parameters that could occur when using xargs git-annex. * Significantly sped up processing of large numbers of directories passed to a single git-annex command. * version: Add --raw * init: Improve fifo test to detect NFS systems that support fifos but not well enough for sshcaching. * --quiet now suppresses progress displays from eg, rsync. (The option already suppressed git-annex's own built-in progress displays.) . git-annex (5.20150327) unstable; urgency=medium . * readpresentkey: New plumbing command for checking location log. * checkpresentkey: New plumbing command to check if a key can be verified to be present on a remote. * Added a post-update-annex hook, which is run after the git-annex branch is updated. Needed for git update-server-info. * migrate: --force will force migration of keys already using the destination backend. Useful in rare cases. * Man pages for individual commands now available, and can be opened using "git annex help " * --auto is no longer a global option; only get, drop, and copy accept it. (Not a behavior change unless you were passing it to a command that ignored it.) * Improve error message when --in @date is used and there is no reflog for the git-annex branch. * assistant: Committing a whole lot of files at once could overflow command-line length limits and cause the commit to fail. This only happened when using the assistant in an indirect mode repository. * Work around curl bug when asked to download an empty url to a file. * Fix bug introduced in the last release that broke git-annex sync when git-annex was installed from the standalone tarball. . git-annex (5.20150317) unstable; urgency=medium . * fsck: Incremental fsck uses sqlite to store its records, instead of abusing the sticky bit. Existing sticky bits are ignored; incremental fscks started by old versions won't be resumed by this version. * fsck: Multiple incremental fscks of different repos (including remotes) can now be running at the same time in the same repo without it getting confused about which files have been checked for which remotes. * unannex: Refuse to unannex when repo is too new to have a HEAD, since in this case there must be staged changes in the index (if there is anything to unannex), and the unannex code path needs to run with a clean index. * Linux standalone: Set LOCPATH=/dev/null to work around https://ghc.haskell.org/trac/ghc/ticket/7695 This prevents localization from working, but git-annex is not localized anyway. * sync: As well as the synced/git-annex push, attempt a git-annex:git-annex push, as long as the remote branch is an ancestor of the local branch, to better support bare git repos. (This used to be done, but it forgot to do it since version 4.20130909.) * When re-execing git-annex, use current program location, rather than ~/.config/git-annex/program, when possible. * Submodules are now supported by git-annex! * metadata: Fix encoding problem that led to mojibake when storing metadata strings that contained both unicode characters and a space (or '!') character. * Also potentially fixes encoding problem when embedding credentials that contain unicode characters. * sync: Fix committing when in a direct mode repo that has no HEAD ref. (For example, a newly checked out git submodule.) * Added SETURIPRESENT and SETURIMISSING to external special remote protocol, useful for things like ipfs that don't use regular urls. * addurl: Added --raw option, which bypasses special handling of quvi, bittorrent etc urls. * git-annex-shell: Improve error message when the specified repository doesn't exist or git config fails for some reason. * fromkey --force: Skip test that the key has its content in the annex. * fromkey: Add stdin mode. * registerurl: New plumbing command for mass-adding urls to keys. * remotedaemon: Fixed support for notifications of changes to gcrypt remotes, which was never tested and didn't quite work before. . git-annex (5.20150219) unstable; urgency=medium . * glacier: Detect when the glacier command in PATH is the wrong one, from boto, rather than from glacier-cli, and refuse to use it, since the boto program fails to fail when passed parameters it does not understand. * groupwanted: New command to set the groupwanted preferred content expression. * import: Support file matching options such as --exclude, --include, --smallerthan, --largerthan * The file matching options are now only accepted by commands that can actually use them, instead of by all commands. * import: Avoid checksumming file twice when run in the default or --duplicate mode. * Windows: Fix bug in dropping an annexed file, which caused a symlink to be staged that contained backslashes. * webapp: Fix reversion in opening webapp when starting it manually inside a repository. * assistant: Improve sanity check for control characters when pairing. * Improve race recovery code when committing to git-annex branch. * addurl: Avoid crash if quvi is not installed, when git-annex was built with process-1.2 * bittorrent: Fix mojibake introduced in parsing arai2c progress output. * fsck --from: If a download from a remote fails, propagate the failure. * metadata: When setting metadata, do not recurse into directories by default, since that can be surprising behavior and difficult to recover from. The old behavior is available by using --force. * sync, assistant: Include repository name in head branch commit message. * The ssh-options git config is now used by gcrypt, rsync, and ddar special remotes that use ssh as a transport. * sync, assistant: Use the ssh-options git config when doing git pull and push. * remotedaemon: Use the ssh-options git config. * Linux standalone: Improved process names of linker shimmed programs. . git-annex (5.20150205) unstable; urgency=medium . * info: Can now display info about a given uuid. * Added to remote/uuid info: Count of the number of keys present on the remote, and their size. This is rather expensive to calculate, so comes last and --fast will disable it. * info remote: Include the date of the last sync with the remote. * sync: Added --message/-m option like git commit. * remotedaemon: Fix problem that could prevent ssh connections being made after two LOSTNET messages were received in a row (perhaps due to two different network interfaces being brought down). * Fix build failure when wget is not installed. * Fix wording of message displayed when unable to get a file that is available in untrusted repositories. * addurl: When a Content-Disposition header suggests a filename to use, addurl will consider using it, if it's reasonable and doesn't conflict with an existing file. (--file overrides this) * Fix default repository description created by git annex init, which got broken by the relative path changes in the last release. * init: Repository tuning parameters can now be passed when initializing a repository for the first time. For details, see http://git-annex.branchable.com/tuning/ * merge: Refuse to merge changes from a git-annex branch of a repo that has been tuned in incompatible ways. * Support annex.tune.objecthash1, annex.tune.objecthashlower, and annex.tune.branchhash1. * Remove support for building without cryptohash. * Added MD5 and MD5E backends. * assistant: Fix local pairing when ssh pubkey comment contains spaces. * Avoid using fileSize which maxes out at just 2 gb on Windows. Instead, use hFileSize, which doesn't have a bounded size. Fixes support for files > 2 gb on Windows. * Windows: Fix running of the pre-commit-annex hook. * Windows: Fix S3 special remote; need to call withSocketsDo. Thanks, Trent. . git-annex (5.20150113) unstable; urgency=medium . * unlock: Don't allow unlocking files that have never been committed to git before, to avoid an intractable problem that prevents the pre-commit hook from telling if such a file is intended to be an annexed file or not. * Avoid re-checksumming when migrating from hash to hashE backend. Closes: #774494 * Fix build with process 1.2.1.0. * Android: Provide a version built with -fPIE -pie to support Android 5.0. * sync: Fix an edge case where syncing in a bare repository would try to merge and so fail. * Check git version at runtime, rather than assuming it will be the same as the git version used at build time when running git-checkattr and git-branch remove. * Switch to using relative paths to the git repository. - This allows the git repository to be moved while git-annex is running in it, with fewer problems. - On Windows, this avoids some of the problems with the absurdly small MAX_PATH of 260 bytes. In particular, git-annex repositories should work in deeper/longer directory structures than before. * Generate shorter keys for WORM and URL, avoiding keys that are longer than used for SHA256, so as to not break on systems like Windows that have very small maximum path length limits. * Bugfix: A file named HEAD in the work tree could confuse some git commands run by git-annex. . git-annex (5.20141231) unstable; urgency=medium . * vicfg: Avoid crashing on badly encoded config data. * Work around statfs() overflow on some XFS systems. * sync: Now supports remote groups, the same way git remote update does. * setpresentkey: A new plumbing-level command. * Run shutdown cleanup actions even if there were failures processing the command. Among other fixes, this means that addurl will stage added files even if adding one of the urls fails. * bittorrent: Fix locking problem when using addurl file:// * Windows: Fix local rsync filepath munging (fixes 26 test suite failures). * Windows: Got the rsync special remote working. * Windows: Fix handling of views of filenames containing '%' * OSX: Switched away from deprecated statfs64 interface. . git-annex (5.20141219) unstable; urgency=medium . * Webapp: When adding a new box.com remote, use the new style chunking. Thanks, Jon Ander Peñalba. * External special remote protocol now includes commands for setting and getting the urls associated with a key. * Urls can now be claimed by remotes. This will allow creating, for example, a external special remote that handles magnet: and *.torrent urls. * Use wget -q --show-progress for less verbose wget output, when built with wget 1.16. * Added bittorrent special remote. * addurl behavior change: When downloading an url ending in .torrent, it will download files from bittorrent, instead of the old behavior of adding the torrent file to the repository. * Added Recommends on aria2. * When possible, build with the haskell torrent library for parsing torrent files. As a fallback, can instead use btshowmetainfo from bittornado | bittorrent. * Fix build with -f-S3. . git-annex (5.20141203) unstable; urgency=medium . * proxy: New command for direct mode repositories, allows bypassing the direct mode guard in a safe way to do all sorts of things including git revert, git mv, git checkout ... * undo: New command to undo the most recent change to a file or to the contents of a directory. * Add undo action to nautilus and konqueror integration. * diffdriver: New git-annex command, to make git external diff drivers work with annexed files. * pre-commit: Block partial commit of unlocked annexed file, since that left a typechange staged in index due to some infelicity of git's handling of partial commits. * Work around behavior change in lsof 4.88's -F output format. * S3: Switched to using the haskell aws library. * S3: No longer buffers entire files in memory when uploading without chunking. * S3: When built with a new enough version of the haskell aws library, supports doing multipart uploads, in order to store extremely large files in S3 when not using chunking. * Don't show "(gpg)" when decrypting the remote encryption cipher, since this could be taken to read that's the only time git-annex runs gpg, which is not the case. * Debian package is now maintained by Gergely Nagy. * Windows: Remove Alt+A keyboard shortcut, which turns out to have scope outside the menus. * Windows: Install ssh and other bundled programs to Git/cmd, instead of Git/bin, since the latter is not in the default msysgit PATH. . git-annex (5.20141125) unstable; urgency=medium . * Remove fixup code for bad bare repositories created by versions 5.20131118 through 5.20131127. That fixup code would accidentially fire when --git-dir was incorrectly pointed at the working tree of a git-annex repository, possibly resulting in data loss. Closes: #768093 * Windows: Fix crash when user.name is not set in git config. . git-annex (5.20141024) unstable; urgency=medium . * vicfg: Deleting configurations now resets to the default, where before it has no effect. * Remove hurd stuff from cabal file, since hackage currently rejects it, and the test suite fails on hurd. * initremote: Don't allow creating a special remote that has the same name as an existing git remote. * Windows: Use haskell setenv library to clean up several ugly workarounds for inability to manipulate the environment on windows. This includes making git-annex not re-exec itself on start on windows, and making the test suite on Windows run tests without forking. * glacier: Fix pipe setup when calling glacier-cli to retrieve an object. * info: When run on a single annexed file, displays some info about the file, including its key and size. * info: When passed the name or uuid of a remote, displays info about that remote. Remotes that support encryption, chunking, or embedded creds will include that in their info. * enableremote: When the remote has creds, update the local creds cache file. Before, the old version of the creds could be left there, and would continue to be used. . git-annex (5.20141013) unstable; urgency=medium . * Adjust cabal file to support building w/o assistant on the hurd. * Support building with yesod 1.4. * S3: Fix embedcreds=yes handling for the Internet Archive. * map: Handle .git prefixed remote repos. Closes: #614759 * repair: Prevent auto gc from happening when fetching from a remote. . git-annex (5.20140927) unstable; urgency=medium . * Really depend (not just build-depend) on new enough git for --no-gpg-sign to work. Closes: #763057 * Add temporary workaround for bug #763078 which broke building on armel and armhf. . git-annex (5.20140926) unstable; urgency=high . * Depend on new enough git for --no-gpg-sign to work. Closes: #762446 * Work around failure to build on mips by using cabal, not Setup, to build in debian/rules. . git-annex (5.20140919) unstable; urgency=high . * Security fix for S3 and glacier when using embedcreds=yes with encryption=pubkey or encryption=hybrid. CVE-2014-6274 The creds embedded in the git repo were *not* encrypted. git-annex enableremote will warn when used on a remote that has this problem. For details, see: https://git-annex.branchable.com/upgrades/insecure_embedded_creds/ * assistant: Detect when repository has been deleted or moved, and automatically shut down the assistant. Closes: #761261 * Windows: Avoid crashing trying to list gpg secret keys, for gcrypt which is not yet supported on Windows. * WebDav: Fix enableremote crash when the remote already exists. (Bug introduced in version 5.20140817.) * add: In direct mode, adding an annex symlink will check it into git, as was already done in indirect mode. . git-annex (5.20140915) unstable; urgency=medium . * New annex.hardlink setting. Closes: #758593 * init: Automatically detect when a repository was cloned with --shared, and set annex.hardlink=true, as well as marking the repository as untrusted. * Fix parsing of ipv6 address in git remote address when it was not formatted as an url. * The annex-rsync-transport configuration is now also used when checking if a key is present on a rsync remote, and when dropping a key from the remote. * Promote file not found warning message to an error. * Fix transfer lock file FD leak that could occur when two separate git-annex processes were both working to perform the same set of transfers. * sync: Ensure that pending changes to git-annex branch are committed before push when in direct mode. (Fixing a very minor reversion.) * WORM backend: Switched to include the relative path to the file inside the repository, rather than just the file's base name. Note that if you're relying on such things to keep files separate with WORM, you should really be using a better backend. * Rather than crashing when there's a problem with the requested bloomfilter capacity/accuracy, fall back to a reasonable default bloom filter size. * Fix build with optparse-applicative 0.10. Closes: #761484 * webapp: Fixed visual glitch in xmpp pairing that was reported live by a user who tracked me down in front of a coffee cart in Portland. (New bug reporting method of choice?) . git-annex (5.20140831) unstable; urgency=medium . * Make --help work when not in a git repository. Closes: #758592 * Ensure that all lock fds are close-on-exec, fixing various problems with them being inherited by child processes such as git commands. * When accessing a local remote, shut down git-cat-file processes afterwards, to ensure that remotes on removable media can be unmounted. Closes: #758630 * Fix handing of autocorrection when running outside a git repository. * Fix stub git-annex test support when built without tasty. * Do not preserve permissions and acls when copying files from one local git repository to another. Timestamps are still preserved as long as cp --preserve=timestamps is supported. Closes: #729757 . git-annex (5.20140817) unstable; urgency=medium . * New chunk= option to chunk files stored in special remotes. Supported by: directory, S3, webdav, gcrypt, rsync, and all external and hook special remotes. * Partially transferred files are automatically resumed when using chunked remotes! * The old chunksize= option is deprecated. Do not use for new remotes. * Legacy code for directory remotes using the old chunksize= option will keep them working, but more slowly than before. * webapp: Automatically install Konqueror integration scripts to get and drop files. * repair: Removing bad objects could leave fsck finding no more unreachable objects, but some branches no longer accessible. Fix this, including support for fixing up repositories that were incompletely repaired before. * Fix cost calculation for non-encrypted remotes. * Display exception message when a transfer fails due to an exception. * WebDAV: Sped up by avoiding making multiple http connections when storing a file. * WebDAV: Avoid buffering whole file in memory when uploading and downloading. * WebDAV: Dropped support for DAV before 1.0. * testremote: New command to test uploads/downloads to a remote. * Dropping an object from a bup special remote now deletes the git branch for the object, although of course the object's content cannot be deleted due to the nature of bup. * unlock: Better error handling; continue past files that are not available or cannot be unlocked due to disk space, and try all specified files. * Windows: Now uses actual inode equivilants in new direct mode repositories, for safer detection of eg, renaming of files with the same size and mtime. * direct: Fix ugly warning messages. * WORM backend: When adding a file in a subdirectory, avoid including the subdirectory in the key name. * S3, Glacier, WebDAV: Fix bug that prevented accessing the creds when the repository was configured with encryption=shared embedcreds=yes. * direct: Avoid leaving file content in misctemp if interrupted. * git-annex-shell sendkey: Don't fail if a remote asks for a key to be sent that already has a transfer lock file indicating it's being sent to that remote. The remote may have moved between networks, or reconnected. * Switched from the old haskell HTTP library to http-conduit. . git-annex (5.20140717) unstable; urgency=high . * Fix minor FD leak in journal code. Closes: #754608 * direct: Fix handling of case where a work tree subdirectory cannot be written to due to permissions. * migrate: Avoid re-checksumming when migrating from hashE to hash backend. * uninit: Avoid failing final removal in some direct mode repositories due to file modes. * S3: Deal with AWS ACL configurations that do not allow creating or checking the location of a bucket, but only reading and writing content to it. * resolvemerge: New plumbing command that runs the automatic merge conflict resolver. * Deal with change in git 2.0 that made indirect mode merge conflict resolution leave behind old files. * sync: Fix git sync with local git remotes even when they don't have an annex.uuid set. (The assistant already did so.) * Set gcrypt-publish-participants when setting up a gcrypt repository, to avoid unncessary passphrase prompts. This is a security/usability tradeoff. To avoid exposing the gpg key ids who can decrypt the repository, users can unset gcrypt-publish-participants. * Install nautilus hooks even when ~/.local/share/nautilus/ does not yet exist, since it is not automatically created for Gnome 3 users. * Windows: Move .vbs files out of git\bin, to avoid that being in the PATH, which caused some weird breakage. (Thanks, divB) * Windows: Fix locking issue that prevented the webapp starting (since 5.20140707). . git-annex (5.20140709) unstable; urgency=medium . * Fix race in direct mode merge code that could cause all files in the repository to be removed. It should be able to recover repositories experiencing this bug without data loss. See: http://git-annex.branchable.com/bugs/bad_merge_commit_deleting_all_files/ * Fix git version that supported --no-gpg-sign. * Fix bug in automatic merge conflict resolution, when one side is an annexed symlink, and the other side is a non-annexed symlink. * Really fix bug that caused the assistant to make many unncessary empty merge commits. . git-annex (5.20140707) unstable; urgency=medium . * assistant: Fix bug, introduced in last release, that caused the assistant to make many unncessary empty merge commits. * assistant: Fix one-way assistant->assistant sync in direct mode. * Fix bug in annex.queuesize calculation that caused much more queue flushing than necessary. * importfeed: When annex.genmetadata is set, metadata from the feed is added to files that are imported from it. * Support users who have set commit.gpgsign, by disabling gpg signatures for git-annex branch commits and commits made by the assistant. * Fix memory leak when committing millions of changes to the git-annex branch, eg after git-annex add has run on 2 million files in one go. * Support building with bloomfilter 2.0.0. * Run standalone install process when the assistant is started (was only being run when the webapp was opened). * Android: patch git to avoid fchmod, which fails on /sdcard. * Windows: Got rid of that pesky DOS box when starting the webapp. * Windows: Added Startup menu item so assistant starts automatically on login. * Windows: Fix opening file browser from webapp when repo is in a directory with spaces. * Windows: Assistant now logs to daemon.log. . git-annex (5.20140613) unstable; urgency=medium . * Ignore setsid failures. * Avoid leaving behind .tmp files when failing in some cases, including importing files to a disk that is full. * Avoid bad commits after interrupted direct mode sync (or merge). * Fix build with wai 0.3.0. * Deal with FAT's low resolution timestamps, which in combination with Linux's caching of higher res timestamps while a FAT is mounted, caused direct mode repositories on FAT to seem to have modified files after they were unmounted and remounted. * Windows: Fix opening webapp when repository is in a directory with spaces in the path. * Detect when Windows has lost its mind in a timezone change, and automatically apply a delta to the timestamps it returns, to get back to sane values. . git-annex (5.20140606) unstable; urgency=medium . * webapp: When adding a new local repository, fix bug that caused its group and preferred content to be set in the current repository, even when not combining. * webapp: Avoid stomping on existing description, group and preferred content settings when enabling or combining with an already existing remote. * assistant: Make sanity checker tmp dir cleanup code more robust. * unused: Avoid checking view branches for unused files. * webapp: Include ssh port in mangled hostname. * Windows: Fix bug introduced in last release that caused files in the git-annex branch to have lines teminated with \r. * Windows: Fix retrieving of files from local bare git repositories. . git-annex (5.20140529) unstable; urgency=medium . * Fix encoding of data written to git-annex branch. Avoid truncating unicode characters to 8 bits. Allow any encoding to be used, as with filenames (but utf8 is the sane choice). Affects metadata and repository descriptions, and preferred content expressions. * assistant: When there are multiple remotes giving different ways to access the same repository, honor remote cost settings and use the cheapest available. * webapp: More robust startup when annex directory is not a git repo. * initremote/enableremote: Basic support for using with regular git remotes; initremote stores the location of an already existing git remote, and enableremote setups up a remote using its stored location. * webapp: Support for enabling known git repositories on ssh servers. The repository must have been added using initremote. * webapp: When setting up a ssh remote, record it using initremote, so that it can be easily enabled elsewhere. * webapp: When setting up a ssh remote, if the user inputs ~/foo, normalize that to foo, since it's in the home directory by default. * Use exceptions in place of deprecated MonadCatchIO-transformers Thanks, Ben Gamari. * android: Run busybox install with -s, since some versions of Android prohibit making hard links. * Android webapp: Fix EvilSplicer bugs that mangled the css files, preventing icons from displaying, and also slightly broke the js files. . git-annex (5.20140517) unstable; urgency=medium . * webapp: Switched to bootstrap 3. Thanks, Sören Brunk. * Standalone builds now check gpg signatures before upgrading. * Simplified repository description line format. The remote name, if any, is always in square brackets after the description. * assistant: Clean up stale tmp files on startup. * webapp: Better ssh password prompting. * Depend on git-remote-gcrypt 0.20130908-6. Older versions fail when the assistant is run with no controlling tty. * Added ddar special remote. Thanks, Robie Basak. * webapp: Fixed drag and drop to reorder the list of remotes. * group: When no groups are specified to set, lists the current groups of a repository. * Add remote.$name.annex-shell configuration. Thanks, Fraser Tweedale * Support symlinking git-annex and git-annex-shell from the Linux standalone bundle into PATH. Thanks, jlebar. . git-annex (5.20140421) unstable; urgency=medium . * assistant: Now detects immediately when other repositories push changes to a ssh remote, and pulls. ** XMPP is no longer needed in this configuration! ** This requires the remote server have git-annex-shell with notifychanges support (>= 5.20140405) * webapp: Show a network signal icon next to ssh and xmpp remotes that it's currently connected with. * webapp: Rework xmpp nudge to prompt for either xmpp or a ssh remote to be set up. * sync, assistant, remotedaemon: Use ssh connection caching for git pushes and pulls. * remotedaemon: When network connection is lost, close all cached ssh connections. * Improve handling of monthly/yearly scheduling. * Avoid depending on shakespeare except for when building the webapp. * uninit: Avoid making unncessary copies of files. * info: Allow use in a repository where annex.uuid is not set. * reinit: New command that can initialize a new repository using the configuration of a previously known repository. Useful if a repository got deleted and you want to clone it back the way it was. * drop --from: When local repository is untrusted, its copy of a file does not count. * Bring back rsync -p, but only when git-annex is running on a non-crippled file system. This is a better approach to fix #700282 while not unncessarily losing file permissions on non-crippled systems. * webapp: Start even if the current directory is listed in ~/.config/git-annex/autostart but no longer has a git repository in it. * findref: New command, like find but shows files in a specified git ref. * webapp: Fix UI for removing XMPP connection. * When init detects that git is not configured to commit, and sets user.email to work around the problem, also make it set user.name. * webapp: Support using git-annex on a remote server, which was installed from the standalone tarball or OSX app, and so does not have git-annex in PATH (and may also not have git or rsync in PATH). * standalone tarball, OSX app: Install a ~/.ssh/git-annex-wrapper, which can be used to run git-annex, git, rsync, etc. Checksums-Sha1: 3f894a47cd6a1f12588b9315cc1228c1d0403a13 5061 git-annex_6.20160511-1~ubuntu14.04.1~ppa1.dsc a35c47be5f71e82757729c6d0a5cb5dc991ce890 5065344 git-annex_6.20160511.orig.tar.xz c4b267824a76829fe85cdb291345fba5d88f123c 78236 git-annex_6.20160511-1~ubuntu14.04.1~ppa1.debian.tar.xz Checksums-Sha256: d9fcb61d39ddddbefd3eb48e75e4825b80f3dd977a8add7d9c56f70fb137034a 5061 git-annex_6.20160511-1~ubuntu14.04.1~ppa1.dsc 5f2ad5cacc5a7fbf7081c9d9c2323a97083ac960f5bfc42d6645cc2a1bce4617 5065344 git-annex_6.20160511.orig.tar.xz 51f144de1829977720b27424270d294cb52c7fc628fba6b661c60066a48052a6 78236 git-annex_6.20160511-1~ubuntu14.04.1~ppa1.debian.tar.xz Files: 98f44fec5e4eea2dc1fcb3806890d032 5061 utils optional git-annex_6.20160511-1~ubuntu14.04.1~ppa1.dsc e8898d31575fe218790b7a538fde15db 5065344 utils optional git-annex_6.20160511.orig.tar.xz d9bfd0923f3e14a8249a140af0845237 78236 utils optional git-annex_6.20160511-1~ubuntu14.04.1~ppa1.debian.tar.xz