summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Build/Version.hs2
-rwxr-xr-xBuild/make-sdist.sh22
-rw-r--r--[l---------]CHANGELOG4621
-rw-r--r--[l---------]COPYRIGHT787
l---------INSTALL1
-rw-r--r--Makefile32
-rw-r--r--[l---------]NEWS45
-rw-r--r--Setup.hs14
-rw-r--r--configure.hs6
l---------[-rw-r--r--]debian/NEWS45
l---------[-rw-r--r--]debian/changelog4616
l---------[-rw-r--r--]debian/copyright787
-rw-r--r--doc/download.mdwn5
-rw-r--r--git-annex.cabal806
14 files changed, 6276 insertions, 5513 deletions
diff --git a/Build/Version.hs b/Build/Version.hs
index 87315b0ea..d39a0fe08 100644
--- a/Build/Version.hs
+++ b/Build/Version.hs
@@ -46,7 +46,7 @@ getVersion = do
getChangelogVersion :: IO Version
getChangelogVersion = do
- changelog <- readFile "debian/changelog"
+ changelog <- readFile "CHANGELOG"
let verline = takeWhile (/= '\n') changelog
return $ middle (words verline !! 1)
where
diff --git a/Build/make-sdist.sh b/Build/make-sdist.sh
deleted file mode 100755
index 6e1ddae62..000000000
--- a/Build/make-sdist.sh
+++ /dev/null
@@ -1,22 +0,0 @@
-#!/bin/sh
-#
-# Workaround for `cabal sdist` requiring all included files to be listed
-# in .cabal.
-
-# Create target directory
-sdist_dir=git-annex-$(grep '^Version:' git-annex.cabal | sed -re 's/Version: *//')
-mkdir --parents dist/$sdist_dir
-
-find . \( -name .git -or -name dist -or -name cabal-dev \) -prune \
- -or -not -name \\*.orig -not -type d -print \
- | perl -ne "print unless length >= 100 - length q{$sdist_dir}" \
- | grep -v ':' \
- | xargs cp --parents --target-directory dist/$sdist_dir
-
-cd dist
-tar --format=ustar -caf $sdist_dir.tar.gz $sdist_dir
-
-# Check that tarball can be unpacked by cabal.
-# It's picky about tar longlinks etc.
-rm -rf $sdist_dir
-cabal unpack $sdist_dir.tar.gz
diff --git a/CHANGELOG b/CHANGELOG
index d526672ce..0a971b33f 120000..100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1 +1,4620 @@
-debian/changelog \ No newline at end of file
+git-annex (6.20160512) UNRELEASED; urgency=medium
+
+ * Change git annex info remote encryption description to use wording
+ closer to what's used in initremote.
+ * webapp: Avoid confusing display of dead remotes.
+ * 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.
+ * 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)
+ * adjust: Add --fix adjustment, which is useful when the git directory
+ is in a nonstandard place.
+ * 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.
+ * Support building with ghc 8.0.1.
+ * 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.
+ * Updated cabal file explictly 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.
+
+ -- Joey Hess <id@joeyh.name> Wed, 11 May 2016 16:08:38 -0400
+
+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.<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.
+
+ -- Joey Hess <id@joeyh.name> Wed, 11 May 2016 12:41:42 -0400
+
+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.
+
+ -- Joey Hess <id@joeyh.name> Thu, 28 Apr 2016 09:31:14 -0400
+
+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.)
+
+ -- Joey Hess <id@joeyh.name> Mon, 18 Apr 2016 18:33:52 -0400
+
+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.
+
+ -- Joey Hess <id@joeyh.name> Tue, 12 Apr 2016 14:53:22 -0400
+
+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.
+
+ -- Joey Hess <id@joeyh.name> Fri, 18 Mar 2016 11:30:36 -0400
+
+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 field<number, --metadata field>number etc
+ to match ranges of numeric values.
+ * Similarly, support preferred content expressions like
+ metadata=field<number and metadata=field>number
+ * The pre-commit-annex hook script that automatically extracts
+ metadata has been updated to also use exiftool.
+ Thanks, Klaus Ethgen.
+
+ -- Joey Hess <id@joeyh.name> Mon, 29 Feb 2016 12:41:49 -0400
+
+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.
+
+ -- Joey Hess <id@joeyh.name> Wed, 17 Feb 2016 14:48:51 -0400
+
+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.
+
+ -- Joey Hess <id@joeyh.name> Thu, 11 Feb 2016 11:42:19 -0400
+
+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.
+
+ -- Joey Hess <id@joeyh.name> Tue, 26 Jan 2016 14:57:42 -0400
+
+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.
+
+ -- Joey Hess <id@joeyh.name> Thu, 14 Jan 2016 10:14:19 -0400
+
+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.
+
+ -- Joey Hess <id@joeyh.name> Fri, 18 Dec 2015 12:09:33 -0400
+
+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.
+
+ -- Joey Hess <id@joeyh.name> Tue, 08 Dec 2015 11:14:03 -0400
+
+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.
+
+ -- Joey Hess <id@joeyh.name> Mon, 16 Nov 2015 14:17:40 -0400
+
+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.
+
+ -- Joey Hess <id@joeyh.name> Tue, 03 Nov 2015 12:08:38 -0400
+
+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.
+
+ -- Joey Hess <id@joeyh.name> Mon, 02 Nov 2015 12:41:20 -0400
+
+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.<name>.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.
+
+ -- Joey Hess <id@joeyh.name> Mon, 19 Oct 2015 13:59:01 -0400
+
+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.
+
+ -- Joey Hess <id@joeyh.name> Wed, 30 Sep 2015 14:31:52 -0400
+
+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.
+
+ -- Joey Hess <id@joeyh.name> Wed, 16 Sep 2015 10:31:24 -0400
+
+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.
+
+ -- Joey Hess <id@joeyh.name> Mon, 24 Aug 2015 14:11:05 -0700
+
+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.
+
+ -- Joey Hess <id@joeyh.name> Wed, 12 Aug 2015 11:14:58 -0400
+
+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.
+
+ -- Joey Hess <id@joeyh.name> Fri, 31 Jul 2015 11:34:36 -0400
+
+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.
+
+ -- Joey Hess <id@joeyh.name> Mon, 27 Jul 2015 12:24:49 -0400
+
+git-annex (5.20150710) unstable; urgency=medium
+
+ * 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.
+
+ -- Joey Hess <id@joeyh.name> Fri, 10 Jul 2015 16:36:42 -0400
+
+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.
+
+ -- Joey Hess <id@joeyh.name> Wed, 17 Jun 2015 13:50:35 -0400
+
+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.
+
+ -- Joey Hess <id@joeyh.name> Thu, 28 May 2015 10:48:03 -0400
+
+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
+
+ -- Joey Hess <id@joeyh.name> Fri, 22 May 2015 14:20:18 -0400
+
+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)
+
+ -- Joey Hess <id@joeyh.name> Mon, 11 May 2015 12:08:58 -0400
+
+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.
+
+ -- Joey Hess <id@joeyh.name> Fri, 08 May 2015 13:42:30 -0400
+
+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.
+
+ -- Joey Hess <id@joeyh.name> Mon, 20 Apr 2015 14:44:04 -0400
+
+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.
+
+ -- Joey Hess <id@joeyh.name> Thu, 09 Apr 2015 15:06:38 -0400
+
+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.)
+
+ -- Joey Hess <id@joeyh.name> Mon, 06 Apr 2015 17:13:13 -0400
+
+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.)
+
+ -- Joey Hess <id@joeyh.name> Mon, 06 Apr 2015 12:48:48 -0400
+
+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 <command>"
+ * --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.
+
+ -- Joey Hess <id@joeyh.name> Fri, 27 Mar 2015 13:10:59 -0400
+
+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.
+
+ -- Joey Hess <id@joeyh.name> Tue, 17 Mar 2015 13:02:36 -0400
+
+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.
+
+ -- Joey Hess <id@joeyh.name> Thu, 19 Feb 2015 14:16:03 -0400
+
+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.
+
+ -- Joey Hess <id@joeyh.name> Thu, 05 Feb 2015 14:08:33 -0400
+
+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.
+
+ -- Joey Hess <id@joeyh.name> Tue, 13 Jan 2015 12:10:08 -0400
+
+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.
+
+ -- Joey Hess <id@joeyh.name> Wed, 31 Dec 2014 15:15:46 -0400
+
+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.
+
+ -- Joey Hess <id@joeyh.name> Fri, 19 Dec 2014 16:53:26 -0400
+
+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.
+
+ -- Joey Hess <id@joeyh.name> Wed, 03 Dec 2014 15:16:52 -0400
+
+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.
+
+ -- Joey Hess <joeyh@debian.org> Wed, 05 Nov 2014 11:41:51 -0400
+
+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.
+
+ -- Joey Hess <joeyh@debian.org> Fri, 24 Oct 2014 13:03:29 -0400
+
+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.
+
+ -- Joey Hess <joeyh@debian.org> Mon, 13 Oct 2014 10:13:06 -0400
+
+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.
+
+ -- Joey Hess <joeyh@debian.org> Sat, 27 Sep 2014 14:25:09 -0400
+
+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.
+
+ -- Joey Hess <joeyh@debian.org> Fri, 26 Sep 2014 15:09:02 -0400
+
+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.
+
+ -- Joey Hess <joeyh@debian.org> Fri, 19 Sep 2014 12:53:42 -0400
+
+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?)
+
+ -- Joey Hess <joeyh@debian.org> Mon, 15 Sep 2014 10:45:00 -0400
+
+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
+
+ -- Joey Hess <joeyh@debian.org> Sun, 31 Aug 2014 12:30:08 -0700
+
+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.
+
+ -- Joey Hess <joeyh@debian.org> Sun, 17 Aug 2014 10:30:58 -0400
+
+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).
+
+ -- Joey Hess <joeyh@debian.org> Thu, 17 Jul 2014 11:27:25 -0400
+
+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.
+
+ -- Joey Hess <joeyh@debian.org> Wed, 09 Jul 2014 15:28:03 -0400
+
+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.
+
+ -- Joey Hess <joeyh@debian.org> Mon, 07 Jul 2014 12:24:13 -0400
+
+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.
+
+ -- Joey Hess <joeyh@debian.org> Fri, 13 Jun 2014 09:58:07 -0400
+
+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.
+
+ -- Joey Hess <joeyh@debian.org> Fri, 06 Jun 2014 12:54:06 -0400
+
+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.
+
+ -- Joey Hess <joeyh@debian.org> Thu, 29 May 2014 14:41:56 -0400
+
+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.
+
+ -- Joey Hess <joeyh@debian.org> Sat, 17 May 2014 13:30:39 -0400
+
+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.
+
+ -- Joey Hess <joeyh@debian.org> Sun, 20 Apr 2014 19:43:14 -0400
+
+git-annex (5.20140412) unstable; urgency=high
+
+ * Last release didn't quite fix the high cpu issue in all cases, this should.
+
+ -- Joey Hess <joeyh@debian.org> Fri, 11 Apr 2014 17:14:38 -0400
+
+git-annex (5.20140411) unstable; urgency=high
+
+ * importfeed: Filename template can now contain an itempubdate variable.
+ Needs feed 0.3.9.2.
+ * Fix rsync progress parsing in locales that use comma in number display.
+ Closes: #744148
+ * assistant: Fix high CPU usage triggered when a monthly fsck is scheduled,
+ and the last time the job ran was a day of the month > 12. This caused a
+ runaway loop. Thanks to Anarcat for his assistance, and to Maximiliano
+ Curia for identifying the cause of this bug.
+ * Remove wget from OSX dmg, due to issues with cert paths that broke
+ git-annex automatic upgrading. Instead, curl is used, unless the
+ OSX system has wget installed, which will then be used.
+
+ -- Joey Hess <joeyh@debian.org> Fri, 11 Apr 2014 14:59:49 -0400
+
+git-annex (5.20140405) unstable; urgency=medium
+
+ * git-annex-shell: Added notifychanges command.
+ * Improve display of dbus notifications. Thanks, Johan Kiviniemi.
+ * Fix nautilus script installation to not crash when the nautilus script dir
+ does not exist. Instead, only install scripts when the directory already
+ exists.
+
+ -- Joey Hess <joeyh@debian.org> Sat, 05 Apr 2014 16:54:33 -0400
+
+git-annex (5.20140402) unstable; urgency=medium
+
+ * unannex, uninit: Avoid committing after every file is unannexed,
+ for massive speedup.
+ * --notify-finish switch will cause desktop notifications after each
+ file upload/download/drop completes
+ (using the dbus Desktop Notifications Specification)
+ * --notify-start switch will show desktop notifications when each
+ file upload/download starts.
+ * webapp: Automatically install Nautilus integration scripts
+ to get and drop files.
+ * tahoe: Pass -d parameter before subcommand; putting it after
+ the subcommand no longer works with tahoe-lafs version 1.10.
+ (Thanks, Alberto Berti)
+ * forget --drop-dead: Avoid removing the dead remote from the trust.log,
+ so that if git remotes for it still exist anywhere, git annex info
+ will still know it's dead and not show it.
+ * git-annex-shell: Make configlist automatically initialize
+ a remote git repository, as long as a git-annex branch has
+ been pushed to it, to simplify setup of remote git repositories,
+ including via gitolite.
+ * add --include-dotfiles: New option, perhaps useful for backups.
+ * Version 5.20140227 broke creation of glacier repositories,
+ not including the datacenter and vault in their configuration.
+ This bug is fixed, but glacier repositories set up with the broken
+ version of git-annex need to have the datacenter and vault set
+ in order to be usable. This can be done using git annex enableremote
+ to add the missing settings. For details, see
+ http://git-annex.branchable.com/bugs/problems_with_glacier/
+ * Added required content configuration.
+ * assistant: Improve ssh authorized keys line generated in local pairing
+ or for a remote ssh server to set environment variables in an
+ alternative way that works with the non-POSIX fish shell, as well
+ as POSIX shells.
+
+ -- Joey Hess <joeyh@debian.org> Wed, 02 Apr 2014 16:42:53 -0400
+
+git-annex (5.20140320) unstable; urgency=medium
+
+ * Fix zombie leak and general inneficiency when copying files to a
+ local git repo.
+ * Fix ssh connection caching stop method to work with openssh 6.5p1,
+ which broke the old method.
+ * webapp: Added a "Sync now" item to each repository's menu.
+ * webapp: Use securemem for constant time auth token comparisons.
+ * copy --fast --to remote: Avoid printing anything for files that
+ are already believed to be present on the remote.
+ * Commands that allow specifying which repository to act on using
+ the repository's description will now fail when multiple repositories
+ match, rather than picking a repository at random.
+ (So will --in=)
+ * Better workaround for problem umasks when eg, setting up ssh keys.
+ * "standard" can now be used as a first-class keyword in preferred content
+ expressions. For example "standard or (include=otherdir/*)"
+ * groupwanted can be used in preferred content expressions.
+ * vicfg: Allows editing preferred content expressions for groups.
+ * Improve behavior when unable to parse a preferred content expression
+ (thanks, ion).
+ * metadata: Add --get
+ * metadata: Support --key option (and some other ones like --all)
+ * For each metadata field, there's now an automatically maintained
+ "$field-lastchanged" that gives the date of the last change to that
+ field. Also the "lastchanged" field for the date of the last change
+ to any of a file's metadata.
+ * unused: In direct mode, files that are deleted from the work tree
+ and so have no content present are no longer incorrectly detected as
+ unused.
+ * Avoid encoding errors when using the unused log file.
+ * map: Fix crash when one of the remotes of a repo is a local directory
+ that does not exist, or is not a git repo.
+ * repair: Improve memory usage when git fsck finds a great many broken
+ objects.
+ * Windows: Fix some filename encoding bugs.
+ * rsync special remote: Fix slashes when used on Windows.
+
+ -- Joey Hess <joeyh@debian.org> Thu, 20 Mar 2014 13:21:12 -0400
+
+git-annex (5.20140306) unstable; urgency=high
+
+ * sync: Fix bug in direct mode that caused a file that was not
+ checked into git to be deleted when there was a conflicting
+ merge with a remote.
+ * webapp: Now supports HTTPS.
+ * webapp: No longer supports a port specified after --listen, since
+ it was buggy, and that use case is better supported by setting up HTTPS.
+ * annex.listen can be configured, instead of using --listen
+ * annex.startupscan can be set to false to disable the assistant's startup
+ scan.
+ * Probe for quvi version at run time.
+ * webapp: Filter out from Switch Repository list any
+ repositories listed in autostart file that don't have a
+ git directory anymore. (Or are bare)
+ * webapp: Refuse to start in a bare git repository.
+ * assistant --autostart: Refuse to start in a bare git repository.
+ * webapp: Don't list the public repository group when editing a
+ git repository; it only makes sense for special remotes.
+ * view, vfilter: Add support for filtering tags and values out of a view,
+ using !tag and field!=value.
+ * vadd: Allow listing multiple desired values for a field.
+ * view: Refuse to enter a view when no branch is currently checked out.
+ * metadata: To only set a field when it's not already got a value, use
+ -s field?=value
+ * Run .git/hooks/pre-commit-annex whenever a commit is made.
+ * sync: Automatically resolve merge conflict between and annexed file
+ and a regular git file.
+ * glacier: Pass --region to glacier checkpresent.
+ * webdav: When built with a new enough haskell DAV (0.6), disable
+ the http response timeout, which was only 5 seconds.
+ * webapp: Include no-pty in ssh authorized_keys lines.
+ * assistant: Smarter log file rotation, which takes free disk space
+ into account.
+
+ -- Joey Hess <joeyh@debian.org> Thu, 06 Mar 2014 12:28:04 -0400
+
+git-annex (5.20140227) unstable; urgency=medium
+
+ * metadata: Field names limited to alphanumerics and a few whitelisted
+ punctuation characters to avoid issues with views, etc.
+ * metadata: Field names are now case insensative.
+ * When constructing views, metadata is available about the location of the
+ file in the view's reference branch. Allows incorporating parts of the
+ directory hierarchy in a view.
+ For example `git annex view tag=* podcasts/=*` makes a view in the form
+ tag/showname.
+ * --metadata field=value can now use globs to match, and matches
+ case insensatively, the same as git annex view field=value does.
+ * annex.genmetadata can be set to make git-annex automatically set
+ metadata (year and month) when adding files.
+ * Make annex.web-options be used in several places that call curl.
+ * Fix handling of rsync remote urls containing a username,
+ including rsync.net.
+ * Preserve metadata when staging a new version of an annexed file.
+ * metadata: Support --json
+ * webapp: Fix creation of box.com and Amazon S3 and Glacier
+ repositories, broken in 5.20140221.
+ * webdav: When built with DAV 0.6.0, use the new DAV monad to avoid
+ locking files, which is not needed by git-annex's use of webdav, and
+ does not work on Box.com.
+ * webdav: Fix path separator bug when used on Windows.
+ * repair: Optimise unpacking of pack files, and avoid repeated error
+ messages about corrupt pack files.
+ * Add build dep on regex-compat to fix build on mipsel, which lacks
+ regex-tdfa.
+ * Disable test suite on sparc, which is missing optparse-applicative.
+ * Put non-object tmp files in .git/annex/misctmp, leaving .git/annex/tmp
+ for only partially transferred objects.
+
+ -- Joey Hess <joeyh@debian.org> Thu, 27 Feb 2014 11:34:19 -0400
+
+git-annex (5.20140221) unstable; urgency=medium
+
+ * metadata: New command that can attach metadata to files.
+ * --metadata can be used to limit commands to acting on files
+ that have particular metadata.
+ * Preferred content expressions can use metadata=field=value
+ to limit them to acting on files that have particular metadata.
+ * view: New command that creates and checks out a branch that provides
+ a structured view of selected metadata.
+ * vfilter, vadd, vpop, vcycle: New commands for operating within views.
+ * pre-commit: Update metadata when committing changes to locations
+ of annexed files within a view.
+ * Add progress display for transfers to/from external special remotes.
+ * unused: Fix to actually detect unused keys when in direct mode.
+ * fsck: When run with --all or --unused, while .gitattributes
+ annex.numcopies cannot be honored since it's operating on keys
+ instead of files, make it honor the global numcopies setting,
+ and the annex.numcopies git config setting.
+ * trust, untrust, semitrust, dead: Warn when the trust level is
+ overridden in .git/config.
+ * glacier: Do not try to run glacier value create when an existing glacier
+ remote is enabled.
+ * fsck: Refuse to do anything if more than one of --incremental, --more,
+ and --incremental-schedule are given, since it's not clear which option
+ should win.
+ * Windows webapp: Can set up box.com, Amazon S3, and rsync.net remotes
+ * Windows webapp: Can create repos on removable drives.
+ * Windows: Ensure HOME is set, as needed by bundled cygwin utilities.
+
+ -- Joey Hess <joeyh@debian.org> Fri, 21 Feb 2014 11:23:59 -0400
+
+git-annex (5.20140210) unstable; urgency=medium
+
+ * --in can now refer to files that were located in a repository at
+ some past date. For example, --in="here@{yesterday}"
+ * Fixed direct mode annexed content locking code, which is used to
+ guard against recursive file drops.
+ * This is the first beta-level release of the Windows port with important
+ fixes (see below).
+ (The webapp and assistant are still alpha-level on Windows.)
+ * sync --content: Honor annex-ignore configuration.
+ * sync: Don't try to sync with xmpp remotes, which are only currently
+ supported when using the assistant.
+ * sync --content: Re-pull from remotes after downloading content,
+ since that can take a while and other changes may be pushed in the
+ meantime.
+ * sync --content: Reuse smart copy code from copy command, including
+ handling and repairing out of date location tracking info.
+ Closes: #737480
+ * sync --content: Drop files from remotes that don't want them after
+ getting them.
+ * sync: Fix bug in automatic merge conflict resolution code when used
+ on a filesystem not supporting symlinks, which resulted in it losing
+ track of the symlink bit of annexed files.
+ * Added ways to configure rsync options to be used only when uploading
+ or downloading from a remote. Useful to eg limit upload bandwidth.
+ * Fix initremote with encryption=pubkey to work with S3, glacier, webdav,
+ and external special remotes.
+ * Avoid building with DAV 0.6 which is badly broken (see #737902).
+ * Fix dropping of unused keys with spaces in their name.
+ * Fix build on platforms not supporting the webapp.
+ * Document in man page that sshcaching uses ssh ControlMaster.
+ Closes: #737476
+ * Windows: It's now safe to run multiple git-annex processes concurrently
+ on Windows; the lock files have been sorted out.
+ * Windows: Avoid using unix-compat's rename, which refuses to rename
+ directories.
+ * Windows: Fix deletion of repositories by test suite and webapp.
+ * Windows: Test suite 100% passes again.
+ * Windows: Fix bug in symlink calculation code.
+ * Windows: Fix handling of absolute unix-style git repository paths.
+ * Android: Avoid crashing when unable to set file mode for ssh config file
+ due to Android filesystem horribleness.
+
+ -- Joey Hess <joeyh@debian.org> Mon, 10 Feb 2014 12:54:57 -0400
+
+git-annex (5.20140127) unstable; urgency=medium
+
+ * sync --content: New option that makes the content of annexed files be
+ transferred. Similar to the assistant, this honors any configured
+ preferred content expressions.
+ * Remove --json option from commands not supporting it.
+ * status: Support --json.
+ * list: Fix specifying of files to list.
+ * Allow --all to be mixed with matching options like --copies and --in
+ (but not --include and --exclude).
+ * numcopies: New command, sets global numcopies value that is seen by all
+ clones of a repository.
+ * The annex.numcopies git config setting is deprecated. Once the numcopies
+ command is used to set the global number of copies, any annex.numcopies
+ git configs will be ignored.
+ * assistant: Make the prefs page set the global numcopies.
+ * Add lackingcopies, approxlackingcopies, and unused to
+ preferred content expressions.
+ * Client, transfer, incremental backup, and archive repositories
+ now want to get content that does not yet have enough copies.
+ * Client, transfer, and source repositories now do not want to retain
+ unused file contents.
+ * assistant: Checks daily for unused file contents, and when possible
+ moves them to a repository (such as a backup repository) that
+ wants to retain them.
+ * assistant: annex.expireunused can be configured to cause unused
+ file contents to be deleted after some period of time.
+ * webapp: Nudge user to see if they want to expire old unused file
+ contents when a lot of them seem to be piling up in the repository.
+ * repair: Check git version at run time.
+ * assistant: Run the periodic git gc in batch mode.
+ * added annex.secure-erase-command config option.
+ * test suite: Use tasty-rerun, and expose tasty command-line options.
+ * Optimise non-bare http remotes; no longer does a 404 to the wrong
+ url every time before trying the right url. Needs annex-bare to be
+ set to false, which is done when initially probing the uuid of a
+ http remote.
+ * webapp: After upgrading a git repository to git-annex, fix
+ bug that made it temporarily not be synced with.
+ * whereis: Support --all.
+ * All commands that support --all also support a --key option,
+ which limits them to acting on a single key.
+
+ -- Joey Hess <joeyh@debian.org> Mon, 27 Jan 2014 13:43:28 -0400
+
+git-annex (5.20140117) unstable; urgency=medium
+
+ * Really fix FTBFS on mipsel and sparc due to test suite not being available
+ on those architectures.
+
+ -- Joey Hess <joeyh@debian.org> Fri, 17 Jan 2014 14:46:27 -0400
+
+git-annex (5.20140116) unstable; urgency=medium
+
+ * Added tahoe special remote.
+ * external special remote protocol: Added GETGITDIR, and GETAVAILABILITY.
+ * Refuse to build with git older than 1.7.1.1, which is needed for
+ git checkout -B
+ * map: Fix display of v5 direct mode repos.
+ * repair: Support old git versions from before git fsck --no-dangling was
+ implemented.
+ * Fix a long-standing bug that could cause the wrong index file to be used
+ when committing to the git-annex branch, if GIT_INDEX_FILE is set in the
+ environment. This typically resulted in git-annex branch log files being
+ committed to the master branch and later showing up in the work tree.
+ (These log files can be safely removed.)
+ * assistant: Detect if .git/annex/index is corrupt at startup, and
+ recover.
+ * repair: Fix bug in packed refs file exploding code that caused a .gitrefs
+ directory to be created instead of .git/refs
+ * Fix FTBFS on mipsel and sparc due to test suite not being available
+ on those architectures.
+ * Android: Avoid passing --clobber to busybox wget.
+
+ -- Joey Hess <joeyh@debian.org> Thu, 16 Jan 2014 11:34:54 -0400
+
+git-annex (5.20140107) unstable; urgency=medium
+
+ * mirror: Support --all (and --unused).
+ * external special remote protocol: Added GETUUID, GETWANTED, SETWANTED,
+ SETSTATE, GETSTATE, DEBUG.
+ * Windows: Fix bug in direct mode merge code that could cause files
+ in subdirectories to go missing.
+ * Windows: Avoid eating stdin when running ssh to add a authorized key,
+ since this is used for password prompting.
+ * Avoid looping if long-running git cat-file or git hash-object crashes
+ and keeps crashing when restarted.
+ * Assistant: Remove stale MERGE_HEAD files in lockfile cleanup.
+ * Remotes can now be made read-only, by setting remote.<name>.annex-readonly
+ * wanted, schedule: Avoid printing "ok" after requested value.
+ * assistant: Ensure that .ssh/config and .ssh/authorized_keys are not
+ group or world writable when writing to those files, as that can make
+ ssh refuse to use them, if it allows another user to write to them.
+ * addurl, importfeed: Honor annex.diskreserve as long as the size of the
+ url can be checked.
+ * add: Fix rollback when disk is completely full.
+ * assistant: Fixed several minor memory leaks that manifested when
+ adding a large number of files.
+ * assistant: Start a new git-annex transferkeys process
+ after a network connection change, so that remotes that use a persistent
+ network connection are restarted.
+ * Adjust Debian build deps to match current state of sparc, mipsel.
+
+ -- Joey Hess <joeyh@debian.org> Tue, 07 Jan 2014 12:22:18 -0400
+
+git-annex (5.20131230) unstable; urgency=medium
+
+ * Added new external special remote interface.
+ * importfeed: Support youtube playlists.
+ * Add tasty to build-depends, so that test suite builds again.
+ (tasty was stuck in incoming.)
+ * Fix typo in test suite.
+ * Fix bug in Linux standalone build's shimming that broke git-annex-shell.
+ * Include git-receive-pack, git-upload-pack, git, and git-shell wrappers
+ in the Linux standalone build, and OSX app, so they will be available
+ when it's added to PATH.
+ * addurl, importfeed: Sanitize | and some other symbols and special
+ characters.
+ * Auto-upgrade v3 indirect repos to v5 with no changes.
+ This also fixes a problem when a direct mode repo was somehow set to v3
+ rather than v4, and so the automatic direct mode upgrade to v5 was not
+ done.
+ * Android: Avoid trying to use Android's own ionice, which does not
+ allow specifying a command to run. Fixes transferring files to/from
+ android and probably a few other things.
+
+ -- Joey Hess <joeyh@debian.org> Mon, 30 Dec 2013 14:13:40 -0400
+
+git-annex (5.20131221) unstable; urgency=low
+
+ * assistant: Fix OSX-specific bug that caused the startup scan to try to
+ follow symlinks to other directories, and add their contents to the annex.
+ * assistant: Set StrictHostKeyChecking yes when creating ssh remotes,
+ and add it to the configuration for any ssh remotes previously created
+ by the assistant. This avoids repeated prompts by ssh if the host key
+ changes, instead syncing with such a remote will fail. Closes: #732602
+ * Fix test suite to cover lock --force change.
+ * Add plumbing-level lookupkey and examinekey commands.
+ * find --format: Added hashdirlower, hashdirmixed, keyname, and mtime
+ format variables.
+ * assistant: Always batch changes found in startup scan.
+ * An armel Linux standalone build is now available, which includes the
+ webapp.
+ * Programs from Linux and OSX standalone builds can now be symlinked
+ into a directory in PATH as an alternative installation method, and will
+ use readlink to find where the build was unpacked.
+ * Include man pages in Linux and OSX standalone builds.
+ * Linux standalone build now includes its own glibc and forces the linker to
+ use it, to remove dependence on the host glibc.
+
+ -- Joey Hess <joeyh@debian.org> Sat, 21 Dec 2013 12:00:17 -0400
+
+git-annex (5.20131213) unstable; urgency=low
+
+ * Avoid using git commit in direct mode, since in some situations
+ it will read the full contents of files in the tree.
+ * assistant: Batch jobs are now run with ionice and nocache, when
+ those commands are available.
+ * assistant: Run transferkeys as batch jobs.
+ * Automatically fix up bad bare repositories created by
+ versions 5.20131118 through 5.20131127.
+ * rsync special remote: Fix fallback mode for rsync remotes that
+ use hashDirMixed. Closes: #731142
+ * copy --from, get --from: When --force is used, ignore the
+ location log and always try to get the file from the remote.
+ * Deal with box.com changing the url of their webdav endpoint.
+ * Android: Fix SRV record lookups for XMPP to use android getprop
+ command to find DNS server, since there is no resolv.conf.
+ * import: Add --skip-duplicates option.
+ * lock: Require --force. Closes: #731606
+ * import: better handling of overwriting an existing file/directory/broken
+ link when importing
+ * Windows: assistant and webapp work! (very experimental)
+ * Windows: Support annex.diskreserve.
+ * Fix bad behavior in Firefox, which was caused by an earlier fix to
+ bad behavior in Chromium.
+ * repair: Improve repair of git-annex index file.
+ * repair: Remove damaged git-annex sync branches.
+ * status: Ignore new files that are gitignored.
+ * Fix direct mode's handling when modifications to non-annexed files
+ are pulled from a remote. A bug prevented the files from being updated
+ in the work tree, and this caused the modification to be reverted.
+ * OSX: Remove ssh and ssh-keygen from dmg as they're included in OSX by
+ default.
+
+ -- Joey Hess <joeyh@debian.org> Fri, 13 Dec 2013 14:20:32 -0400
+
+git-annex (5.20131130) unstable; urgency=low
+
+ * init: Fix a bug that caused git annex init, when run in a bare
+ repository, to set core.bare=false.
+
+ -- Joey Hess <joeyh@debian.org> Sat, 30 Nov 2013 16:32:35 -0400
+
+git-annex (5.20131127.1) unstable; urgency=low
+
+ * Rebuild that does not try to use quvi 0.9 from experimental.
+
+ -- Joey Hess <joeyh@debian.org> Thu, 28 Nov 2013 07:57:36 -0400
+
+git-annex (5.20131127) unstable; urgency=low
+
+ * webapp: Detect when upgrades are available, and upgrade if the user
+ desires.
+ (Only when git-annex is installed using the prebuilt binaries
+ from git-annex upstream, not from eg Debian.)
+ * assistant: Detect when the git-annex binary is modified or replaced,
+ and either prompt the user to restart the program, or automatically
+ restart it.
+ * annex.autoupgrade configures both the above upgrade behaviors.
+ * Added support for quvi 0.9. Slightly suboptimal due to limitations in its
+ interface compared with the old version.
+ * Bug fix: annex.version did not get set on automatic upgrade to v5 direct
+ mode repo, so the upgrade was performed repeatedly, slowing commands down.
+ * webapp: Fix bug that broke switching between local repositories
+ that use the new guarded direct mode.
+ * Android: Fix stripping of the git-annex binary.
+ * Android: Make terminal app show git-annex version number.
+ * Android: Re-enable XMPP support.
+ * reinject: Allow to be used in direct mode.
+ * Futher improvements to git repo repair. Has now been tested in tens
+ of thousands of intentionally damaged repos, and successfully
+ repaired them all.
+ * Allow use of --unused in bare repository.
+
+ -- Joey Hess <joeyh@debian.org> Wed, 27 Nov 2013 18:41:44 -0400
+
+git-annex (5.20131120) unstable; urgency=low
+
+ * Fix Debian package to not try to run test suite, since haskell-tasty
+ is not out of new or in Build-Depends yet.
+ * dropunused, addunused: Allow "all" instead of a range to
+ act on all unused data.
+ * Ensure execute bit is set on directories when core.sharedrepository is set.
+ * Ensure that core.sharedrepository is honored when creating the .git/annex
+ directory.
+ * Improve repair code in the case where the index file is corrupt,
+ and this hides other problems from git fsck.
+
+ -- Joey Hess <joeyh@debian.org> Wed, 20 Nov 2013 12:54:18 -0400
+
+git-annex (5.20131118) unstable; urgency=low
+
+ * Direct mode repositories now have core.bare=true set, to prevent
+ accidentally running git commands that try to operate on the work tree,
+ and so do the wrong thing in direct mode.
+ * annex.version is now set to 5 for direct mode repositories.
+ This upgrade is handled fully automatically, no need to run
+ git annex upgrade
+ * The "status" command has been renamed to "info", to allow
+ "git annex status" to be used in direct mode repositories, now that
+ "git status" won't work in them.
+ * The -c option now not only modifies the git configuration seen by
+ git-annex, but it is passed along to every git command git-annex runs.
+ * watcher: Avoid loop when adding a file owned by someone else fails
+ in indirect mode because its permissions cannot be modified.
+ * webapp: Avoid encoding problems when displaying the daemon log file.
+ * webapp: Improve UI around remote that have no annex.uuid set,
+ either because setup of them is incomplete, or because the remote
+ git repository is not a git-annex repository.
+ * Include ssh-keygen in standalone bundle.
+ * Allow optionally configuring git-annex with -fEKG to enable awesome
+ remote monitoring interfaceat http://localhost:4242/
+ * Fix bug that caused bad information to be written to the git-annex branch
+ when running describe or other commands with a remote that has no uuid.
+ * Work around Android linker problem that had prevented git-annex from
+ running on Android 4.3 and 4.4.
+ * repair: Handle case where index file is corrupt, but all objects are ok.
+ * assistant: Notice on startup when the index file is corrupt, and
+ auto-repair.
+ * Fix direct mode merge bug when a direct mode file was deleted and replaced
+ with a directory. An ordering problem caused the directory to not get
+ created in this case.
+ Thanks to Tim for the test case.
+ * Direct mode .git/annex/objects directories are no longer left writable,
+ because that allowed writing to symlinks of files that are not present,
+ which followed the link and put bad content in an object location.
+ Thanks to Tim for the test case.
+ * fsck: Fix up .git/annex/object directory permissions.
+ * Switched to the tasty test framework.
+ * Android: Adjust default .gitignore to ignore .thumbnails at any location
+ in the tree, not just at its top.
+ * webapp: Check annex.version.
+
+ -- Joey Hess <joeyh@debian.org> Mon, 18 Nov 2013 10:45:43 -0400
+
+git-annex (4.20131106) unstable; urgency=low
+
+ * Improve local pairing behavior when two computers both try to start
+ the pairing process separately.
+ * sync: Work even when the local git repository is new and empty,
+ with no master branch.
+ * gcrypt, bup: Fix bug that prevented using these special remotes
+ with encryption=pubkey.
+ * Fix enabling of gcrypt repository accessed over ssh;
+ git-annex-shell gcryptsetup had a bug that caused it to fail
+ with permission denied.
+ * Fix zombie process that occurred when switching between repository
+ views in the webapp.
+ * map: Work when there are gcrypt remotes.
+ * Fix build w/o webapp.
+ * Fix exception handling bug that could cause .git/annex/index to be used
+ for git commits outside the git-annex branch. Known to affect git-annex
+ when used with the git shipped with Ubuntu 13.10.
+
+ -- Joey Hess <joeyh@debian.org> Wed, 06 Nov 2013 11:17:47 -0400
+
+git-annex (4.20131101) unstable; urgency=low
+
+ * The "git annex content" command is renamed to "git annex wanted".
+ * New --want-get and --want-drop options which can be used to
+ test preferred content settings.
+ For example, "git annex find --in . --want-drop"
+ * assistant: When autostarted, wait 5 seconds before running the startup
+ scan, to avoid contending with the user's desktop login process.
+ * webapp: When setting up a bare shared repository, enable non-fast-forward
+ pushes.
+ * sync: Show a hint about receive.denyNonFastForwards when a push fails.
+ * directory, webdav: Fix bug introduced in version 4.20131002 that
+ caused the chunkcount file to not be written. Work around repositories
+ without such a file, so files can still be retreived from them.
+ * assistant: Automatically repair damanged git repository, if it can
+ be done without losing data.
+ * assistant: Support repairing git remotes that are locally accessible
+ (eg, on removable drives).
+ * add: Fix reversion in 4.20130827 when adding unlocked files that have
+ not yet been committed.
+ * unannex: New, much slower, but more safe behavior: Copies files out of
+ the annex. This avoids an unannex of one file breaking other files that
+ link to the same content. Also, it means that the content
+ remains in the annex using up space until cleaned up with
+ "git annex unused".
+ (The behavior of unannex --fast has not changed; it still hard links
+ to content in the annex. --fast was not made the default because it is
+ potentially unsafe; editing such a hard linked file can unexpectedly
+ change content stored in the annex.)
+
+ -- Joey Hess <joeyh@debian.org> Fri, 01 Nov 2013 11:34:27 -0400
+
+git-annex (4.20131024) unstable; urgency=low
+
+ * webapp: Fix bug when adding a remote and git-remote-gcrypt
+ is not installed.
+ * The assitant can now run scheduled incremental fsck jobs on the local
+ repository and remotes. These can be configured using vicfg or with the
+ webapp.
+ * repair: New command, which can repair damaged git repositories
+ (even ones not using git-annex).
+ * webapp: When git repository damange is detected, repairs can be
+ done using the webapp UI.
+ * Automatically and safely detect and recover from dangling
+ .git/annex/index.lock files, which would prevent git from
+ committing to the git-annex branch, eg after a crash.
+ * assistant: Detect stale git lock files at startup time, and remove them.
+ * addurl: Better sanitization of generated filenames.
+ * Better sanitization of problem characters when generating URL and WORM
+ keys.
+ * The control socket path passed to ssh needs to be 17 characters
+ shorter than the maximum unix domain socket length, because ssh
+ appends stuff to it to make a temporary filename. Closes: #725512
+ * status: Fix space leak in local mode, introduced in version 4.20130920.
+ * import: Skip .git directories.
+ * Remove bogus runshell loop check.
+ * addurl: Improve message when adding url with wrong size to existing file.
+ * Fixed handling of URL keys that have no recorded size.
+ * status: Fix a crash if a temp file went away while its size was
+ being checked for status.
+ * Deal with git check-attr -z output format change in git 1.8.5.
+ * Work around sed output difference that led to version containing a newline
+ on OSX.
+ * sync: Fix automatic resolution of merge conflicts where one side is an
+ annexed file, and the other side is a non-annexed file, or a directory.
+ * S3: Try to ensure bucket name is valid for archive.org.
+ * assistant: Bug fix: When run in a subdirectory, files from incoming merges
+ were wrongly added to that subdirectory, and removed from their original
+ locations.
+ * Windows: Deal with strange msysgit 1.8.4 behavior of not understanding
+ DOS formatted paths for --git-dir and --work-tree.
+ * Removed workaround for bug in git 1.8.4r0.
+ * Added git-recover-repository command to git-annex source
+ (not built by default; this needs to move to someplace else).
+ * webapp: Move sidebar to the right hand side of the screen.
+
+ -- Joey Hess <joeyh@debian.org> Thu, 24 Oct 2013 12:59:55 -0400
+
+git-annex (4.20131002) unstable; urgency=low
+
+ * Note that the layout of gcrypt repositories has changed, and
+ if you created one you must manually upgrade it.
+ See http://git-annex.branchable.com/upgrades/gcrypt/
+ * webapp: Support setting up and using encrypted git repositories on
+ any ssh server, as well as on rsync.net.
+ * git-annex-shell: Added support for operating inside gcrypt repositories.
+ * Disable receive.denyNonFastForwards when setting up a gcrypt special
+ remote, since gcrypt needs to be able to fast-forward the master branch.
+ * import: Preserve top-level directory structure.
+ * Use cryptohash rather than SHA for hashing when no external hash program
+ is available. This is a significant speedup for SHA256 on OSX, for
+ example.
+ * Added SKEIN256 and SKEIN512 backends.
+ * Android build redone from scratch, many dependencies updated,
+ and entire build can now be done using provided scripts.
+ * assistant: Clear the list of failed transfers when doing a full transfer
+ scan. This prevents repeated retries to download files that are not
+ available, or are not referenced by the current git tree.
+ * indirect, direct: Better behavior when a file is not owned by
+ the user running the conversion.
+ * add, import, assistant: Better preserve the mtime of symlinks,
+ when when adding content that gets deduplicated.
+ * Send a git-annex user-agent when downloading urls.
+ Overridable with --user-agent option.
+ (Not yet done for S3 or WebDAV due to limitations of libraries used.)
+ * webapp: Fixed a bug where when a new remote is added, one file
+ may fail to sync to or from it due to the transferrer process not
+ yet knowing about the new remote.
+ * OSX: Bundled gpg upgraded, now compatible with config files
+ written by MacGPG.
+ * assistant: More robust inotify handling; avoid crashing if a directory
+ cannot be read.
+ * Moved list of backends and remote types from status to version
+ command.
+
+ -- Joey Hess <joeyh@debian.org> Wed, 02 Oct 2013 16:00:39 -0400
+
+git-annex (4.20130920) unstable; urgency=low
+
+ * webapp: Initial support for setting up encrypted removable drives.
+ * Recommend using my patched gcrypt, which fixes some bugs:
+ https://github.com/joeyh/git-remote-gcrypt
+ * Support hot-swapping of removable drives containing gcrypt repositories.
+ * list: New command, displays a compact table of remotes that
+ contain files.
+ (Thanks, anarcat for display code and mastensg for inspiration.)
+ * fsck: Fix detection and fixing of present direct mode files that are
+ wrongly represented as standin symlinks on crippled filesystems.
+ * sync: Fix bug that caused direct mode mappings to not be updated
+ when merging files into the tree on Windows.
+ * sync: Don't fail if the directory it is run in gets removed by the
+ sync.
+ * addurl: Fix quvi audodetection, broken in last release.
+ * status: In local mode, displays information about variance from configured
+ numcopies levels. (--fast avoids calculating these)
+ * gcrypt: Ensure that signing key is set to one of the participants keys.
+ * webapp: Show encryption information when editing a remote.
+ * Avoid unnecessarily catting non-symlink files from git, which can be
+ so large it runs out of memory.
+
+ -- Joey Hess <joeyh@debian.org> Fri, 20 Sep 2013 10:34:51 -0400
+
+git-annex (4.20130911) unstable; urgency=low
+
+ * Fix problem with test suite in non-unicode locale.
+
+ -- Joey Hess <joeyh@debian.org> Wed, 11 Sep 2013 12:14:16 -0400
+
+git-annex (4.20130909) unstable; urgency=low
+
+ * initremote: Syntax change when setting up an encrypted special remote.
+ Now use keyid=$KEYID rather than the old encryption=$KEYID
+ * forget: New command, causes git-annex branch history to be forgotten
+ in a way that will spread to other clones of the repository.
+ (As long as they're running this version or newer of git-annex.)
+ * forget --drop-dead: Completely removes mentions of repositories that
+ have been marked as dead from the git-annex branch.
+ * sync, assistant: Force push of the git-annex branch. Necessary
+ to ensure it gets pushed to remotes after being rewritten by forget.
+ * Added gcrypt support. This combines a fully encrypted git
+ repository (using git-remote-gcrypt) with an encrypted git-annex special
+ remote.
+ * sync: Support syncing with gcrypt remotes.
+ * importfeed: Also ignore transient problems with downloading content
+ from feeds.
+ * Honor core.sharedrepository when receiving and adding files in direct
+ mode.
+ * enableremote: gpg keys can be removed from those a remote encrypts
+ to by passing "keyid-=$KEYID". keyid+= is also provided.
+ (Thanks, guilhem for the patch.)
+ * Added encryption=pubkey scheme, which encrypts to public keys directly
+ rather than the hybrid approach. See documentation for advantages
+ and disadvantages, but encryption=hybrid is the recommended scheme still.
+ (Thanks, guilhem for the patch.)
+ * Fix Feeds display in build flags.
+ * Remind user when annex-ignore is set for some remotes, if unable to
+ get or drop a file, possibly because it's on an ignored remote.
+ * gpg: Force --no-textmode in case the user has it turned on in config.
+ * webapp: Improve javascript's handling of longpolling connection
+ failures, by reloading the current page in this case.
+ Works around chromium behavior where ajax connections to urls
+ that were already accessed are denied after navigating back to
+ a previous page.
+ * Allow building without quvi support.
+
+ -- Joey Hess <joeyh@debian.org> Mon, 09 Sep 2013 09:47:02 -0400
+
+git-annex (4.20130827) unstable; urgency=low
+
+ * Youtube support! (And 53 other video hosts). When quvi is installed,
+ git-annex addurl automatically uses it to detect when an page is
+ a video, and downloads the video file.
+ * web special remote: Also support using quvi, for getting files,
+ or checking if files exist in the web.
+ * unused: Is now a minimum of 30 times faster, and typically many
+ more times than that (when a repository has several branches).
+ (Thanks, guilhem for the patch.)
+ * unused: Fix bugs in two edge cases involving manually staged changes.
+ (Thanks, guilhem for the patch.)
+ * Android: Fix bug in terminal app that caused it to spin using much
+ CPU and battery. This problem was introduced in version 4.20130601.
+ * sync, merge: Bug fix: Don't try to merge into master when in a bare repo.
+ * import: Add options to control handling of duplicate files:
+ --duplicate, --deduplicate, and --clean-duplicates
+ * mirror: New command, makes two repositories contain the same set of files.
+ * Set --clobber when running wget to ensure resuming works properly.
+ * Unescape characters in 'file://...' URIs. (Thanks, guilhem for the patch.)
+ * Better error message when trying to use a git remote that has annex.ignore
+ set.
+ * Fix bug that caused typechanged symlinks to be assumed to be unlocked
+ files, so they were added to the annex by the pre-commit hook.
+ * Debian: Run the builtin test suite as an autopkgtest.
+ * Debian: Recommend ssh-askpass, which ssh will use when the assistant
+ is run w/o a tty. Closes: #719832
+
+ -- Joey Hess <joeyh@debian.org> Tue, 27 Aug 2013 11:03:00 -0400
+
+git-annex (4.20130815) unstable; urgency=low
+
+ * assistant, watcher: .gitignore files and other git ignores are now
+ honored, when git 1.8.4 or newer is installed.
+ (Thanks, Adam Spiers, for getting the necessary support into git for this.)
+ * importfeed: Ignores transient problems with feeds. Only exits nonzero
+ when a feed has repeatedly had a problems for at least 1 day.
+ * importfeed: Fix handling of dots in extensions.
+ * Windows: Added support for encrypted special remotes.
+ * Windows: Fixed permissions problem that prevented removing files
+ from directory special remote. Directory special remotes now fully usable.
+
+ -- Joey Hess <joeyh@debian.org> Thu, 15 Aug 2013 10:14:33 +0200
+
+git-annex (4.20130802) unstable; urgency=low
+
+ * dropunused behavior change: Now refuses to drop the last copy of a
+ file, unless you use the --force.
+ This was the last place in git-annex that could remove data referred
+ to by the git history, without being forced.
+ Like drop, dropunused checks remotes, and honors the global
+ annex.numcopies setting. (However, .gitattributes settings cannot
+ apply to unused files.)
+ * Fix inverted logic in last release's fix for data loss bug,
+ that caused git-annex sync on FAT or other crippled filesystems to add
+ symlink standin files to the annex.
+ * importfeed can be used to import files from podcast feeds.
+ * webapp: When setting up a dedicated ssh key to access the annex
+ on a host, set IdentitiesOnly to prevent the ssh-agent from forcing
+ use of a different ssh key. That could result in unncessary password
+ prompts, or prevent git-annex-shell from being run on the remote host.
+ * webapp: Improve handling of remotes whose setup has stalled.
+ * Add status message to XMPP presence tag, to identify to others that
+ the client is a git-annex client. Closes: #717652
+ * webapp: When creating a repository on a removable drive, set
+ core.fsyncobjectfiles, to help prevent data loss when the drive is yanked.
+ * Always build with -threaded, to avoid a deadlock when communicating with
+ gpg.
+ * unused: No longer shows as unused tmp files that are actively being
+ transferred.
+ * assistant: Fix NetWatcher to not sync with remotes that have
+ remote.<name>.annex-sync set to false.
+ * assistant: Fix deadlock that could occur when adding a lot of files
+ at once in indirect mode.
+ * assistant: Fix bug that caused it to stall when adding a very large
+ number of files at once (around 5 thousand).
+ * OSX: Make git-annex-webapp run in the background, so that the app icon
+ can be clicked on the open a new webapp when the assistant is already
+ running.
+ * Improve test suite on Windows; now tests git annex sync.
+ * Fix a few bugs involving filenames that are at or near the filesystem's
+ maximum filename length limit.
+ * find: Avoid polluting stdout with progress messages. Closes: #718186
+ * Escape ':' in file/directory names to avoid it being treated
+ as a pathspec by some git commands. Closes: #718185
+ * Slow and ugly work around for bug #718517 in git 1.8.4~rc0, which broke
+ git-cat-file --batch for filenames containing spaces.
+ (Will be reverted after next git pre-release fixes the problem.)
+
+ -- Joey Hess <joeyh@debian.org> Fri, 02 Aug 2013 11:35:16 -0400
+
+git-annex (4.20130723) unstable; urgency=low
+
+ * Fix data loss bug when adding an (uncompressed) tarball of a
+ git-annex repository, or other file that begins with something
+ that can be mistaken for a git-annex link. Closes: #717456
+ * New improved version of the git-annex logo, contributed by
+ John Lawrence.
+ * Rsync.net have committed to support git-annex and offer a special
+ discounted rate for git-annex users. Updated the webapp to reflect this.
+ http://www.rsync.net/products/git-annex-pricing.html
+ * Install XDG desktop icon files.
+ * Support unannex and uninit in direct mode.
+ * Support import in direct mode.
+ * webapp: Better display of added files.
+ * fix: Preserve the original mtime of fixed symlinks.
+ * uninit: Preserve .git/annex/objects at the end, if it still
+ has content, so that old versions of files and deleted files
+ are not deleted. Print a message with some suggested actions.
+ * When a transfer is already being run by another process,
+ proceed on to the next file, rather than dying.
+ * Fix checking when content is present in a non-bare repository
+ accessed via http.
+ * Display byte sizes with more precision.
+ * watcher: Fixed a crash that could occur when a directory was renamed
+ or deleted before it could be scanned.
+ * watcher: Partially worked around a bug in hinotify, no longer crashes
+ if hinotify cannot process a directory (but can't detect changes in it)
+ * directory special remote: Fix checking that there is enough disk space
+ to hold an object, was broken when using encryption.
+ * webapp: Differentiate between creating a new S3/Glacier/WebDav remote,
+ and initializing an existing remote. When creating a new remote, avoid
+ conflicts with other existing (or deleted) remotes with the same name.
+ * When an XMPP server has SRV records, try them, but don't then fall
+ back to the regular host if they all fail.
+ * For long hostnames, use a hash of the hostname to generate the socket
+ file for ssh connection caching.
+
+ -- Joey Hess <joeyh@debian.org> Tue, 23 Jul 2013 10:46:05 -0400
+
+git-annex (4.20130709) unstable; urgency=low
+
+ * --all: New switch that makes git-annex operate on all data stored
+ in the git annex, including old versions of files. Supported by
+ fsck, get, move, copy.
+ * --unused: New switch that makes git-annex operate on all data found
+ by the last run of git annex unused. Supported by fsck, move, copy.
+ * get, move, copy: Can now be run in a bare repository,
+ like fsck already could. --all is enabled automatically in this case.
+ * merge: Now also merges synced/master or similar branches, which
+ makes it useful to put in a post-receive hook to make a repository
+ automatically update its working copy when git annex sync or the assistant
+ sync with it.
+ * webapp: Fix ssh setup with nonstandard port, broken in last release.
+ * init: Detect systems on which git commit fails due to not being able to
+ determine the FQDN, and put in a workaround so committing to the git-annex
+ branch works.
+ * addurl --pathdepth: Fix failure when the pathdepth specified is deeper
+ than the urls's path.
+ * Windows: Look for .exe extension when searching for a command in path.
+ * Pass -f to curl when downloading a file with it, so it propigates failure.
+ * Windows: Fix url to object when using a http remote.
+ * webapp: Fix authorized_keys line added when setting up a rsync remote
+ on a server that also supports git-annex, to not force running
+ git-annex-shell.
+ * OSX Mountain Lion: Fixed gpg bundled in dmg to not fail due to a missing
+ gpg-agent.
+ * Android: gpg is built without --enable-minimal, so it interoperates
+ better with other gpg builds that may default to using other algorithms
+ for encryption.
+ * dropunused, addunused: Complain when asked to operate on a number that
+ does not correspond to any unused key.
+ * fsck: Don't claim to fix direct mode when run on a symlink whose content
+ is not present.
+ * Make --numcopies override annex.numcopies set in .gitattributes.
+
+ -- Joey Hess <joeyh@debian.org> Tue, 09 Jul 2013 13:55:39 -0400
+
+git-annex (4.20130627) unstable; urgency=low
+
+ * assistant --autostart: Automatically ionices the daemons it starts.
+ * assistant: Daily sanity check thread is run niced.
+ * bup: Handle /~/ in bup remote paths.
+ Thanks, Oliver Matthews
+ * fsck: Ensures that direct mode is used for files when it's enabled.
+ * webapp: Fix bug when setting up a remote ssh repo repeatedly on the same
+ server.
+ * webapp: Ensure that ssh keys generated for different directories
+ on a server are always different.
+ * webapp: Fix bug setting up ssh repo if the user enters "~/" at the start
+ of the path.
+ * assistant: Fix bug that prevented adding files written by gnucash,
+ and more generally support adding hard links to files. However,
+ other operations on hard links are still unsupported.
+ * webapp: Fix bug that caused the webapp to hang when built with yesod 1.2.
+
+ -- Joey Hess <joeyh@debian.org> Thu, 27 Jun 2013 14:21:55 -0400
+
+git-annex (4.20130621) unstable; urgency=low
+
+ * Supports indirect mode on encfs in paranoia mode, and other
+ filesystems that do not support hard links, but do support
+ symlinks and other POSIX filesystem features.
+ * Android: Add .thumbnails to .gitignore when setting up a camera
+ repository.
+ * Android: Make the "Open webapp" menu item open the just created
+ repository when a new repo is made.
+ * webapp: When the user switches to display a different repository,
+ that repository becomes the default repository to be displayed next time
+ the webapp gets started.
+ * glacier: Better handling of the glacier inventory, which avoids
+ duplicate uploads to the same glacier repository by `git annex copy`.
+ * Direct mode: No longer temporarily remove write permission bit of files
+ when adding them.
+ * sync: Better support for bare git remotes. Now pushes directly to the
+ master branch on such a remote, instead of to synced/master. This
+ makes it easier to clone from a bare git remote that has been populated
+ with git annex sync or by the assistant.
+ * Android: Fix use of cp command to not try to use features present
+ only on build system.
+ * Windows: Fix hang when adding several files at once.
+ * assistant: In direct mode, objects are now only dropped when all
+ associated files are unwanted. This avoids a repreated drop/get loop
+ of a file that has a copy in an archive directory, and a copy not in an
+ archive directory. (Indirect mode still has some buggy behavior in this
+ area, since it does not keep track of associated files.)
+ Closes: #712060
+ * status: No longer shows dead repositories.
+ * annex.debug can now be set to enable debug logging by default.
+ The webapp's debugging check box does this.
+ * fsck: Avoid getting confused by Windows path separators
+ * Windows: Multiple bug fixes, including fixing the data written to the
+ git-annex branch.
+ * Windows: The test suite now passes on Windows (a few broken parts are
+ disabled).
+ * assistant: On Linux, the expensive transfer scan is run niced.
+ * Enable assistant and WebDAV support on powerpc and sparc architectures,
+ which now have the necessary dependencies built.
+
+ -- Joey Hess <joeyh@debian.org> Fri, 21 Jun 2013 10:18:41 -0400
+
+git-annex (4.20130601) unstable; urgency=medium
+
+ * XMPP: Git push over xmpp made much more robust.
+ * XMPP: Avoid redundant and unncessary pushes. Note that this breaks
+ compatibility with previous versions of git-annex, which will refuse
+ to accept any XMPP pushes from this version.
+ * XMPP: Send pings and use them to detect when contact with the server
+ is lost.
+ * hook special remote: Added combined hook program support.
+ * Android app: Avoid using hard links to app's lib directory, which
+ is sometimes on a different filesystem than the data directory.
+ * Fix bug in parsing of parens in some preferred content expressions.
+ This fixes the behavior of the manual mode group.
+ * assistant: Work around git-cat-file's not reloading the index after files
+ are staged.
+ * Improve error handling when getting uuid of http remotes to auto-ignore,
+ like with ssh remotes.
+ * content: New command line way to view and configure a repository's
+ preferred content settings.
+ * sync: Fix double merge conflict resolution handling.
+ * XMPP: Fix a file descriptor leak.
+ * Android: Added an "Open WebApp" item to the terminal's menu.
+ * Android: Work around Android devices where the `am` command doesn't work.
+ * Can now restart certain long-running git processes if they crash, and
+ continue working.
+
+ -- Joey Hess <joeyh@debian.org> Sat, 01 Jun 2013 19:16:04 -0400
+
+git-annex (4.20130521) unstable; urgency=low
+
+ * 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.
+
+ -- Joey Hess <joeyh@debian.org> Tue, 21 May 2013 13:10:26 -0400
+
+git-annex (4.20130516) unstable; urgency=low
+
+ * 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.
+
+ -- Joey Hess <joeyh@debian.org> Thu, 16 May 2013 11:03:35 -0400
+
+git-annex (4.20130501) unstable; urgency=low
+
+ * 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 rm`
+ to delete a remote. Newer git uses `git 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.
+
+ -- Joey Hess <joeyh@debian.org> Wed, 01 May 2013 01:42:46 -0400
+
+git-annex (4.20130417) unstable; urgency=low
+
+ * 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).
+
+ -- Joey Hess <joeyh@debian.org> Wed, 17 Apr 2013 09:07:38 -0400
+
+git-annex (4.20130405) unstable; urgency=low
+
+ * 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 add` and 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.
+
+ -- Joey Hess <joeyh@debian.org> Fri, 05 Apr 2013 10:42:18 -0400
+
+git-annex (4.20130323) unstable; urgency=low
+
+ * webapp: Repository list is now included in the dashboard, and other
+ UI tweaks.
+ * webapp: Improved UI for pairing your own devices together using XMPP.
+ * webapp: Display an alert when there are XMPP remotes, and a cloud
+ transfer repository needs to be configured.
+ * Add incrementalbackup repository group.
+ * webapp: Encourage user to install git-annex on a server when adding
+ a ssh server, rather than just funneling them through to rsync.
+ * xmpp: --debug now enables a sanitized dump of the XMPP protocol
+ * xmpp: Try harder to detect presence of clients when there's a git push
+ to send.
+ * xmpp: Re-enable XA flag, since disabling it did not turn out to help
+ with the problems Google Talk has with not always sending presence
+ messages to clients.
+ * map: Combine duplicate repositories, for a nicer looking map.
+ * Fix several bugs caused by a bad Ord instance for Remote.
+ * webapp: Switch all forms to POST.
+ * assistant: Avoid syncing with annex-ignored remotes when reconnecting
+ to the network, or connecting a drive.
+ * assistant: Fix OSX bug that prevented committing changed files to a
+ repository when in indirect mode.
+ * webapp: Improved alerts displayed when syncing with remotes, and
+ when syncing with a remote fails.
+ * webapp: Force wrap long filenames in transfer display.
+ * assistant: The ConfigMonitor left one zombie behind each time
+ it checked for changes, now fixed.
+ * get, copy, move: Display an error message when an identical transfer
+ is already in progress, rather than failing with no indication why.
+ * assistant: Several optimisations to file transfers.
+ * OSX app and standalone Linux tarball now both support being added to
+ PATH; no need to use runshell to start git-annex.
+ * webapp: When adding a removable drive, you can now specify the
+ directory inside it to use.
+ * webapp: Confirm whether user wants to combine repositories when
+ adding a removable drive that already has a repository on it.
+
+ -- Joey Hess <joeyh@debian.org> Fri, 22 Mar 2013 18:54:05 -0400
+
+git-annex (4.20130314) unstable; urgency=low
+
+ * Bugfix: git annex add, when ran without any file or directory specified,
+ should add files in the current directory, but not act on unlocked files
+ elsewhere in the tree.
+ * Bugfix: drop --from an unavailable remote no longer updates the location
+ log, incorrectly, to say the remote does not have the key.
+ * Bugfix: If the UUID of a remote is not known, prevent --from, --to,
+ and other ways of specifying remotes by name from selecting it,
+ since it is not possible to sanely use it.
+ * Bugfix: Fix bug in inode cache sentinal check, which broke
+ copying to local repos if the repo being copied from had moved
+ to a different filesystem or otherwise changed all its inodes
+
+ * Switch from using regex-compat to regex-tdfa, as the C regex library
+ is rather buggy.
+ * status: Can now be run with a directory path to show only the
+ status of that directory, rather than the whole annex.
+ * Added remote.<name>.annex-gnupg-options setting.
+ Thanks, guilhem for the patch.
+ * addurl: Add --relaxed option.
+ * addurl: Escape invalid characters in urls, rather than failing to
+ use an invalid url.
+ * addurl: Properly handle url-escaped characters in file:// urls.
+
+ * assistant: Fix dropping content when a file is moved to an archive
+ directory, and getting contennt when a file is moved back out.
+ * assistant: Fix bug in direct mode that could occur when a symlink is
+ moved out of an archive directory, and resulted in the file not being
+ set to direct mode when it was transferred.
+ * assistant: Generate better commits for renames.
+ * assistant: Logs are rotated to avoid them using too much disk space.
+ * assistant: Avoid noise in logs from git commit about typechanged
+ files in direct mode repositories.
+ * assistant: Set gc.auto=0 when creating repositories to prevent
+ automatic commits from causing git-gc runs.
+ * assistant: If gc.auto=0, run git-gc once a day, packing loose objects
+ very non-aggressively.
+ * assistant: XMPP git pull and push requests are cached and sent when
+ presence of a new client is detected.
+ * assistant: Sync with all git remotes on startup.
+ * assistant: Get back in sync with XMPP remotes after network reconnection,
+ and on startup.
+ * assistant: Fix syncing after XMPP pairing.
+ * assistant: Optimised handling of renamed files in direct mode,
+ avoiding re-checksumming.
+ * assistant: Detects most renames, including directory renames, and
+ combines all their changes into a single commit.
+ * assistant: Fix ~/.ssh/git-annex-shell wrapper to work when the
+ ssh key does not force a command.
+ * assistant: Be smarter about avoiding unncessary transfers.
+
+ * webapp: Work around bug in Warp's slowloris attack prevention code,
+ that caused regular browsers to stall when they reuse a connection
+ after leaving it idle for 30 seconds.
+ (See https://github.com/yesodweb/wai/issues/146)
+ * webapp: New preferences page allows enabling/disabling debug logging
+ at runtime, as well as configuring numcopies and diskreserve.
+ * webapp: Repository costs can be configured by dragging repositories around
+ in the repository list.
+ * webapp: Proceed automatically on from "Configure jabber account"
+ to pairing.
+ * webapp: Only show up to 10 queued transfers.
+ * webapp: DTRT when told to create a git repo that already exists.
+ * webapp: Set locally paired repositories to a lower cost than other
+ network remotes.
+
+ * Run ssh with -T to avoid tty allocation and any login scripts that
+ may do undesired things with it.
+ * Several improvements to Makefile and cabal file. Thanks, Peter Simmons
+ * Stop depending on testpack.
+ * Android: Enable test suite.
+
+ -- Joey Hess <joeyh@debian.org> Thu, 14 Mar 2013 15:29:20 -0400
+
+git-annex (4.20130227) unstable; urgency=low
+
+ * annex.version is now set to 4 for direct mode repositories.
+ * Should now fully support git repositories with core.symlinks=false;
+ always using git's pseudosymlink files in such repositories.
+ * webapp: Allow creating repositories on filesystems that lack support for
+ symlinks.
+ * webapp: Can now add a new local repository, and make it sync with
+ the main local repository.
+ * Android: Bundle now includes openssh.
+ * Android: Support ssh connection caching.
+ * Android: Assistant is fully working. (But no webapp yet.)
+ * Direct mode: Support filesystems like FAT which can change their inodes
+ each time they are mounted.
+ * Direct mode: Fix support for adding a modified file.
+ * Avoid passing -p to rsync, to interoperate with crippled filesystems.
+ Closes: #700282
+ * Additional GIT_DIR support bugfixes. May actually work now.
+ * webapp: Display any error message from git init if it fails to create
+ a repository.
+ * Fix a reversion in matching globs introduced in the last release,
+ where "*" did not match files inside subdirectories. No longer uses
+ the Glob library.
+ * copy: Update location log when no copy was performed, if the location
+ log was out of date.
+ * Makefile now builds using cabal, taking advantage of cabal's automatic
+ detection of appropriate build flags.
+ * test: The test suite is now built into the git-annex binary, and can
+ be run at any time.
+
+ -- Joey Hess <joeyh@debian.org> Wed, 27 Feb 2013 14:07:24 -0400
+
+git-annex (3.20130216) unstable; urgency=low
+
+ * Now uses the Haskell uuid library, rather than needing a uuid program.
+ * Now uses the Haskell Glob library, rather than pcre-light, avoiding
+ the need to install libpcre. Currently done only for Cabal or when
+ the Makefile is made to use -DWITH_GLOB
+ * Android port now available (command-line only).
+ * New annex.crippledfilesystem setting, allows use of git-annex
+ repositories on FAT and even worse filesystems; avoiding use of
+ hard links and locked down permissions settings. (Support is incomplete.)
+ * init: Detect when the repository is on a filesystem that does not
+ support hard links, or symlinks, or unix permissions, and set
+ annex.crippledfilesystem, as well as annex.direct.
+ * add: Improved detection of files that are modified while being added.
+ * Fix a bug in direct mode, introduced in the previous release, where
+ if a file was dropped and then got back, it would be stored in indirect
+ mode.
+
+ -- Joey Hess <joeyh@debian.org> Sat, 16 Feb 2013 10:03:26 -0400
+
+git-annex (3.20130207) unstable; urgency=low
+
+ * webapp: Now allows restarting any threads that crash.
+ * Adjust debian package to only build-depend on DAV on architectures
+ where it is available.
+ * addurl --fast: Use curl, rather than haskell HTTP library, to support https.
+ * annex.autocommit: New setting, can be used to disable autocommit
+ of changed files by the assistant, while it still does data syncing
+ and other tasks.
+ * assistant: Ignore .DS_Store on OSX.
+ * assistant: Fix location log when adding new file in direct mode.
+ * Deal with stale mappings for deleted file in direct mode.
+ * pre-commit: Update direct mode mappings.
+ * uninit, unannex --fast: If hard link creation fails, fall back to slow
+ mode.
+ * Clean up direct mode cache and mapping info when dropping keys.
+ * dropunused: Clean up stale direct mode cache and mapping info not
+ removed before.
+
+ -- Joey Hess <joeyh@debian.org> Thu, 07 Feb 2013 12:45:25 -0400
+
+git-annex (3.20130124) unstable; urgency=low
+
+ * Added source repository group, that only retains files until they've
+ been transferred to another repository. Useful for things like
+ repositories on cameras.
+ * Added manual repository group. Use to prevent the assistant from
+ downloading any file contents to keep things in sync. Instead
+ `git annex get`, `git annex drop` etc can be used manually as desired.
+ * webapp: More adjustments to longpoll code to deal with changes in
+ variable quoting in different versions of shakespeare-js.
+ * webapp: Avoid an error if a transfer is stopped just as it finishes.
+ Closes: #698184
+ * webapp: Now always logs to .git/annex/daemon.log
+ * webapp: Has a page to view the log, accessed from the control menu.
+ * webapp: Fix crash adding removable drive that has an annex directory
+ in it that is not a git repository.
+ * Deal with incompatability in gpg2, which caused prompts for encryption
+ passphrases rather than using the supplied --passphrase-fd.
+ * bugfix: Union merges involving two or more repositories could sometimes
+ result in data from one repository getting lost. This could result
+ in the location log data becoming wrong, and fsck being needed to fix it.
+ * sync: Automatic merge conflict resolution now stages deleted files.
+ * Depend on git 1.7.7.6 for --no-edit. Closes: #698399
+ * Fix direct mode mapping code to always store direct mode filenames
+ relative to the top of the repository, even when operating inside a
+ subdirectory.
+ * fsck: Detect and fix consistency errors in direct mode mapping files.
+ * Avoid filename encoding errors when writing direct mode mappings.
+
+ -- Joey Hess <joeyh@debian.org> Tue, 22 Jan 2013 07:11:59 +1100
+
+git-annex (3.20130114) unstable; urgency=low
+
+ * Now handles the case where a file that's being transferred to a remote
+ is modified in place, which direct mode allows. When this
+ happens, the transfer now fails, rather than allow possibly corrupt
+ data into the remote.
+ * fsck: Better checking of file content in direct mode.
+ * drop: Suggest using git annex move when numcopies prevents dropping a file.
+ * webapp: Repo switcher filters out repos that do not exist any more
+ (or are on a drive that's not mounted).
+ * webapp: Use IP address, rather than localhost, since some systems may
+ have configuration problems or other issues that prevent web browsers
+ from connecting to the right localhost IP for the webapp.
+ * webapp: Adjust longpoll code to work with recent versions of
+ shakespeare-js.
+ * assistant: Support new gvfs dbus names used in Gnome 3.6.
+ * In direct mode, files with the same key are no longer hardlinked, as
+ that would cause a surprising behavior if modifying one, where the other
+ would also change.
+ * webapp: Avoid illegal characters in hostname when creating S3 or
+ Glacier remote.
+ * assistant: Avoid committer crashing if a file is deleted at the wrong
+ instant.
+
+ -- Joey Hess <joeyh@debian.org> Mon, 14 Jan 2013 15:25:18 -0400
+
+git-annex (3.20130107) unstable; urgency=low
+
+ * webapp: Add UI to stop and restart assistant.
+ * committer: Fix a file handle leak.
+ * assistant: Make expensive transfer scan work fully in direct mode.
+ * More commands work in direct mode repositories: find, whereis, move, copy,
+ drop, log, fsck, add, addurl.
+ * sync: No longer automatically adds files in direct mode.
+ * assistant: Detect when system is not configured with a user name,
+ and set environment to prevent git from failing.
+ * direct: Avoid hardlinking symlinks that point to the same content
+ when the content is not present.
+ * Fix transferring files to special remotes in direct mode.
+
+ -- Joey Hess <joeyh@debian.org> Mon, 07 Jan 2013 01:01:41 -0400
+
+git-annex (3.20130102) unstable; urgency=low
+
+ * direct, indirect: New commands, that switch a repository to and from
+ direct mode. In direct mode, files are accessed directly, rather than
+ via symlinks. Note that direct mode is currently experimental. Many
+ git-annex commands do not work in direct mode. Some git commands can
+ cause data loss when used in direct mode repositories.
+ * assistant: Now uses direct mode by default when setting up a new
+ local repository.
+ * OSX assistant: Uses the FSEvents API to detect file changes.
+ This avoids issues with running out of file descriptors on large trees,
+ as well as allowing detection of modification of files in direct mode.
+ Other BSD systems still use kqueue.
+ * kqueue: Fix bug that made broken symlinks not be noticed.
+ * vicfg: Quote filename. Closes: #696193
+ * Bugfix: Fixed bug parsing transfer info files, where the newline after
+ the filename was included in it. This was generally benign, but in
+ the assistant, it caused unexpected dropping of preferred content.
+ * Bugfix: Remove leading \ from checksums output by sha*sum commands,
+ when the filename contains \ or a newline. Closes: #696384
+ * fsck: Still accept checksums with a leading \ as valid, now that
+ above bug is fixed.
+ * SHA*E backends: Exclude non-alphanumeric characters from extensions.
+ * migrate: Remove leading \ in SHA* checksums, and non-alphanumerics
+ from extensions of SHA*E keys.
+
+ -- Joey Hess <joeyh@debian.org> Wed, 02 Jan 2013 13:21:34 -0400
+
+git-annex (3.20121211) unstable; urgency=low
+
+ * webapp: Defaults to sharing box.com account info with friends, allowing
+ one-click enabling of the repository.
+ * Fix broken .config/git-annex/program installed by standalone tarball.
+ * assistant: Retrival from glacier now handled.
+ * Include ssh in standalone tarball and OSX app.
+ * watch: Avoid leaving hard links to files behind in .git/annex/tmp
+ if a file is deleted or moved while it's being quarantined in preparation
+ to being added to the annex.
+ * Allow `git annex drop --from web`; of course this does not remove
+ any file from the web, but it does make git-annex remove all urls
+ associated with a file.
+ * webapp: S3 and Glacier forms now have a select list of all
+ currently-supported AWS regions.
+ * webdav: Avoid trying to set props, avoiding incompatability with
+ livedrive.com. Needs DAV version 0.3.
+ * webapp: Prettify error display.
+ * webapp: Fix bad interaction between required fields and modals.
+ * webapp: Added help buttons and links next to fields that require
+ explanations.
+ * webapp: Encryption can be disabled when setting up remotes.
+ * assistant: Avoid trying to drop content from remotes that don't have it.
+ * assistant: Allow periods in ssh key comments.
+ * get/copy --auto: Transfer data even if it would exceed numcopies,
+ when preferred content settings want it.
+ * drop --auto: Fix dropping content when there are no preferred content
+ settings.
+ * webapp: Allow user to specify the port when setting up a ssh or rsync
+ remote.
+ * assistant: Fix syncing to just created ssh remotes.
+ * Enable WebDAV support in Debian package. Closes: #695532
+
+ -- Joey Hess <joeyh@debian.org> Tue, 11 Dec 2012 11:25:03 -0400
+
+git-annex (3.20121127) unstable; urgency=low
+
+ * Fix dirContentsRecursive, which had missed some files in deeply nested
+ subdirectories. Could affect various parts of git-annex.
+ * rsync: Fix bug introduced in last release that broke encrypted rsync
+ special remotes.
+ * The standalone builds now unset their special path and library path
+ variables before running the system web browser.
+
+ -- Joey Hess <joeyh@debian.org> Tue, 27 Nov 2012 17:07:32 -0400
+
+git-annex (3.20121126) unstable; urgency=low
+
+ * New webdav and Amazon glacier special remotes.
+ * Display a warning when a non-existing file or directory is specified.
+ * webapp: Added configurator for Box.com.
+ * webapp: Show error messages to user when testing XMPP creds.
+ * Fix build of assistant without yesod.
+ * webapp: The list of repositiories refreshes when new repositories are
+ added, including when new repository configurations are pushed in from
+ remotes.
+ * OSX: Fix RunAtLoad value in plist file.
+ * Getting a file from chunked directory special remotes no longer buffers
+ it all in memory.
+ * S3: Added progress display for uploading and downloading.
+ * directory special remote: Made more efficient and robust.
+ * Bugfix: directory special remote could loop forever storing a key
+ when a too small chunksize was configured.
+ * Allow controlling whether login credentials for S3 and webdav are
+ committed to the repository, by setting embedcreds=yes|no when running
+ initremote.
+ * Added smallarchive repository group, that only archives files that are
+ in archive directories. Used by default for glacier when set up in the
+ webapp.
+ * assistant: Fixed handling of toplevel archive directory and
+ client repository group.
+ * assistant: Apply preferred content settings when a new symlink
+ is created, or a symlink gets renamed. Made archive directories work.
+
+ -- Joey Hess <joeyh@debian.org> Mon, 26 Nov 2012 11:37:49 -0400
+
+git-annex (3.20121112) unstable; urgency=low
+
+ * assistant: Can use XMPP to notify other nodes about pushes made to other
+ repositories, as well as pushing to them directly over XMPP.
+ * wepapp: Added an XMPP configuration interface.
+ * webapp: Supports pairing over XMPP, with both friends, and other repos
+ using the same account.
+ * assistant: Drops non-preferred content when possible.
+ * assistant: Notices, and applies config changes as they are made to
+ the git-annex branch, including config changes pushed in from remotes.
+ * git-annex-shell: GIT_ANNEX_SHELL_DIRECTORY can be set to limit it
+ to operating on a specified directory.
+ * webapp: When setting up authorized_keys, use GIT_ANNEX_SHELL_DIRECTORY.
+ * Preferred content path matching bugfix.
+ * Preferred content expressions cannot use "in=".
+ * Preferred content expressions can use "present".
+ * Fix handling of GIT_DIR when it refers to a git submodule.
+ * Depend on and use the Haskell SafeSemaphore library, which provides
+ exception-safe versions of SampleVar and QSemN.
+ Thanks, Ben Gamari for an excellent patch set.
+ * file:/// URLs can now be used with the web special remote.
+ * webapp: Allow dashes in ssh key comments when pairing.
+ * uninit: Check and abort if there are symlinks to annexed content that
+ are not checked into git.
+ * webapp: Switched to using the same multicast IP address that avahi uses.
+ * bup: Don't pass - to bup-split to make it read stdin; bup 0.25
+ does not accept that.
+ * bugfix: Don't fail transferring content from read-only repos.
+ Closes: #691341
+ * configure: Check that checksum programs produce correct checksums.
+ * Re-enable dbus, using a new version of the library that fixes the memory
+ leak.
+ * NetWatcher: When dbus connection is lost, try to reconnect.
+ * Use USER and HOME environment when set, and only fall back to getpwent,
+ which doesn't work with LDAP or NIS.
+ * rsync special remote: Include annex-rsync-options when running rsync
+ to test a key's presence.
+ * The standalone tarball's runshell now takes care of installing a
+ ~/.ssh/git-annex-shell wrapper the first time it's run.
+ * webapp: Make an initial, empty commit so there is a master branch
+ * assistant: Fix syncing local drives.
+ * webapp: Fix creation of rsync.net repositories.
+ * webapp: Fix renaming of special remotes.
+ * webapp: Generate better git remote names.
+ * webapp: Ensure that rsync special remotes are enabled using the same
+ name they were originally created using.
+ * Bugfix: Fix hang in webapp when setting up a ssh remote with an absolute
+ path.
+
+ -- Joey Hess <joeyh@debian.org> Mon, 12 Nov 2012 10:39:47 -0400
+
+git-annex (3.20121017) unstable; urgency=low
+
+ * Fix zombie cleanup reversion introduced in 3.20121009.
+ * Additional fix to support git submodules.
+
+ -- Joey Hess <joeyh@debian.org> Tue, 16 Oct 2012 21:10:14 -0400
+
+git-annex (3.20121016) unstable; urgency=low
+
+ * vicfg: New file format, avoids ambiguity with repos that have the same
+ description, or no description.
+ * Bug fix: A recent change caused git-annex-shell to crash.
+ * Better preferred content expression for transfer repos.
+ * webapp: Repository edit form can now edit the name of a repository.
+ * webapp: Make bare repositories on removable drives, as there is nothing
+ to ensure non-bare repos get updated when syncing.
+ * webapp: Better behavior when pausing syncing to a remote when a transfer
+ scan is running and queueing new transfers for that remote.
+ * The standalone binaries are now built to not use ssh connection caching,
+ in order to work with old versions of ssh.
+ * A relative core.worktree is relative to the gitdir. Now that this is
+ handled correctly, git-annex can be used in git submodules.
+ * Temporarily disable use of dbus, as the haskell dbus library blows up
+ when losing connection, which will need to be fixed upstream.
+
+ -- Joey Hess <joeyh@debian.org> Tue, 16 Oct 2012 15:25:22 -0400
+
+git-annex (3.20121010) unstable; urgency=low
+
+ * Renamed --ingroup to --inallgroup.
+ * Standard groups changed to client, transfer, archive, and backup.
+ Each of these has its own standard preferred content setting.
+ * dead: Remove dead repository from all groups.
+ * Avoid unsetting HOME when running certian git commands. Closes: #690193
+ * test: Fix threaded runtime hang.
+ * Makefile: Avoid building with -threaded if the ghc threaded runtime does
+ not exist.
+ * webapp: Improve wording of intro display. Closes: #689848
+ * webapp: Repositories can now be configured, to change their description,
+ their group, or even to disable syncing to them.
+ * git config remote.name.annex-sync can be used to control whether
+ a remote gets synced.
+ * Fix a crash when merging files in the git-annex branch that contain
+ invalid utf8.
+ * Automatically detect when a ssh remote does not have git-annex-shell
+ installed, and set annex-ignore.
+
+ -- Joey Hess <joeyh@debian.org> Fri, 12 Oct 2012 13:45:21 -0400
+
+git-annex (3.20121009) unstable; urgency=low
+
+ * watch, assistant: It's now safe to git annex unlock files while
+ the watcher is running, as well as modify files checked into git
+ as normal files. Additionally, .gitignore settings are now honored.
+ Closes: #689979
+ * group, ungroup: New commands to indicate groups of repositories.
+ * webapp: Adds newly created repositories to one of these groups:
+ clients, drives, servers
+ * vicfg: New command, allows editing (or simply viewing) most
+ of the repository configuration settings stored in the git-annex branch.
+ * Added preferred content expressions, configurable using vicfg.
+ * get --auto: If the local repository has preferred content
+ configured, only get that content.
+ * drop --auto: If the repository the content is dropped from has
+ preferred content configured, drop only content that is not preferred.
+ * copy --auto: Only transfer content that the destination repository prefers.
+ * assistant: Now honors preferred content settings when deciding what to
+ transfer.
+ * --copies=group:number can now be used to match files that are present
+ in a specified number of repositories in a group.
+ * Added --smallerthan, --largerthan, and --inall limits.
+ * Only build-depend on libghc-clientsession-dev on arches that will have
+ the webapp.
+ * uninit: Unset annex.version. Closes: #689852
+
+ -- Joey Hess <joeyh@debian.org> Tue, 09 Oct 2012 15:13:23 -0400
+
+git-annex (3.20121001) unstable; urgency=low
+
+ * fsck: Now has an incremental mode. Start a new incremental fsck pass
+ with git annex fsck --incremental. Now the fsck can be interrupted
+ as desired, and resumed with git annex fsck --more.
+ Thanks, Justin Azoff
+ * New --time-limit option, makes long git-annex commands stop after
+ a specified amount of time.
+ * fsck: New --incremental-schedule option which is nice for scheduling
+ eg, monthly incremental fsck runs in cron jobs.
+ * Fix fallback to ~/Desktop when xdg-user-dir is not available.
+ Closes: #688833
+ * S3: When using a shared cipher, S3 credentials are not stored encrypted
+ in the git repository, as that would allow anyone with access to
+ the repository access to the S3 account. Instead, they're stored
+ in a 600 mode file in the local git repo.
+ * webapp: Avoid crashing when ssh-keygen -F chokes on an invalid known_hosts
+ file.
+ * Always do a system wide installation when DESTDIR is set. Closes: #689052
+ * The Makefile now builds with the new yesod by default.
+ Systems like Debian that have the old yesod 1.0.1 should set
+ GIT_ANNEX_LOCAL_FEATURES=-DWITH_OLD_YESOD
+ * copy: Avoid updating the location log when no copy is performed.
+ * configure: Test that uuid -m works, falling back to plain uuid if not.
+ * Avoid building the webapp on Debian architectures that do not yet
+ have template haskell and thus yesod. (Should be available for arm soonish
+ I hope).
+
+ -- Joey Hess <joeyh@debian.org> Mon, 01 Oct 2012 13:56:55 -0400
+
+git-annex (3.20120924) unstable; urgency=low
+
+ * assistant: New command, a daemon which does everything watch does,
+ as well as automatically syncing file contents between repositories.
+ * webapp: An interface for managing and configuring the assistant.
+ * The default backend used when adding files to the annex is changed
+ from SHA256 to SHA256E, to simplify interoperability with OSX, media
+ players, and various programs that needlessly look at symlink targets.
+ To get old behavior, add a .gitattributes containing: * annex.backend=SHA256
+ * init: If no description is provided for a new repository, one will
+ automatically be generated, like "joey@gnu:~/foo"
+ * test: Set a lot of git environment variables so testing works in strange
+ environments that normally need git config to set names, etc.
+ Closes: #682351 Thanks, gregor herrmann
+ * Disable ssh connection caching if the path to the control socket would be
+ too long (and use relative path to minimise path to the control socket).
+ * migrate: Check content before generating the new key, to avoid generating
+ a key for corrupt data.
+ * Support repositories created with --separate-git-dir. Closes: #684405
+ * reinject: When the provided file doesn't match, leave it where it is,
+ rather than moving to .git/annex/bad/
+ * Avoid crashing on encoding errors in filenames when writing transfer info
+ files and reading from checksum commands.
+ * sync: Pushes the git-annex branch to remote/synced/git-annex, rather
+ than directly to remote/git-annex.
+ * Now supports matching files that are present on a number of remotes
+ with a specified trust level. Example: --copies=trusted:2
+ Thanks, Nicolas Pouillard
+
+ -- Joey Hess <joeyh@debian.org> Mon, 24 Sep 2012 13:47:48 -0400
+
+git-annex (3.20120825) unstable; urgency=low
+
+ * S3: Add fileprefix setting.
+ * Pass --use-agent to gpg when in no tty mode. Thanks, Eskild Hustvedt.
+ * Bugfix: Fix fsck in SHA*E backends, when the key contains composite
+ extensions, as added in 3.20120721.
+
+ -- Joey Hess <joeyh@debian.org> Sat, 25 Aug 2012 10:00:10 -0400
+
+git-annex (3.20120807) unstable; urgency=low
+
+ * initremote: Avoid recording remote's description before checking
+ that its config is valid.
+ * unused, status: Avoid crashing when ran in bare repo.
+ * Avoid crashing when "git annex get" fails to download from one
+ location, and falls back to downloading from a second location.
+
+ -- Joey Hess <joeyh@debian.org> Tue, 07 Aug 2012 13:35:07 -0400
+
+git-annex (3.20120721) unstable; urgency=low
+
+ * get, move, copy: Now refuse to do anything when the requested file
+ transfer is already in progress by another process.
+ * status: Lists transfers that are currently in progress.
+ * Fix passing --uuid to git-annex-shell.
+ * When shaNsum commands cannot be found, use the Haskell SHA library
+ (already a dependency) to do the checksumming. This may be slower,
+ but avoids portability problems.
+ * Use SHA library for files less than 50 kb in size, at which point it's
+ faster than forking the more optimised external program.
+ * SHAnE backends are now smarter about composite extensions, such as
+ .tar.gz Closes: #680450
+ * map: Write map.dot to .git/annex, which avoids watch trying to annex it.
+
+ -- Joey Hess <joeyh@debian.org> Sat, 21 Jul 2012 16:52:48 -0400
+
+git-annex (3.20120629) unstable; urgency=low
+
+ * cabal: Only try to use inotify on Linux.
+ * Version build dependency on STM, and allow building without it,
+ which disables the watch command.
+ * Avoid ugly failure mode when moving content from a local repository
+ that is not available.
+ * Got rid of the last place that did utf8 decoding.
+ * Accept arbitrarily encoded repository filepaths etc when reading
+ git config output. This fixes support for remotes with unusual characters
+ in their names.
+ * sync: Automatically resolves merge conflicts.
+
+ -- Joey Hess <joeyh@debian.org> Fri, 29 Jun 2012 10:17:49 -0400
+
+git-annex (3.20120624) unstable; urgency=low
+
+ * watch: New subcommand, a daemon which notices changes to
+ files and automatically annexes new files, etc, so you don't
+ need to manually run git commands when manipulating files.
+ Available on Linux, BSDs, and OSX!
+ * Enable diskfree on kfreebsd, using kqueue.
+ * unused: Fix crash when key names contain invalid utf8.
+ * sync: Avoid recent git's interactive merge.
+
+ -- Joey Hess <joeyh@debian.org> Sun, 24 Jun 2012 12:36:50 -0400
+
+git-annex (3.20120614) unstable; urgency=medium
+
+ * addurl: Was broken by a typo introduced 2 released ago, now fixed.
+ Closes: #677576
+ * Install man page when run by cabal, in a location where man will
+ find it, even when installing under $HOME. Thanks, Nathan Collins
+
+ -- Joey Hess <joeyh@debian.org> Thu, 14 Jun 2012 20:21:29 -0400
+
+git-annex (3.20120611) unstable; urgency=medium
+
+ * add: Prevent (most) modifications from being made to a file while it
+ is being added to the annex.
+ * initremote: Automatically describe a remote when creating it.
+ * uninit: Refuse to run in a subdirectory. Closes: #677076
+
+ -- Joey Hess <joeyh@debian.org> Mon, 11 Jun 2012 10:32:01 -0400
+
+git-annex (3.20120605) unstable; urgency=low
+
+ * sync: Show a nicer message if a user tries to sync to a special remote.
+ * lock: Reset unlocked file to index, rather than to branch head.
+ * import: New subcommand, pulls files from a directory outside the annex
+ and adds them.
+ * Fix display of warning message when encountering a file that uses an
+ unsupported backend.
+ * Require that the SHA256 backend can be used when building, since it's the
+ default.
+ * Preserve parent environment when running hooks of the hook special remote.
+
+ -- Joey Hess <joeyh@debian.org> Tue, 05 Jun 2012 14:03:39 -0400
+
+git-annex (3.20120522) unstable; urgency=low
+
+ * Pass -a to cp even when it supports --reflink=auto, to preserve
+ permissions.
+ * Clean up handling of git directory and git worktree.
+ * Add support for core.worktree, and fix support for GIT_WORK_TREE and
+ GIT_DIR.
+
+ -- Joey Hess <joeyh@debian.org> Tue, 22 May 2012 11:16:13 -0400
+
+git-annex (3.20120511) unstable; urgency=low
+
+ * Rsync special remotes can be configured with shellescape=no
+ to avoid shell quoting that is normally done when using rsync over ssh.
+ This is known to be needed for certian rsync hosting providers
+ (specificially hidrive.strato.com) that use rsync over ssh but do not
+ pass it through the shell.
+ * dropunused: Allow specifying ranges to drop.
+ * addunused: New command, the opposite of dropunused, it relinks unused
+ content into the git repository.
+ * Fix use of several config settings: annex.ssh-options,
+ annex.rsync-options, annex.bup-split-options. (And adjust types to avoid
+ the bugs that broke several config settings.)
+
+ -- Joey Hess <joeyh@debian.org> Fri, 11 May 2012 12:29:30 -0400
+
+git-annex (3.20120430) unstable; urgency=low
+
+ * Fix use of annex.diskreserve config setting.
+ * Directory special remotes now check annex.diskreserve.
+ * Support git's core.sharedRepository configuration.
+ * Add annex.http-headers and annex.http-headers-command config
+ settings, to allow custom headers to be sent with all HTTP requests.
+ (Requested by the Internet Archive)
+ * uninit: Clear annex.uuid from .git/config. Closes: #670639
+ * Added shared cipher mode to encryptable special remotes. This option
+ avoids gpg key distribution, at the expense of flexability, and with
+ the requirement that all clones of the git repository be equally trusted.
+
+ -- Joey Hess <joeyh@debian.org> Mon, 30 Apr 2012 13:16:10 -0400
+
+git-annex (3.20120418) unstable; urgency=low
+
+ * bugfix: Adding a dotfile also caused all non-dotfiles to be added.
+ * bup: Properly handle key names with spaces or other things that are
+ not legal git refs.
+ * git-annex (but not git-annex-shell) supports the git help.autocorrect
+ configuration setting, doing fuzzy matching using the restricted
+ Damerau-Levenshtein edit distance, just as git does. This adds a build
+ dependency on the haskell edit-distance library.
+ * Renamed diskfree.c to avoid OSX case insensativity bug.
+ * cabal now installs git-annex-shell as a symlink to git-annex.
+ * cabal file now autodetects whether S3 support is available.
+
+ -- Joey Hess <joeyh@debian.org> Wed, 18 Apr 2012 12:11:32 -0400
+
+git-annex (3.20120406) unstable; urgency=low
+
+ * Disable diskfree on kfreebsd, as I have a build failure on kfreebsd-i386
+ that is quite likely caused by it.
+
+ -- Joey Hess <joeyh@debian.org> Sat, 07 Apr 2012 15:50:36 -0400
+
+git-annex (3.20120405) unstable; urgency=low
+
+ * Rewrote free disk space checking code, moving the portability
+ handling into a small C library.
+ * status: Display amount of free disk space.
+
+ -- Joey Hess <joeyh@debian.org> Thu, 05 Apr 2012 16:19:10 -0400
+
+git-annex (3.20120315) unstable; urgency=low
+
+ * fsck: Fix up any broken links and misplaced content caused by the
+ directory hash calculation bug fixed in the last release.
+ * sync: Sync to lower cost remotes first.
+ * status: Fixed to run in constant space.
+ * status: More accurate display of sizes of tmp and bad keys.
+ * unused: Now uses a bloom filter, and runs in constant space.
+ Use of a bloom filter does mean it will not notice a small
+ number of unused keys. For repos with up to half a million keys,
+ it will miss one key in 1000.
+ * Added annex.bloomcapacity and annex.bloomaccuracy, which can be
+ adjusted as desired to tune the bloom filter.
+ * status: Display amount of memory used by bloom filter, and
+ detect when it's too small for the number of keys in a repository.
+ * git-annex-shell: Runs hooks/annex-content after content is received
+ or dropped.
+ * Work around a bug in rsync (IMHO) introduced by openSUSE's SIP patch.
+ * git-annex now behaves as git-annex-shell if symlinked to and run by that
+ name. The Makefile sets this up, saving some 8 mb of installed size.
+ * git-union-merge is a demo program, so it is no longer built by default.
+
+ -- Joey Hess <joeyh@debian.org> Thu, 15 Mar 2012 11:05:28 -0400
+
+git-annex (3.20120309) unstable; urgency=low
+
+ * Fix key directory hash calculation code to behave as it did before
+ version 3.20120227 when a key contains non-ascii characters (only
+ WORM backend is likely to have been affected).
+
+ -- Joey Hess <joeyh@debian.org> Fri, 09 Mar 2012 20:05:09 -0400
+
+git-annex (3.20120230) unstable; urgency=low
+
+ * "here" can be used to refer to the current repository,
+ which can read better than the old "." (which still works too).
+ * Directory special remotes now support chunking files written to them,
+ avoiding writing files larger than a specified size.
+ * Add progress bar display to the directory special remote.
+ * Add configurable hooks that are run when git-annex starts and stops
+ using a remote: remote.name.annex-start-command and
+ remote.name.annex-stop-command
+ * Fix a bug in symlink calculation code, that triggered in rare
+ cases where an annexed file is in a subdirectory that nearly
+ matched to the .git/annex/object/xx/yy subdirectories.
+
+ -- Joey Hess <joeyh@debian.org> Mon, 05 Mar 2012 13:38:13 -0400
+
+git-annex (3.20120229) unstable; urgency=low
+
+ * Fix test suite to not require a unicode locale.
+ * Fix cabal build failure. Thanks, Sergei Trofimovich
+
+ -- Joey Hess <joeyh@debian.org> Wed, 29 Feb 2012 02:31:31 -0400
+
+git-annex (3.20120227) unstable; urgency=low
+
+ * Modifications to support ghc 7.4's handling of filenames.
+ This version can only be built with ghc 7.4 or newer. See the ghc7.0
+ branch for older ghcs.
+ * S3: Fix irrefutable pattern failure when accessing encrypted S3
+ credentials.
+ * Use the haskell IfElse library.
+ * Fix teardown of stale cached ssh connections.
+ * Fixed to use the strict state monad, to avoid leaking all kinds of memory
+ due to lazy state update thunks when adding/fixing many files.
+ * Fixed some memory leaks that occurred when committing journal files.
+ * Added a annex.queuesize setting, useful when adding hundreds of thousands
+ of files on a system with plenty of memory.
+ * whereis: Prints the urls of files that the web special remote knows about.
+ * addurl --fast: Verifies that the url can be downloaded (only getting
+ its head), and records the size in the key.
+ * When checking that an url has a key, verify that the Content-Length,
+ if available, matches the size of the key.
+ * addurl: Added a --file option, which can be used to specify what
+ file the url is added to. This can be used to override the default
+ filename that is used when adding an url, which is based on the url.
+ Or, when the file already exists, the url is recorded as another
+ location of the file.
+ * addurl: Normalize badly encoded urls.
+ * addurl: Add --pathdepth option.
+ * rekey: New plumbing level command, can be used to change the keys used
+ for files en masse.
+ * Store web special remote url info in a more efficient location.
+ (Urls stored with this version will not be visible to older versions.)
+ * Deal with NFS problem that caused a failure to remove a directory
+ when removing content from the annex.
+ * Make a single location log commit after a remote has received or
+ dropped files. Uses a new "git-annex-shell commit" command when available.
+ * To avoid commits of data to the git-annex branch after each command
+ is run, set annex.alwayscommit=false. Its data will then be committed
+ less frequently, when a merge or sync is done.
+ * configure: Check if ssh connection caching is supported by the installed
+ version of ssh and default annex.sshcaching accordingly.
+ * move --from, copy --from: Now 10 times faster when scanning to find
+ files in a remote on a local disk; rather than go through the location log
+ to see which files are present on the remote, it simply looks at the
+ disk contents directly.
+
+ -- Joey Hess <joeyh@debian.org> Mon, 27 Feb 2012 12:58:21 -0400
+
+git-annex (3.20120123) unstable; urgency=low
+
+ * fsck --from: Fscking a remote is now supported. It's done by retrieving
+ the contents of the specified files from the remote, and checking them,
+ so can be an expensive operation. Still, if the remote is a special
+ remote, or a git repository that you cannot run fsck in locally, it's
+ nice to have the ability to fsck it.
+ * If you have any directory special remotes, now would be a good time to
+ fsck them, in case you were hit by the data loss bug fixed in the
+ previous release!
+ * fsck --from remote --fast: Avoids expensive file transfers, at the
+ expense of not checking file size and/or contents.
+ * Ssh connection caching is now enabled automatically by git-annex.
+ Only one ssh connection is made to each host per git-annex run, which
+ can speed some things up a lot, as well as avoiding repeated password
+ prompts. Concurrent git-annex processes also share ssh connections.
+ Cached ssh connections are shut down when git-annex exits.
+ * To disable the ssh caching (if for example you have your own broader
+ ssh caching configuration), set annex.sshcaching=false.
+
+ -- Joey Hess <joeyh@debian.org> Mon, 23 Jan 2012 13:48:48 -0400
+
+git-annex (3.20120116) unstable; urgency=medium
+
+ * Fix data loss bug in directory special remote, when moving a file
+ to the remote failed, and partially transferred content was left
+ behind in the directory, re-running the same move would think it
+ succeeded and delete the local copy.
+
+ -- Joey Hess <joeyh@debian.org> Mon, 16 Jan 2012 16:43:45 -0400
+
+git-annex (3.20120115) unstable; urgency=low
+
+ * Add a sanity check for bad StatFS results. On architectures
+ where StatFS does not currently work (s390, mips, powerpc, sparc),
+ this disables the diskreserve checking code, and attempting to
+ configure an annex.diskreserve will result in an error.
+ * Fix QuickCheck dependency in cabal file.
+ * Minor optimisations.
+
+ -- Joey Hess <joeyh@debian.org> Sun, 15 Jan 2012 13:54:20 -0400
+
+git-annex (3.20120113) unstable; urgency=low
+
+ * log: Add --gource mode, which generates output usable by gource.
+ * map: Fix display of remote repos
+ * Add annex-trustlevel configuration settings, which can be used to
+ override the trust level of a remote.
+ * git-annex, git-union-merge: Support GIT_DIR and GIT_WORK_TREE.
+ * Add libghc-testpack-dev to build depends on all arches.
+
+ -- Joey Hess <joeyh@debian.org> Fri, 13 Jan 2012 15:35:17 -0400
+
+git-annex (3.20120106) unstable; urgency=low
+
+ * Support unescaped repository urls, like git does.
+ * log: New command that displays the location log for files,
+ showing each repository they were added to and removed from.
+ * Fix overbroad gpg --no-tty fix from last release.
+
+ -- Joey Hess <joeyh@debian.org> Sat, 07 Jan 2012 13:16:23 -0400
+
+git-annex (3.20120105) unstable; urgency=low
+
+ * Added annex-web-options configuration settings, which can be
+ used to provide parameters to whichever of wget or curl git-annex uses
+ (depends on which is available, but most of their important options
+ suitable for use here are the same).
+ * Dotfiles, and files inside dotdirs are not added by "git annex add"
+ unless the dotfile or directory is explicitly listed. So "git annex add ."
+ will add all untracked files in the current directory except for those in
+ dotdirs.
+ * Added quickcheck to build dependencies, and fail if test suite cannot be
+ built.
+ * fsck: Do backend-specific check before checking numcopies is satisfied.
+ * Run gpg with --no-tty. Closes: #654721
+
+ -- Joey Hess <joeyh@debian.org> Thu, 05 Jan 2012 13:44:12 -0400
+
+git-annex (3.20111231) unstable; urgency=low
+
+ * sync: Improved to work well without a central bare repository.
+ Thanks to Joachim Breitner.
+ * Rather than manually committing, pushing, pulling, merging, and git annex
+ merging, we encourage you to give "git annex sync" a try.
+ * sync --fast: Selects some of the remotes with the lowest annex.cost
+ and syncs those, in addition to any specified at the command line.
+ * Union merge now finds the least expensive way to represent the merge.
+ * reinject: Add a sanity check for using an annexed file as the source file.
+ * Properly handle multiline git config values.
+ * Fix the hook special remote, which bitrotted a while ago.
+ * map: --fast disables use of dot to display map
+ * Test suite improvements. Current top-level test coverage: 75%
+ * Improve deletion of files from rsync special remotes. Closes: #652849
+ * Add --include, which is the same as --not --exclude.
+ * Format strings can be specified using the new --format option, to control
+ what is output by git annex find.
+ * Support git annex find --json
+ * Fixed behavior when multiple insteadOf configs are provided for the
+ same url base.
+ * Can now be built with older git versions (before 1.7.7); the resulting
+ binary should only be used with old git.
+ * Updated to build with monad-control 0.3.
+
+ -- Joey Hess <joeyh@debian.org> Sat, 31 Dec 2011 14:55:29 -0400
+
+git-annex (3.20111211) unstable; urgency=medium
+
+ * Fix bug in last version in getting contents from bare repositories.
+ * Ensure that git-annex branch changes are merged into git-annex's index,
+ which fixes a bug that could cause changes that were pushed to the
+ git-annex branch to get reverted. As a side effect, it's now safe
+ for users to check out and commit changes directly to the git-annex
+ branch.
+ * map: Fix a failure to detect a loop when both repositories are local
+ and refer to each other with relative paths.
+ * Prevent key names from containing newlines.
+ * add: If interrupted, add can leave files converted to symlinks but not
+ yet added to git. Running the add again will now clean up this situtation.
+ * Fix caching of decrypted ciphers, which failed when drop had to check
+ multiple different encrypted special remotes.
+ * unannex: Can be run on files that have been added to the annex, but not
+ yet committed.
+ * sync: New command that synchronises the local repository and default
+ remote, by running git commit, pull, and push for you.
+ * Version monad-control dependency in cabal file.
+
+ -- Joey Hess <joeyh@debian.org> Sun, 11 Dec 2011 21:24:39 -0400
+
+git-annex (3.20111203) unstable; urgency=low
+
+ * The VFAT filesystem on recent versions of Linux, when mounted with
+ shortname=mixed, does not get along well with git-annex's mixed case
+ .git/annex/objects hash directories. To avoid this problem, new content
+ is now stored in all-lowercase hash directories. Except for non-bare
+ repositories which would be a pain to transition and cannot be put on FAT.
+ (Old mixed-case hash directories are still tried for backwards
+ compatibility.)
+ * Flush json output, avoiding a buffering problem that could result in
+ doubled output.
+ * Avoid needing haskell98 and other fixes for new ghc. Thanks, Mark Wright.
+ * Bugfix: dropunused did not drop keys with two spaces in their name.
+ * Support for storing .git/annex on a different device than the rest of the
+ git repository.
+ * --inbackend can be used to make git-annex only operate on files
+ whose content is stored using a specified key-value backend.
+ * dead: A command which says that a repository is gone for good
+ and you don't want git-annex to mention it again.
+
+ -- Joey Hess <joeyh@debian.org> Sat, 03 Dec 2011 21:01:45 -0400
+
+git-annex (3.20111122) unstable; urgency=low
+
+ * merge: Improve commit messages to mention what was merged.
+ * Avoid doing auto-merging in commands that don't need fully current
+ information from the git-annex branch. In particular, git annex add
+ no longer needs to auto-merge.
+ * init: When run in an already initalized repository, and without
+ a description specified, don't delete the old description.
+ * Optimised union merging; now only runs git cat-file once, and runs
+ in constant space.
+ * status: Now displays trusted, untrusted, and semitrusted repositories
+ separately.
+ * status: Include all special remotes in the list of repositories.
+ * status: Fix --json mode.
+ * status: --fast is back
+ * Fix support for insteadOf url remapping. Closes: #644278
+ * When not run in a git repository, git-annex can still display a usage
+ message, and "git annex version" even works.
+ * migrate: Don't fall over a stale temp file.
+ * Avoid excessive escaping for rsync special remotes that are not accessed
+ over ssh.
+ * find: Support --print0
+
+ -- Joey Hess <joeyh@debian.org> Tue, 22 Nov 2011 14:31:45 -0400
+
+git-annex (3.20111111) unstable; urgency=low
+
+ * Handle a case where an annexed file is moved into a gitignored directory,
+ by having fix --force add its change.
+ * Avoid cyclic drop problems.
+ * Optimized copy --from and get --from to avoid checking the location log
+ for files that are already present.
+ * Automatically fix up badly formatted uuid.log entries produced by
+ 3.20111105, whenever the uuid.log is changed (ie, by init or describe).
+ * map: Support remotes with /~/ and /~user/
+
+ -- Joey Hess <joeyh@debian.org> Fri, 11 Nov 2011 13:44:18 -0400
+
+git-annex (3.20111107) unstable; urgency=low
+
+ * merge: Use fast-forward merges when possible.
+ Thanks Valentin Haenel for a test case showing how non-fast-forward
+ merges could result in an ongoing pull/merge/push cycle.
+ * Don't try to read config from repos with annex-ignore set.
+ * Bugfix: In the past two releases, git-annex init has written the uuid.log
+ in the wrong format, with the UUID and description flipped.
+
+ -- Joey Hess <joeyh@debian.org> Mon, 07 Nov 2011 12:47:44 -0400
+
+git-annex (3.20111105) unstable; urgency=low
+
+ * The default backend used when adding files to the annex is changed
+ from WORM to SHA256.
+ To get old behavior, add a .gitattributes containing: * annex.backend=WORM
+ * Sped up some operations on remotes that are on the same host.
+ * copy --to: Fixed leak when copying many files to a remote on the same
+ host.
+ * uninit: Add guard against being run with the git-annex branch checked out.
+ * Fail if --from or --to is passed to commands that do not support them.
+ * drop --from is now supported to remove file content from a remote.
+ * status: Now always shows the current repository, even when it does not
+ appear in uuid.log.
+ * fsck: Now works in bare repositories. Checks location log information,
+ and file contents. Does not check that numcopies is satisfied, as
+ .gitattributes information about numcopies is not available in a bare
+ repository.
+ * unused, dropunused: Now work in bare repositories.
+ * Removed the setkey command, and added a reinject command with a more
+ useful interface.
+ * The fromkey command now takes the key as its first parameter. The --key
+ option is no longer used.
+ * Built without any filename containing .git being excluded. Closes: #647215
+ * Record uuid when auto-initializing a remote so it shows in status.
+ * Bugfix: Fixed git-annex init crash in a bare repository when there was
+ already an existing git-annex branch.
+ * Pass -t to rsync to preserve timestamps.
+
+ -- Joey Hess <joeyh@debian.org> Sat, 05 Nov 2011 15:47:52 -0400
+
+git-annex (3.20111025) unstable; urgency=low
+
+ * A remote can have a annexUrl configured, that is used by git-annex
+ instead of its usual url. (Similar to pushUrl.)
+ * migrate: Copy url logs for keys when migrating.
+ * git-annex-shell: GIT_ANNEX_SHELL_READONLY and GIT_ANNEX_SHELL_LIMITED
+ environment variables can be set to limit what commands can be run.
+ This is used by gitolite's new git-annex support!
+
+ -- Joey Hess <joeyh@debian.org> Tue, 25 Oct 2011 13:03:08 -0700
+
+git-annex (3.20111011) unstable; urgency=low
+
+ * This version of git-annex only works with git 1.7.7 and newer.
+ The breakage with old versions is subtle, and affects the
+ annex.numcopies settings in .gitattributes, so be sure to upgrade git
+ to 1.7.7. (Debian package now depends on that version.)
+ * Don't pass absolute paths to git show-attr, as it started following
+ symlinks when that's done in 1.7.7. Instead, use relative paths,
+ which show-attr only handles 100% correctly in 1.7.7. Closes: #645046
+ * Fix referring to remotes by uuid.
+ * New or changed repository descriptions in uuid.log now have a timestamp,
+ which is used to ensure the newest description is used when the uuid.log
+ has been merged.
+ * Note that older versions of git-annex will display the timestamp as part
+ of the repository description, which is ugly but otherwise harmless.
+ * Add timestamps to trust.log and remote.log too.
+ * git-annex-shell: Added the --uuid option.
+ * git-annex now asks git-annex-shell to verify that it's operating in
+ the expected repository.
+ * Note that this git-annex will not interoperate with remotes using
+ older versions of git-annex-shell.
+ * Now supports git's insteadOf configuration, to modify the url
+ used to access a remote. Note that pushInsteadOf is not used;
+ that and pushurl are reserved for actual git pushes. Closes: #644278
+ * status: List all known repositories.
+ * When displaying a list of repositories, show git remote names
+ in addition to their descriptions.
+ * Add locking to avoid races when changing the git-annex branch.
+ * Various speed improvements gained by using ByteStrings.
+ * Contain the zombie hordes.
+
+ -- Joey Hess <joeyh@debian.org> Tue, 11 Oct 2011 23:00:02 -0400
+
+git-annex (3.20110928) unstable; urgency=low
+
+ * --in can be used to make git-annex only operate on files
+ believed to be present in a given repository.
+ * Arbitrarily complex expressions can be built to limit the files git-annex
+ operates on, by combining the options --not --and --or -( and -)
+ Example: git annex get --exclude '*.mp3' --and --not -( --in usbdrive --or --in archive -)
+ * --copies=N can be used to make git-annex only operate on files with
+ the specified number of copies. (And --not --copies=N for the inverse.)
+ * find: Rather than only showing files whose contents are present,
+ when used with --exclude --copies or --in, displays all files that
+ match the specified conditions.
+ * Note that this is a behavior change for git-annex find! Old behavior
+ can be gotten by using: git-annex find --in .
+ * status: Massively sped up; remove --fast mode.
+ * unused: File contents used by branches and tags are no longer
+ considered unused, even when not used by the current branch. This is
+ the final piece of the puzzle needed for git-annex to to play nicely
+ with branches.
+
+ -- Joey Hess <joeyh@debian.org> Wed, 28 Sep 2011 18:14:02 -0400
+
+git-annex (3.20110915) unstable; urgency=low
+
+ * whereis: Show untrusted locations separately and do not include in
+ location count.
+ * Fix build without S3.
+ * addurl: Always use whole url as destination filename, rather than
+ only its file component.
+ * get, drop, copy: Added --auto option, which decides whether
+ to get/drop content as needed to work toward the configured numcopies.
+ * bugfix: drop and fsck did not honor --exclude
+
+ -- Joey Hess <joeyh@debian.org> Thu, 15 Sep 2011 22:25:46 -0400
+
+git-annex (3.20110906) unstable; urgency=low
+
+ * Improve display of newlines around error and warning messages.
+ * Fix Makefile to work with cabal again.
+
+ -- Joey Hess <joeyh@debian.org> Tue, 06 Sep 2011 13:45:16 -0400
+
+git-annex (3.20110902) unstable; urgency=low
+
+ * Set EMAIL when running test suite so that git does not need to be
+ configured first. Closes: #638998
+ * The wget command will now be used in preference to curl, if available.
+ * init: Make description an optional parameter.
+ * unused, status: Sped up by avoiding unnecessary stats of annexed files.
+ * unused --remote: Reduced memory use to 1/4th what was used before.
+ * Add --json switch, to produce machine-consumable output.
+
+ -- Joey Hess <joeyh@debian.org> Fri, 02 Sep 2011 21:20:37 -0400
+
+git-annex (3.20110819) unstable; urgency=low
+
+ * Now "git annex init" only has to be run once, when a git repository
+ is first being created. Clones will automatically notice that git-annex
+ is in use and automatically perform a basic initalization. It's
+ still recommended to run "git annex init" in any clones, to describe them.
+ * Added annex-cost-command configuration, which can be used to vary the
+ cost of a remote based on the output of a shell command.
+ * Fix broken upgrade from V1 repository. Closes: #638584
+
+ -- Joey Hess <joeyh@debian.org> Fri, 19 Aug 2011 20:34:09 -0400
+
+git-annex (3.20110817) unstable; urgency=low
+
+ * Fix shell escaping in rsync special remote.
+ * addurl: --fast can be used to avoid immediately downloading the url.
+ * Added support for getting content from git remotes using http (and https).
+ * Added curl to Debian package dependencies.
+
+ -- Joey Hess <joeyh@debian.org> Wed, 17 Aug 2011 01:29:02 -0400
+
+git-annex (3.20110719) unstable; urgency=low
+
+ * add: Be even more robust to avoid ever leaving the file seemingly deleted.
+ Closes: #634233
+ * Bugfix: Make add ../ work.
+ * Support the standard git -c name=value
+ * unannex: Clean up use of git commit -a.
+
+ -- Joey Hess <joeyh@debian.org> Tue, 19 Jul 2011 23:39:53 -0400
+
+git-annex (3.20110707) unstable; urgency=low
+
+ * Fix sign bug in disk free space checking.
+ * Bugfix: Forgot to de-escape keys when upgrading. Could result in
+ bad location log data for keys that contain [&:%] in their names.
+ (A workaround for this problem is to run git annex fsck.)
+ * add: Avoid a failure mode that resulted in the file seemingly being
+ deleted (content put in the annex but no symlink present).
+
+ -- Joey Hess <joeyh@debian.org> Thu, 07 Jul 2011 19:29:39 -0400
+
+git-annex (3.20110705) unstable; urgency=low
+
+ * uninit: Delete the git-annex branch and .git/annex/
+ * unannex: In --fast mode, file content is left in the annex, and a
+ hard link made to it.
+ * uninit: Use unannex in --fast mode, to support unannexing multiple
+ files that link to the same content.
+ * Drop the dependency on the haskell curl bindings, use regular haskell HTTP.
+ * Fix a pipeline stall when upgrading (caused by #624389).
+
+ -- Joey Hess <joeyh@debian.org> Tue, 05 Jul 2011 14:37:39 -0400
+
+git-annex (3.20110702) unstable; urgency=low
+
+ * Now the web can be used as a special remote.
+ This feature replaces the old URL backend.
+ * addurl: New command to download an url and store it in the annex.
+ * Sped back up fsck, copy --from, and other commands that often
+ have to read a lot of information from the git-annex branch. Such
+ commands are now faster than they were before introduction of the
+ git-annex branch.
+ * Always ensure git-annex branch exists.
+ * Modify location log parser to allow future expansion.
+ * --force will cause add, etc, to operate on ignored files.
+ * Avoid mangling encoding when storing the description of repository
+ and other content.
+ * cabal can now be used to build git-annex. This is substantially
+ slower than using make, does not build or install documentation,
+ does not run the test suite, and is not particularly recommended,
+ but could be useful to some.
+
+ -- Joey Hess <joeyh@debian.org> Sat, 02 Jul 2011 15:00:18 -0400
+
+git-annex (3.20110624) experimental; urgency=low
+
+ * New repository format, annex.version=3. Use `git annex upgrade` to migrate.
+ * git-annex now stores its logs in a git-annex branch.
+ * merge: New subcommand. Auto-merges the new git-annex branch.
+ * Improved handling of bare git repos with annexes. Many more commands will
+ work in them.
+ * git-annex is now more robust; it will never leave state files
+ uncommitted when some other git process comes along and locks the index
+ at an inconvenient time.
+ * rsync is now used when copying files from repos on other filesystems.
+ cp is still used when copying file from repos on the same filesystem,
+ since --reflink=auto can make it significantly faster on filesystems
+ such as btrfs.
+ * Allow --trust etc to specify a repository by name, for temporarily
+ trusting repositories that are not configured remotes.
+ * unlock: Made atomic.
+ * git-union-merge: New git subcommand, that does a generic union merge
+ operation, and operates efficiently without touching the working tree.
+
+ -- Joey Hess <joeyh@debian.org> Fri, 24 Jun 2011 14:32:18 -0400
+
+git-annex (0.20110610) unstable; urgency=low
+
+ * Add --numcopies option.
+ * Add --trust, --untrust, and --semitrust options.
+ * get --from is the same as copy --from
+ * Bugfix: Fix fsck to not think all SHAnE keys are bad.
+
+ -- Joey Hess <joeyh@debian.org> Fri, 10 Jun 2011 11:48:40 -0400
+
+git-annex (0.20110601) unstable; urgency=low
+
+ * Minor bugfixes and error message improvements.
+ * Massively sped up `git annex lock` by avoiding use of the uber-slow
+ `git reset`, and only running `git checkout` once, even when many files
+ are being locked.
+ * Fix locking of files with staged changes.
+ * Somewhat sped up `git commit` of modifications to unlocked files.
+ * Build fix for older ghc.
+
+ -- Joey Hess <joeyh@debian.org> Wed, 01 Jun 2011 11:50:47 -0400
+
+git-annex (0.20110522) unstable; urgency=low
+
+ * Closer emulation of git's behavior when told to use "foo/.git" as a
+ git repository instead of just "foo". Closes: #627563
+ * Fix bug in --exclude introduced in 0.20110516.
+
+ -- Joey Hess <joeyh@debian.org> Fri, 27 May 2011 20:20:41 -0400
+
+git-annex (0.20110521) unstable; urgency=low
+
+ * status: New subcommand to show info about an annex, including its size.
+ * --backend now overrides any backend configured in .gitattributes files.
+ * Add --debug option. Closes: #627499
+
+ -- Joey Hess <joeyh@debian.org> Sat, 21 May 2011 11:52:53 -0400
+
+git-annex (0.20110516) unstable; urgency=low
+
+ * Add a few tweaks to make it easy to use the Internet Archive's variant
+ of S3. In particular, munge key filenames to comply with the IA's filename
+ limits, disable encryption, support their nonstandard way of creating
+ buckets, and allow x-archive-* headers to be specified in initremote to
+ set item metadata.
+ * Added filename extension preserving variant backends SHA1E, SHA256E, etc.
+ * migrate: Use current filename when generating new key, for backends
+ where the filename affects the key name.
+ * Work around a bug in Network.URI's handling of bracketed ipv6 addresses.
+
+ -- Joey Hess <joeyh@debian.org> Mon, 16 May 2011 14:16:52 -0400
+
+git-annex (0.20110503) unstable; urgency=low
+
+ * Fix hasKeyCheap setting for bup and rsync special remotes.
+ * Add hook special remotes.
+ * Avoid crashing when an existing key is readded to the annex.
+ * unused: Now also lists files fsck places in .git/annex/bad/
+ * S3: When encryption is enabled, the Amazon S3 login credentials
+ are stored, encrypted, in .git-annex/remotes.log, so environment
+ variables need not be set after the remote is initialized.
+
+ -- Joey Hess <joeyh@debian.org> Tue, 03 May 2011 20:56:01 -0400
+
+git-annex (0.20110427) unstable; urgency=low
+
+ * Switch back to haskell SHA library, so git-annex remains buildable on
+ Debian stable.
+ * Added rsync special remotes. This could be used, for example, to
+ store annexed content on rsync.net (encrypted naturally). Or anywhere else.
+ * Bugfix: Avoid pipeline stall when running git annex drop or fsck on a
+ lot of files. Possibly only occured with ghc 7.
+
+ -- Joey Hess <joeyh@debian.org> Wed, 27 Apr 2011 22:50:26 -0400
+
+git-annex (0.20110425) unstable; urgency=low
+
+ * Use haskell Crypto library instead of haskell SHA library.
+ * Remove testpack from build depends for non x86 architectures where it
+ is not available. The test suite will not be run if it cannot be compiled.
+ * Avoid using absolute paths when staging location log, as that can
+ confuse git when a remote's path contains a symlink. Closes: #621386
+
+ -- Joey Hess <joeyh@debian.org> Mon, 25 Apr 2011 15:47:00 -0400
+
+git-annex (0.20110420) unstable; urgency=low
+
+ * Update Debian build dependencies for ghc 7.
+ * Debian package is now built with S3 support.
+ Thanks Joachim Breitner for making this possible.
+ * Somewhat improved memory usage of S3, still work to do.
+ Thanks Greg Heartsfield for ongoing work to improve the hS3 library
+ for git-annex.
+
+ -- Joey Hess <joeyh@debian.org> Thu, 21 Apr 2011 15:00:48 -0400
+
+git-annex (0.20110419) unstable; urgency=low
+
+ * Don't run gpg in batch mode, so it can prompt for passphrase when
+ there is no agent.
+ * Add missing build dep on dataenc.
+ * S3: Fix stalls when transferring encrypted data.
+ * bup: Avoid memory leak when transferring encrypted data.
+
+ -- Joey Hess <joeyh@debian.org> Tue, 19 Apr 2011 21:26:51 -0400
+
+git-annex (0.20110417) unstable; urgency=low
+
+ * bup is now supported as a special type of remote.
+ * The data sent to special remotes (Amazon S3, bup, etc) can be encrypted
+ using GPG for privacy.
+ * Use lowercase hash directories for locationlog files, to avoid
+ some issues with git on OSX with the mixed-case directories.
+ No migration is needed; the old mixed case hash directories are still
+ read; new information is written to the new directories.
+ * Unused files on remotes, particulary special remotes, can now be
+ identified and dropped, by using "--from remote" with git annex unused
+ and git annex dropunused.
+ * Clear up short option confusion between --from and --force (-f is now
+ --from, and there is no short option for --force).
+ * Add build depend on perlmagick so docs are consistently built.
+ Closes: #621410
+ * Add doc-base file. Closes: #621408
+ * Periodically flush git command queue, to avoid boating memory usage
+ too much.
+ * Support "sha1" and "sha512" commands on FreeBSD, and allow building
+ if any/all SHA commands are not available. Thanks, Fraser Tweedale
+
+ -- Joey Hess <joeyh@debian.org> Sun, 17 Apr 2011 12:00:24 -0400
+
+git-annex (0.20110401) experimental; urgency=low
+
+ * Amazon S3 is now supported as a special type of remote.
+ Warning: Encrypting data before sending it to S3 is not yet supported.
+ * Note that Amazon S3 support is not built in by default on Debian yet,
+ as hS3 is not packaged.
+ * fsck: Ensure that files and directories in .git/annex/objects
+ have proper permissions.
+ * Added a special type of remote called a directory remote, which
+ simply stores files in an arbitrary local directory.
+ * Bugfix: copy --to --fast never really copied, fixed.
+
+ -- Joey Hess <joeyh@debian.org> Fri, 01 Apr 2011 21:27:22 -0400
+
+git-annex (0.20110328) experimental; urgency=low
+
+ * annex.diskreserve can be given in arbitrary units (ie "0.5 gigabytes")
+ * Generalized remotes handling, laying groundwork for remotes that are
+ not regular git remotes. (Think Amazon S3.)
+ * Provide a less expensive version of `git annex copy --to`, enabled
+ via --fast. This assumes that location tracking information is correct,
+ rather than contacting the remote for every file.
+ * Bugfix: Keys could be received into v1 annexes from v2 annexes, via
+ v1 git-annex-shell. This results in some oddly named keys in the v1
+ annex. Recognise and fix those keys when upgrading, instead of crashing.
+
+ -- Joey Hess <joeyh@debian.org> Mon, 28 Mar 2011 10:47:29 -0400
+
+git-annex (0.20110325) experimental; urgency=low
+
+ * Free space checking is now done, for transfers of data for keys
+ that have free space metadata. (Notably, not for SHA* keys generated
+ with git-annex 0.2x or earlier.) The code is believed to work on
+ Linux, FreeBSD, and OSX; check compile-time messages to see if it
+ is not enabled for your OS.
+ * Add annex.diskreserve config setting, to control how much free space
+ to reserve for other purposes and avoid using (defaults to 1 mb).
+ * Add --fast flag, that can enable less expensive, but also less thorough
+ versions of some commands.
+ * fsck: In fast mode, avoid checking checksums.
+ * unused: In fast mode, just show all existing temp files as unused,
+ and avoid expensive scan for other unused content.
+ * migrate: Support migrating v1 SHA keys to v2 SHA keys with
+ size information that can be used for free space checking.
+ * Fix space leak in fsck and drop commands.
+ * migrate: Bugfix for case when migrating a file results in a key that
+ is already present in .git/annex/objects.
+ * dropunused: Significantly sped up; only read unused log file once.
+
+ -- Joey Hess <joeyh@debian.org> Fri, 25 Mar 2011 00:47:37 -0400
+
+git-annex (0.20110320) experimental; urgency=low
+
+ * Fix dropping of files using the URL backend.
+ * Fix support for remotes with '.' in their names.
+ * Add version command to show git-annex version as well as repository
+ version information.
+ * No longer auto-upgrade to repository format 2, to avoid accidental
+ upgrades, etc. Use git-annex upgrade when you're ready to run this
+ version.
+
+ -- Joey Hess <joeyh@debian.org> Sun, 20 Mar 2011 16:36:33 -0400
+
+git-annex (0.20110316) experimental; urgency=low
+
+ * New repository format, annex.version=2.
+ * The first time git-annex is run in an old format repository, it
+ will automatically upgrade it to the new format, staging all
+ necessary changes to git. Also added a "git annex upgrade" command.
+ * Colons are now avoided in filenames, so bare clones of git repos
+ can be put on USB thumb drives formatted with vFAT or similar
+ filesystems.
+ * Added two levels of hashing to object directory and .git-annex logs,
+ to improve scalability with enormous numbers of annexed
+ objects. (With one hundred million annexed objects, each
+ directory would contain fewer than 1024 files.)
+ * The setkey, fromkey, and dropkey subcommands have changed how
+ the key is specified. --backend is no longer used with these.
+
+ -- Joey Hess <joeyh@debian.org> Wed, 16 Mar 2011 16:20:23 -0400
+
+git-annex (0.24) unstable; urgency=low
+
+ Branched the 0.24 series, which will be maintained for a while to
+ support v1 git-annex repos, while main development moves to the 0.2011
+ series, with v2 git-annex repos.
+
+ * Add Suggests on graphviz. Closes: #618039
+ * When adding files to the annex, the symlinks pointing at the annexed
+ content are made to have the same mtime as the original file.
+ While git does not preserve that information, this allows a tool
+ like metastore to be used with annexed files.
+ (Currently this is only done on systems supporting POSIX 200809.)
+
+ -- Joey Hess <joeyh@debian.org> Wed, 16 Mar 2011 18:35:13 -0400
+
+git-annex (0.23) unstable; urgency=low
+
+ * Support ssh remotes with a port specified.
+ * whereis: New subcommand to show where a file's content has gotten to.
+ * Rethink filename encoding handling for display. Since filename encoding
+ may or may not match locale settings, any attempt to decode filenames
+ will fail for some files. So instead, do all output in binary mode.
+
+ -- Joey Hess <joeyh@debian.org> Sat, 12 Mar 2011 15:02:49 -0400
+
+git-annex (0.22) unstable; urgency=low
+
+ * Git annexes can now be attached to bare git repositories.
+ (Both the local and remote host must have this version of git-annex
+ installed for it to work.)
+ * Support filenames that start with a dash; when such a file is passed
+ to a utility it will be escaped to avoid it being interpreted as an
+ option. (I went a little overboard and got the type checker involved
+ in this, so such files are rather comprehensively supported now.)
+ * New backends: SHA512 SHA384 SHA256 SHA224
+ (Supported on systems where corresponding shaNsum commands are available.)
+ * describe: New subcommand that can set or change the description of
+ a repository.
+ * Fix test suite to reap zombies.
+ (Zombies can be particularly annoying on OSX; thanks to Jimmy Tang
+ for his help eliminating the infestation... for now.)
+ * Make test suite not rely on a working cp -pr.
+ (The Unix wars are still ON!)
+ * Look for dir.git directories the same as git does.
+ * Support remote urls specified as relative paths.
+ * Support non-ssh remote paths that contain tilde expansions.
+ * fsck: Check for and repair location log damage.
+ * Bugfix: When fsck detected and moved away corrupt file content, it did
+ not update the location log.
+
+ -- Joey Hess <joeyh@debian.org> Fri, 04 Mar 2011 15:10:57 -0400
+
+git-annex (0.21) unstable; urgency=low
+
+ * test: Don't rely on chmod -R working.
+ * unannex: Fix recently introduced bug when attempting to unannex more
+ than one file at a time.
+ * test: Set git user name and email in case git can't guess values.
+ * Fix display of unicode filenames.
+
+ -- Joey Hess <joeyh@debian.org> Fri, 11 Feb 2011 23:21:08 -0400
+
+git-annex (0.20) unstable; urgency=low
+
+ * Preserve specified file ordering when instructed to act on multiple
+ files or directories. For example, "git annex get a b" will now always
+ get "a" before "b". Previously it could operate in either order.
+ * unannex: Commit staged changes at end, to avoid some confusing behavior
+ with the pre-commit hook, which would see some types of commits after
+ an unannex as checking in of an unlocked file.
+ * map: New subcommand that uses graphviz to display a nice map of
+ the git repository network.
+ * Deal with the mtl/monads-fd conflict.
+ * configure: Check for sha1sum.
+
+ -- Joey Hess <joeyh@debian.org> Tue, 08 Feb 2011 18:57:24 -0400
+
+git-annex (0.19) unstable; urgency=low
+
+ * configure: Support using the uuidgen command if the uuid command is
+ not available.
+ * Allow --exclude to be specified more than once.
+ * There are now three levels of repository trust.
+ * untrust: Now marks the current repository as untrusted.
+ * semitrust: Now restores the default trust level. (What untrust used to do.)
+ * fsck, drop: Take untrusted repositories into account.
+ * Bugfix: Files were copied from trusted remotes first even if their
+ annex.cost was higher than other remotes.
+ * Improved temp file handling. Transfers of content can now be resumed
+ from temp files later; the resume does not have to be the immediate
+ next git-annex run.
+ * unused: Include partially transferred content in the list.
+ * Bugfix: Running a second git-annex while a first has a transfer in
+ progress no longer deletes the first processes's temp file.
+
+ -- Joey Hess <joeyh@debian.org> Fri, 28 Jan 2011 14:31:37 -0400
+
+git-annex (0.18) unstable; urgency=low
+
+ * Bugfix: `copy --to` and `move --to` forgot to stage location log changes
+ after transferring the file to the remote repository.
+ (Did not affect ssh remotes.)
+ * fsck: Fix bug in moving of corrupted files to .git/annex/bad/
+ * migrate: Fix support for --backend option.
+ * unlock: Fix behavior when file content is not present.
+ * Test suite improvements. Current top-level test coverage: 80%
+
+ -- Joey Hess <joeyh@debian.org> Fri, 14 Jan 2011 14:17:44 -0400
+
+git-annex (0.17) unstable; urgency=low
+
+ * unannex: Now skips files whose content is not present, rather than
+ it being an error.
+ * New migrate subcommand can be used to switch files to using a different
+ backend, safely and with no duplication of content.
+ * bugfix: Fix crash caused by empty key name. (Thanks Henrik for reporting.)
+
+ -- Joey Hess <joeyh@debian.org> Sun, 09 Jan 2011 10:04:11 -0400
+
+git-annex (0.16) unstable; urgency=low
+
+ * git-annex-shell: Avoid exposing any git repo config except for the
+ annex.uuid when doing configlist.
+ * bugfix: Running `move --to` with a remote whose UUID was not yet known
+ could result in git-annex not recording on the local side where the
+ file was moved to. This could not result in data loss, or even a
+ significant problem, since the remote *did* record that it had the file.
+ * Also, add a general guard to detect attempts to record information
+ about repositories with missing UUIDs.
+ * bugfix: Running `move --to` with a non-ssh remote failed.
+ * bugfix: Running `copy --to` with a non-ssh remote actually did a move.
+ * Many test suite improvements. Current top-level test coverage: 65%
+
+ -- Joey Hess <joeyh@debian.org> Fri, 07 Jan 2011 14:33:13 -0400
+
+git-annex (0.15) unstable; urgency=low
+
+ * Support scp-style urls for remotes (host:path).
+ * Support ssh urls containing "~".
+ * Add trust and untrust subcommands, to allow configuring repositories
+ that are trusted to retain files without explicit checking.
+ * Fix bug in numcopies handling when multiple remotes pointed to the
+ same repository.
+ * Introduce the git-annex-shell command. It's now possible to make
+ a user have it as a restricted login shell, similar to git-shell.
+ * Note that git-annex will always use git-annex-shell when accessing
+ a ssh remote, so all of your remotes need to be upgraded to this
+ version of git-annex at the same time.
+ * Now rsync is exclusively used for copying files to and from remotes.
+ scp is not longer supported.
+
+ -- Joey Hess <joeyh@debian.org> Fri, 31 Dec 2010 22:00:52 -0400
+
+git-annex (0.14) unstable; urgency=low
+
+ * Bugfix to git annex unused in a repository with nothing yet annexed.
+ * Support upgrading from a v0 annex with nothing in it.
+ * Avoid multiple calls to git ls-files when passed eg, "*".
+
+ -- Joey Hess <joeyh@debian.org> Fri, 24 Dec 2010 17:38:48 -0400
+
+git-annex (0.13) unstable; urgency=low
+
+ * Makefile: Install man page and html (when built).
+ * Makefile: Add GHCFLAGS variable.
+ * Fix upgrade from 0.03.
+ * Support remotes using git+ssh and ssh+git as protocol.
+ Closes: #607056
+
+ -- Joey Hess <joeyh@debian.org> Tue, 14 Dec 2010 13:05:10 -0400
+
+git-annex (0.12) unstable; urgency=low
+
+ * Add --exclude option to exclude files from processing.
+ * mwdn2man: Fix a bug in newline supression. Closes: #606578
+ * Bugfix to git annex add of an unlocked file in a subdir. Closes: #606579
+ * Makefile: Add PREFIX variable.
+
+ -- Joey Hess <joeyh@debian.org> Sat, 11 Dec 2010 17:32:00 -0400
+
+git-annex (0.11) unstable; urgency=low
+
+ * If available, rsync will be used for file transfers from remote
+ repositories. This allows resuming interrupted transfers.
+ * Added remote.annex-rsync-options.
+ * Avoid deleting temp files when rsync fails.
+ * Improve detection of version 0 repos.
+ * Add uninit subcommand. Closes: #605749
+
+ -- Joey Hess <joeyh@debian.org> Sat, 04 Dec 2010 17:27:42 -0400
+
+git-annex (0.10) unstable; urgency=low
+
+ * In .gitattributes, the annex.numcopies attribute can be used
+ to control the number of copies to retain of different types of files.
+ * Bugfix: Always correctly handle gitattributes when in a subdirectory of
+ the repository. (Had worked ok for ones like "*.mp3", but failed for
+ ones like "dir/*".)
+ * fsck: Fix warning about not enough copies of a file, when locations
+ are known, but are not available in currently configured remotes.
+ * precommit: Optimise to avoid calling git-check-attr more than once.
+ * The git-annex-backend attribute has been renamed to annex.backend.
+
+ -- Joey Hess <joeyh@debian.org> Sun, 28 Nov 2010 19:28:05 -0400
+
+git-annex (0.09) unstable; urgency=low
+
+ * Add copy subcommand.
+ * Fix bug in setkey subcommand triggered by move --to.
+
+ -- Joey Hess <joeyh@debian.org> Sat, 27 Nov 2010 17:14:59 -0400
+
+git-annex (0.08) unstable; urgency=low
+
+ * Fix `git annex add ../foo` (when ran in a subdir of the repo).
+ * Add configure step to build process.
+ * Only use cp -a if it is supported, falling back to cp -p or plain cp
+ as needed for portability.
+ * cp --reflink=auto is used if supported, and will make git annex unlock
+ much faster on filesystems like btrfs that support copy on write.
+
+ -- Joey Hess <joeyh@debian.org> Sun, 21 Nov 2010 13:45:44 -0400
+
+git-annex (0.07) unstable; urgency=low
+
+ * find: New subcommand.
+ * unused: New subcommand, finds unused data. (Split out from fsck.)
+ * dropunused: New subcommand, provides for easy dropping of unused keys
+ by number, as listed by the unused subcommand.
+ * fsck: Print warnings to stderr; --quiet can now be used to only see
+ problems.
+
+ -- Joey Hess <joeyh@debian.org> Mon, 15 Nov 2010 18:41:50 -0400
+
+git-annex (0.06) unstable; urgency=low
+
+ * fsck: Check if annex.numcopies is satisfied.
+ * fsck: Verify the sha1 of files when the SHA1 backend is used.
+ * fsck: Verify the size of files when the WORM backend is used.
+ * fsck: Allow specifying individual files if fscking everything
+ is not desired.
+ * fsck: Fix bug, introduced in 0.04, in detection of unused data.
+
+ -- Joey Hess <joeyh@debian.org> Sat, 13 Nov 2010 16:24:29 -0400
+
+git-annex (0.05) unstable; urgency=low
+
+ * Optimize both pre-commit and lock subcommands to not call git diff
+ on every file being committed/locked.
+ (This actually also works around a bug in ghc, that caused
+ git-annex 0.04 pre-commit to sometimes corrupt filename being read
+ from git ls-files and fail.
+ See <http://hackage.haskell.org/trac/ghc/ticket/4493>
+ The excessive number of calls made by pre-commit exposed the ghc bug.
+ Thanks Josh Triplett for the debugging.)
+ * Build with -O2.
+
+ -- Joey Hess <joeyh@debian.org> Thu, 11 Nov 2010 18:31:09 -0400
+
+git-annex (0.04) unstable; urgency=low
+
+ * Add unlock subcommand, which replaces the symlink with a copy of
+ the file's content in preparation of changing it. The "edit" subcommand
+ is an alias for unlock.
+ * Add lock subcommand.
+ * Unlocked files will now automatically be added back into the annex when
+ committed (and the updated symlink committed), by some magic in the
+ pre-commit hook.
+ * The SHA1 backend is now fully usable.
+ * Add annex.version, which will be used to automate upgrades
+ between incompatible versions.
+ * Reorganised the layout of .git/annex/
+ * The new layout will be automatically upgraded to the first time
+ git-annex is used in a repository with the old layout.
+ * Note that git-annex 0.04 cannot transfer content from old repositories
+ that have not yet been upgraded.
+ * Annexed file contents are now made unwritable and put in unwriteable
+ directories, to avoid them accidentially being removed or modified.
+ (Thanks Josh Triplett for the idea.)
+ * Add build dep on libghc6-testpack-dev. Closes: #603016
+ * Avoid using runghc to run test suite as it is not available on all
+ architectures. Closes: #603006
+
+ -- Joey Hess <joeyh@debian.org> Wed, 10 Nov 2010 14:23:23 -0400
+
+git-annex (0.03) unstable; urgency=low
+
+ * Fix support for file:// remotes.
+ * Add --verbose
+ * Fix SIGINT handling.
+ * Fix handling of files with unusual characters in their name.
+ * Fixed memory leak; git-annex no longer reads the whole file list
+ from git before starting, and will be much faster with large repos.
+ * Fix crash on unknown symlinks.
+ * Added remote.annex-scp-options and remote.annex-ssh-options.
+ * The backends to use when adding different sets of files can be configured
+ via gitattributes.
+ * In .gitattributes, the git-annex-backend attribute can be set to the
+ names of backends to use when adding different types of files.
+ * Add fsck subcommand. (For now it only finds unused key contents in the
+ annex.)
+
+ -- Joey Hess <joeyh@debian.org> Sun, 07 Nov 2010 18:26:04 -0400
+
+git-annex (0.02) unstable; urgency=low
+
+ * Can scp annexed files from remote hosts, and check remote hosts for
+ file content when dropping files.
+ * New move subcommand, that makes it easy to move file contents from
+ or to a remote.
+ * New fromkey subcommand, for registering urls, etc.
+ * git-annex init will now set up a pre-commit hook that fixes up symlinks
+ before they are committed, to ensure that moving symlinks around does not
+ break them.
+ * More intelligent and fast staging of modified files; git add coalescing.
+ * Add remote.annex-ignore git config setting to allow completly disabling
+ a given remote.
+ * --from/--to can be used to control the remote repository that git-annex
+ uses.
+ * --quiet can be used to avoid verbose output
+ * New plumbing-level dropkey and addkey subcommands.
+ * Lots of bug fixes.
+
+ -- Joey Hess <joeyh@debian.org> Wed, 27 Oct 2010 16:39:29 -0400
+
+git-annex (0.01) unstable; urgency=low
+
+ * First prerelease.
+
+ -- Joey Hess <joeyh@debian.org> Wed, 20 Oct 2010 12:54:24 -0400
diff --git a/COPYRIGHT b/COPYRIGHT
index 9060ce820..6620962b6 120000..100644
--- a/COPYRIGHT
+++ b/COPYRIGHT
@@ -1 +1,786 @@
-debian/copyright \ No newline at end of file
+Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
+Source: native package
+
+Files: *
+Copyright: © 2010-2016 Joey Hess <id@joeyh.name>
+License: GPL-3+
+
+Files: Assistant/WebApp.hs Assistant/WebApp/* templates/* static/*
+Copyright: © 2012-2016 Joey Hess <id@joeyh.name>
+ © 2014 Sören Brunk
+License: AGPL-3+
+
+Files: Remote/Ddar.hs
+Copyright: © 2011 Joey Hess <id@joeyh.name>
+ © 2014 Robie Basak <robie@justgohome.co.uk>
+License: GPL-3+
+
+Files: Utility/ThreadScheduler.hs
+Copyright: 2011 Bas van Dijk & Roel van Dijk
+ 2012, 2013 Joey Hess <id@joeyh.name>
+License: BSD-2-clause
+
+Files: Utility/*
+Copyright: 2012-2016 Joey Hess <id@joeyh.name>
+License: BSD-2-clause
+
+Files: Utility/Gpg.hs Utility/DirWatcher*
+Copyright: © 2010-2014 Joey Hess <id@joeyh.name>
+License: GPL-3+
+
+Files: doc/logo* */favicon.ico standalone/osx/git-annex.app/Contents/Resources/git-annex.icns standalone/android/icons/*
+Copyright: 2007 Henrik Nyh <http://henrik.nyh.se/>
+ 2010 Joey Hess <id@joeyh.name>
+ 2013 John Lawrence
+License: other
+ Free to modify and redistribute with due credit, and obviously free to use.
+
+Files: Annex/DirHashes.hs
+Copyright: 2001 Ian Lynagh
+ 2010-2015 Joey Hess <id@joeyh.name>
+License: GPL-3+
+
+Files: doc/tips/automatically_adding_metadata/pre-commit-annex
+Copyright: 2014 Joey Hess <id@joeyh.name>
+ 2016 Klaus Ethgen <Klaus@Ethgen.ch>
+License: GPL-3+
+
+Files: static/jquery*
+Copyright: © 2005-2011 by John Resig, Branden Aaron & Jörn Zaefferer
+ © 2011 The Dojo Foundation
+License: MIT or GPL-2
+ The full text of version 2 of the GPL is distributed in
+ /usr/share/common-licenses/GPL-2 on Debian systems. The text of the MIT
+ license follows:
+ .
+ Permission is hereby granted, free of charge, to any person obtaining
+ a copy of this software and associated documentation files (the
+ "Software"), to deal in the Software without restriction, including
+ without limitation the rights to use, copy, modify, merge, publish,
+ distribute, sublicense, and/or sell copies of the Software, and to
+ permit persons to whom the Software is furnished to do so, subject to
+ the following conditions:
+ .
+ The above copyright notice and this permission notice shall be
+ included in all copies or substantial portions of the Software.
+ .
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Files: static/*/bootstrap* static/*/glyphicons-halflings*
+Copyright: 2012-2014 Twitter, Inc.
+License: MIT-twitter
+ Copyright (c) 2011-2014 Twitter, Inc
+ .
+ Permission is hereby granted, free of charge, to any person obtaining a copy
+ of this software and associated documentation files (the "Software"), to deal
+ in the Software without restriction, including without limitation the rights
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ copies of the Software, and to permit persons to whom the Software is
+ furnished to do so, subject to the following conditions:
+ .
+ The above copyright notice and this permission notice shall be included in
+ all copies or substantial portions of the Software.
+ .
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ THE SOFTWARE.
+
+License: GPL-3+
+ The full text of version 3 of the GPL is distributed as doc/license/GPL in
+ this package's source, or in /usr/share/common-licenses/GPL-3 on
+ Debian systems.
+
+License: BSD-2-clause
+ Redistribution and use in source and binary forms, with or without
+ modification, are permitted provided that the following conditions
+ are met:
+ 1. Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+ 2. Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
+ .
+ THIS SOFTWARE IS PROVIDED BY AUTHORS AND CONTRIBUTORS ``AS IS'' AND
+ ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS OR CONTRIBUTORS BE LIABLE
+ FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ SUCH DAMAGE.
+
+License: AGPL-3+
+ GNU AFFERO GENERAL PUBLIC LICENSE
+ Version 3, 19 November 2007
+ .
+ Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+ .
+ Preamble
+ .
+ The GNU Affero General Public License is a free, copyleft license for
+ software and other kinds of works, specifically designed to ensure
+ cooperation with the community in the case of network server software.
+ .
+ The licenses for most software and other practical works are designed
+ to take away your freedom to share and change the works. By contrast,
+ our General Public Licenses are intended to guarantee your freedom to
+ share and change all versions of a program--to make sure it remains free
+ software for all its users.
+ .
+ When we speak of free software, we are referring to freedom, not
+ price. Our General Public Licenses are designed to make sure that you
+ have the freedom to distribute copies of free software (and charge for
+ them if you wish), that you receive source code or can get it if you
+ want it, that you can change the software or use pieces of it in new
+ free programs, and that you know you can do these things.
+ .
+ Developers that use our General Public Licenses protect your rights
+ with two steps: (1) assert copyright on the software, and (2) offer
+ you this License which gives you legal permission to copy, distribute
+ and/or modify the software.
+ .
+ A secondary benefit of defending all users' freedom is that
+ improvements made in alternate versions of the program, if they
+ receive widespread use, become available for other developers to
+ incorporate. Many developers of free software are heartened and
+ encouraged by the resulting cooperation. However, in the case of
+ software used on network servers, this result may fail to come about.
+ The GNU General Public License permits making a modified version and
+ letting the public access it on a server without ever releasing its
+ source code to the public.
+ .
+ The GNU Affero General Public License is designed specifically to
+ ensure that, in such cases, the modified source code becomes available
+ to the community. It requires the operator of a network server to
+ provide the source code of the modified version running there to the
+ users of that server. Therefore, public use of a modified version, on
+ a publicly accessible server, gives the public access to the source
+ code of the modified version.
+ .
+ An older license, called the Affero General Public License and
+ published by Affero, was designed to accomplish similar goals. This is
+ a different license, not a version of the Affero GPL, but Affero has
+ released a new version of the Affero GPL which permits relicensing under
+ this license.
+ .
+ The precise terms and conditions for copying, distribution and
+ modification follow.
+ .
+ TERMS AND CONDITIONS
+ .
+ 0. Definitions.
+ .
+ "This License" refers to version 3 of the GNU Affero General Public License.
+ .
+ "Copyright" also means copyright-like laws that apply to other kinds of
+ works, such as semiconductor masks.
+ .
+ "The Program" refers to any copyrightable work licensed under this
+ License. Each licensee is addressed as "you". "Licensees" and
+ "recipients" may be individuals or organizations.
+ .
+ To "modify" a work means to copy from or adapt all or part of the work
+ in a fashion requiring copyright permission, other than the making of an
+ exact copy. The resulting work is called a "modified version" of the
+ earlier work or a work "based on" the earlier work.
+ .
+ A "covered work" means either the unmodified Program or a work based
+ on the Program.
+ .
+ To "propagate" a work means to do anything with it that, without
+ permission, would make you directly or secondarily liable for
+ infringement under applicable copyright law, except executing it on a
+ computer or modifying a private copy. Propagation includes copying,
+ distribution (with or without modification), making available to the
+ public, and in some countries other activities as well.
+ .
+ To "convey" a work means any kind of propagation that enables other
+ parties to make or receive copies. Mere interaction with a user through
+ a computer network, with no transfer of a copy, is not conveying.
+ .
+ An interactive user interface displays "Appropriate Legal Notices"
+ to the extent that it includes a convenient and prominently visible
+ feature that (1) displays an appropriate copyright notice, and (2)
+ tells the user that there is no warranty for the work (except to the
+ extent that warranties are provided), that licensees may convey the
+ work under this License, and how to view a copy of this License. If
+ the interface presents a list of user commands or options, such as a
+ menu, a prominent item in the list meets this criterion.
+ .
+ 1. Source Code.
+ .
+ The "source code" for a work means the preferred form of the work
+ for making modifications to it. "Object code" means any non-source
+ form of a work.
+ .
+ A "Standard Interface" means an interface that either is an official
+ standard defined by a recognized standards body, or, in the case of
+ interfaces specified for a particular programming language, one that
+ is widely used among developers working in that language.
+ .
+ The "System Libraries" of an executable work include anything, other
+ than the work as a whole, that (a) is included in the normal form of
+ packaging a Major Component, but which is not part of that Major
+ Component, and (b) serves only to enable use of the work with that
+ Major Component, or to implement a Standard Interface for which an
+ implementation is available to the public in source code form. A
+ "Major Component", in this context, means a major essential component
+ (kernel, window system, and so on) of the specific operating system
+ (if any) on which the executable work runs, or a compiler used to
+ produce the work, or an object code interpreter used to run it.
+ .
+ The "Corresponding Source" for a work in object code form means all
+ the source code needed to generate, install, and (for an executable
+ work) run the object code and to modify the work, including scripts to
+ control those activities. However, it does not include the work's
+ System Libraries, or general-purpose tools or generally available free
+ programs which are used unmodified in performing those activities but
+ which are not part of the work. For example, Corresponding Source
+ includes interface definition files associated with source files for
+ the work, and the source code for shared libraries and dynamically
+ linked subprograms that the work is specifically designed to require,
+ such as by intimate data communication or control flow between those
+ subprograms and other parts of the work.
+ .
+ The Corresponding Source need not include anything that users
+ can regenerate automatically from other parts of the Corresponding
+ Source.
+ .
+ The Corresponding Source for a work in source code form is that
+ same work.
+ .
+ 2. Basic Permissions.
+ .
+ All rights granted under this License are granted for the term of
+ copyright on the Program, and are irrevocable provided the stated
+ conditions are met. This License explicitly affirms your unlimited
+ permission to run the unmodified Program. The output from running a
+ covered work is covered by this License only if the output, given its
+ content, constitutes a covered work. This License acknowledges your
+ rights of fair use or other equivalent, as provided by copyright law.
+ .
+ You may make, run and propagate covered works that you do not
+ convey, without conditions so long as your license otherwise remains
+ in force. You may convey covered works to others for the sole purpose
+ of having them make modifications exclusively for you, or provide you
+ with facilities for running those works, provided that you comply with
+ the terms of this License in conveying all material for which you do
+ not control copyright. Those thus making or running the covered works
+ for you must do so exclusively on your behalf, under your direction
+ and control, on terms that prohibit them from making any copies of
+ your copyrighted material outside their relationship with you.
+ .
+ Conveying under any other circumstances is permitted solely under
+ the conditions stated below. Sublicensing is not allowed; section 10
+ makes it unnecessary.
+ .
+ 3. Protecting Users' Legal Rights From Anti-Circumvention Law.
+ .
+ No covered work shall be deemed part of an effective technological
+ measure under any applicable law fulfilling obligations under article
+ 11 of the WIPO copyright treaty adopted on 20 December 1996, or
+ similar laws prohibiting or restricting circumvention of such
+ measures.
+ .
+ When you convey a covered work, you waive any legal power to forbid
+ circumvention of technological measures to the extent such circumvention
+ is effected by exercising rights under this License with respect to
+ the covered work, and you disclaim any intention to limit operation or
+ modification of the work as a means of enforcing, against the work's
+ users, your or third parties' legal rights to forbid circumvention of
+ technological measures.
+ .
+ 4. Conveying Verbatim Copies.
+ .
+ You may convey verbatim copies of the Program's source code as you
+ receive it, in any medium, provided that you conspicuously and
+ appropriately publish on each copy an appropriate copyright notice;
+ keep intact all notices stating that this License and any
+ non-permissive terms added in accord with section 7 apply to the code;
+ keep intact all notices of the absence of any warranty; and give all
+ recipients a copy of this License along with the Program.
+ .
+ You may charge any price or no price for each copy that you convey,
+ and you may offer support or warranty protection for a fee.
+ .
+ 5. Conveying Modified Source Versions.
+ .
+ You may convey a work based on the Program, or the modifications to
+ produce it from the Program, in the form of source code under the
+ terms of section 4, provided that you also meet all of these conditions:
+ .
+ a) The work must carry prominent notices stating that you modified
+ it, and giving a relevant date.
+ .
+ b) The work must carry prominent notices stating that it is
+ released under this License and any conditions added under section
+ 7. This requirement modifies the requirement in section 4 to
+ "keep intact all notices".
+ .
+ c) You must license the entire work, as a whole, under this
+ License to anyone who comes into possession of a copy. This
+ License will therefore apply, along with any applicable section 7
+ additional terms, to the whole of the work, and all its parts,
+ regardless of how they are packaged. This License gives no
+ permission to license the work in any other way, but it does not
+ invalidate such permission if you have separately received it.
+ .
+ d) If the work has interactive user interfaces, each must display
+ Appropriate Legal Notices; however, if the Program has interactive
+ interfaces that do not display Appropriate Legal Notices, your
+ work need not make them do so.
+ .
+ A compilation of a covered work with other separate and independent
+ works, which are not by their nature extensions of the covered work,
+ and which are not combined with it such as to form a larger program,
+ in or on a volume of a storage or distribution medium, is called an
+ "aggregate" if the compilation and its resulting copyright are not
+ used to limit the access or legal rights of the compilation's users
+ beyond what the individual works permit. Inclusion of a covered work
+ in an aggregate does not cause this License to apply to the other
+ parts of the aggregate.
+ .
+ 6. Conveying Non-Source Forms.
+ .
+ You may convey a covered work in object code form under the terms
+ of sections 4 and 5, provided that you also convey the
+ machine-readable Corresponding Source under the terms of this License,
+ in one of these ways:
+ .
+ a) Convey the object code in, or embodied in, a physical product
+ (including a physical distribution medium), accompanied by the
+ Corresponding Source fixed on a durable physical medium
+ customarily used for software interchange.
+ .
+ b) Convey the object code in, or embodied in, a physical product
+ (including a physical distribution medium), accompanied by a
+ written offer, valid for at least three years and valid for as
+ long as you offer spare parts or customer support for that product
+ model, to give anyone who possesses the object code either (1) a
+ copy of the Corresponding Source for all the software in the
+ product that is covered by this License, on a durable physical
+ medium customarily used for software interchange, for a price no
+ more than your reasonable cost of physically performing this
+ conveying of source, or (2) access to copy the
+ Corresponding Source from a network server at no charge.
+ .
+ c) Convey individual copies of the object code with a copy of the
+ written offer to provide the Corresponding Source. This
+ alternative is allowed only occasionally and noncommercially, and
+ only if you received the object code with such an offer, in accord
+ with subsection 6b.
+ .
+ d) Convey the object code by offering access from a designated
+ place (gratis or for a charge), and offer equivalent access to the
+ Corresponding Source in the same way through the same place at no
+ further charge. You need not require recipients to copy the
+ Corresponding Source along with the object code. If the place to
+ copy the object code is a network server, the Corresponding Source
+ may be on a different server (operated by you or a third party)
+ that supports equivalent copying facilities, provided you maintain
+ clear directions next to the object code saying where to find the
+ Corresponding Source. Regardless of what server hosts the
+ Corresponding Source, you remain obligated to ensure that it is
+ available for as long as needed to satisfy these requirements.
+ .
+ e) Convey the object code using peer-to-peer transmission, provided
+ you inform other peers where the object code and Corresponding
+ Source of the work are being offered to the general public at no
+ charge under subsection 6d.
+ .
+ A separable portion of the object code, whose source code is excluded
+ from the Corresponding Source as a System Library, need not be
+ included in conveying the object code work.
+ .
+ A "User Product" is either (1) a "consumer product", which means any
+ tangible personal property which is normally used for personal, family,
+ or household purposes, or (2) anything designed or sold for incorporation
+ into a dwelling. In determining whether a product is a consumer product,
+ doubtful cases shall be resolved in favor of coverage. For a particular
+ product received by a particular user, "normally used" refers to a
+ typical or common use of that class of product, regardless of the status
+ of the particular user or of the way in which the particular user
+ actually uses, or expects or is expected to use, the product. A product
+ is a consumer product regardless of whether the product has substantial
+ commercial, industrial or non-consumer uses, unless such uses represent
+ the only significant mode of use of the product.
+ .
+ "Installation Information" for a User Product means any methods,
+ procedures, authorization keys, or other information required to install
+ and execute modified versions of a covered work in that User Product from
+ a modified version of its Corresponding Source. The information must
+ suffice to ensure that the continued functioning of the modified object
+ code is in no case prevented or interfered with solely because
+ modification has been made.
+ .
+ If you convey an object code work under this section in, or with, or
+ specifically for use in, a User Product, and the conveying occurs as
+ part of a transaction in which the right of possession and use of the
+ User Product is transferred to the recipient in perpetuity or for a
+ fixed term (regardless of how the transaction is characterized), the
+ Corresponding Source conveyed under this section must be accompanied
+ by the Installation Information. But this requirement does not apply
+ if neither you nor any third party retains the ability to install
+ modified object code on the User Product (for example, the work has
+ been installed in ROM).
+ .
+ The requirement to provide Installation Information does not include a
+ requirement to continue to provide support service, warranty, or updates
+ for a work that has been modified or installed by the recipient, or for
+ the User Product in which it has been modified or installed. Access to a
+ network may be denied when the modification itself materially and
+ adversely affects the operation of the network or violates the rules and
+ protocols for communication across the network.
+ .
+ Corresponding Source conveyed, and Installation Information provided,
+ in accord with this section must be in a format that is publicly
+ documented (and with an implementation available to the public in
+ source code form), and must require no special password or key for
+ unpacking, reading or copying.
+ .
+ 7. Additional Terms.
+ .
+ "Additional permissions" are terms that supplement the terms of this
+ License by making exceptions from one or more of its conditions.
+ Additional permissions that are applicable to the entire Program shall
+ be treated as though they were included in this License, to the extent
+ that they are valid under applicable law. If additional permissions
+ apply only to part of the Program, that part may be used separately
+ under those permissions, but the entire Program remains governed by
+ this License without regard to the additional permissions.
+ .
+ When you convey a copy of a covered work, you may at your option
+ remove any additional permissions from that copy, or from any part of
+ it. (Additional permissions may be written to require their own
+ removal in certain cases when you modify the work.) You may place
+ additional permissions on material, added by you to a covered work,
+ for which you have or can give appropriate copyright permission.
+ .
+ Notwithstanding any other provision of this License, for material you
+ add to a covered work, you may (if authorized by the copyright holders of
+ that material) supplement the terms of this License with terms:
+ .
+ a) Disclaiming warranty or limiting liability differently from the
+ terms of sections 15 and 16 of this License; or
+ .
+ b) Requiring preservation of specified reasonable legal notices or
+ author attributions in that material or in the Appropriate Legal
+ Notices displayed by works containing it; or
+ .
+ c) Prohibiting misrepresentation of the origin of that material, or
+ requiring that modified versions of such material be marked in
+ reasonable ways as different from the original version; or
+ .
+ d) Limiting the use for publicity purposes of names of licensors or
+ authors of the material; or
+ .
+ e) Declining to grant rights under trademark law for use of some
+ trade names, trademarks, or service marks; or
+ .
+ f) Requiring indemnification of licensors and authors of that
+ material by anyone who conveys the material (or modified versions of
+ it) with contractual assumptions of liability to the recipient, for
+ any liability that these contractual assumptions directly impose on
+ those licensors and authors.
+ .
+ All other non-permissive additional terms are considered "further
+ restrictions" within the meaning of section 10. If the Program as you
+ received it, or any part of it, contains a notice stating that it is
+ governed by this License along with a term that is a further
+ restriction, you may remove that term. If a license document contains
+ a further restriction but permits relicensing or conveying under this
+ License, you may add to a covered work material governed by the terms
+ of that license document, provided that the further restriction does
+ not survive such relicensing or conveying.
+ .
+ If you add terms to a covered work in accord with this section, you
+ must place, in the relevant source files, a statement of the
+ additional terms that apply to those files, or a notice indicating
+ where to find the applicable terms.
+ .
+ Additional terms, permissive or non-permissive, may be stated in the
+ form of a separately written license, or stated as exceptions;
+ the above requirements apply either way.
+ .
+ 8. Termination.
+ .
+ You may not propagate or modify a covered work except as expressly
+ provided under this License. Any attempt otherwise to propagate or
+ modify it is void, and will automatically terminate your rights under
+ this License (including any patent licenses granted under the third
+ paragraph of section 11).
+ .
+ However, if you cease all violation of this License, then your
+ license from a particular copyright holder is reinstated (a)
+ provisionally, unless and until the copyright holder explicitly and
+ finally terminates your license, and (b) permanently, if the copyright
+ holder fails to notify you of the violation by some reasonable means
+ prior to 60 days after the cessation.
+ .
+ Moreover, your license from a particular copyright holder is
+ reinstated permanently if the copyright holder notifies you of the
+ violation by some reasonable means, this is the first time you have
+ received notice of violation of this License (for any work) from that
+ copyright holder, and you cure the violation prior to 30 days after
+ your receipt of the notice.
+ .
+ Termination of your rights under this section does not terminate the
+ licenses of parties who have received copies or rights from you under
+ this License. If your rights have been terminated and not permanently
+ reinstated, you do not qualify to receive new licenses for the same
+ material under section 10.
+ .
+ 9. Acceptance Not Required for Having Copies.
+ .
+ You are not required to accept this License in order to receive or
+ run a copy of the Program. Ancillary propagation of a covered work
+ occurring solely as a consequence of using peer-to-peer transmission
+ to receive a copy likewise does not require acceptance. However,
+ nothing other than this License grants you permission to propagate or
+ modify any covered work. These actions infringe copyright if you do
+ not accept this License. Therefore, by modifying or propagating a
+ covered work, you indicate your acceptance of this License to do so.
+ .
+ 10. Automatic Licensing of Downstream Recipients.
+ .
+ Each time you convey a covered work, the recipient automatically
+ receives a license from the original licensors, to run, modify and
+ propagate that work, subject to this License. You are not responsible
+ for enforcing compliance by third parties with this License.
+ .
+ An "entity transaction" is a transaction transferring control of an
+ organization, or substantially all assets of one, or subdividing an
+ organization, or merging organizations. If propagation of a covered
+ work results from an entity transaction, each party to that
+ transaction who receives a copy of the work also receives whatever
+ licenses to the work the party's predecessor in interest had or could
+ give under the previous paragraph, plus a right to possession of the
+ Corresponding Source of the work from the predecessor in interest, if
+ the predecessor has it or can get it with reasonable efforts.
+ .
+ You may not impose any further restrictions on the exercise of the
+ rights granted or affirmed under this License. For example, you may
+ not impose a license fee, royalty, or other charge for exercise of
+ rights granted under this License, and you may not initiate litigation
+ (including a cross-claim or counterclaim in a lawsuit) alleging that
+ any patent claim is infringed by making, using, selling, offering for
+ sale, or importing the Program or any portion of it.
+ .
+ 11. Patents.
+ .
+ A "contributor" is a copyright holder who authorizes use under this
+ License of the Program or a work on which the Program is based. The
+ work thus licensed is called the contributor's "contributor version".
+ .
+ A contributor's "essential patent claims" are all patent claims
+ owned or controlled by the contributor, whether already acquired or
+ hereafter acquired, that would be infringed by some manner, permitted
+ by this License, of making, using, or selling its contributor version,
+ but do not include claims that would be infringed only as a
+ consequence of further modification of the contributor version. For
+ purposes of this definition, "control" includes the right to grant
+ patent sublicenses in a manner consistent with the requirements of
+ this License.
+ .
+ Each contributor grants you a non-exclusive, worldwide, royalty-free
+ patent license under the contributor's essential patent claims, to
+ make, use, sell, offer for sale, import and otherwise run, modify and
+ propagate the contents of its contributor version.
+ .
+ In the following three paragraphs, a "patent license" is any express
+ agreement or commitment, however denominated, not to enforce a patent
+ (such as an express permission to practice a patent or covenant not to
+ sue for patent infringement). To "grant" such a patent license to a
+ party means to make such an agreement or commitment not to enforce a
+ patent against the party.
+ .
+ If you convey a covered work, knowingly relying on a patent license,
+ and the Corresponding Source of the work is not available for anyone
+ to copy, free of charge and under the terms of this License, through a
+ publicly available network server or other readily accessible means,
+ then you must either (1) cause the Corresponding Source to be so
+ available, or (2) arrange to deprive yourself of the benefit of the
+ patent license for this particular work, or (3) arrange, in a manner
+ consistent with the requirements of this License, to extend the patent
+ license to downstream recipients. "Knowingly relying" means you have
+ actual knowledge that, but for the patent license, your conveying the
+ covered work in a country, or your recipient's use of the covered work
+ in a country, would infringe one or more identifiable patents in that
+ country that you have reason to believe are valid.
+ .
+ If, pursuant to or in connection with a single transaction or
+ arrangement, you convey, or propagate by procuring conveyance of, a
+ covered work, and grant a patent license to some of the parties
+ receiving the covered work authorizing them to use, propagate, modify
+ or convey a specific copy of the covered work, then the patent license
+ you grant is automatically extended to all recipients of the covered
+ work and works based on it.
+ .
+ A patent license is "discriminatory" if it does not include within
+ the scope of its coverage, prohibits the exercise of, or is
+ conditioned on the non-exercise of one or more of the rights that are
+ specifically granted under this License. You may not convey a covered
+ work if you are a party to an arrangement with a third party that is
+ in the business of distributing software, under which you make payment
+ to the third party based on the extent of your activity of conveying
+ the work, and under which the third party grants, to any of the
+ parties who would receive the covered work from you, a discriminatory
+ patent license (a) in connection with copies of the covered work
+ conveyed by you (or copies made from those copies), or (b) primarily
+ for and in connection with specific products or compilations that
+ contain the covered work, unless you entered into that arrangement,
+ or that patent license was granted, prior to 28 March 2007.
+ .
+ Nothing in this License shall be construed as excluding or limiting
+ any implied license or other defenses to infringement that may
+ otherwise be available to you under applicable patent law.
+ .
+ 12. No Surrender of Others' Freedom.
+ .
+ If conditions are imposed on you (whether by court order, agreement or
+ otherwise) that contradict the conditions of this License, they do not
+ excuse you from the conditions of this License. If you cannot convey a
+ covered work so as to satisfy simultaneously your obligations under this
+ License and any other pertinent obligations, then as a consequence you may
+ not convey it at all. For example, if you agree to terms that obligate you
+ to collect a royalty for further conveying from those to whom you convey
+ the Program, the only way you could satisfy both those terms and this
+ License would be to refrain entirely from conveying the Program.
+ .
+ 13. Remote Network Interaction; Use with the GNU General Public License.
+ .
+ Notwithstanding any other provision of this License, if you modify the
+ Program, your modified version must prominently offer all users
+ interacting with it remotely through a computer network (if your version
+ supports such interaction) an opportunity to receive the Corresponding
+ Source of your version by providing access to the Corresponding Source
+ from a network server at no charge, through some standard or customary
+ means of facilitating copying of software. This Corresponding Source
+ shall include the Corresponding Source for any work covered by version 3
+ of the GNU General Public License that is incorporated pursuant to the
+ following paragraph.
+ .
+ Notwithstanding any other provision of this License, you have
+ permission to link or combine any covered work with a work licensed
+ under version 3 of the GNU General Public License into a single
+ combined work, and to convey the resulting work. The terms of this
+ License will continue to apply to the part which is the covered work,
+ but the work with which it is combined will remain governed by version
+ 3 of the GNU General Public License.
+ .
+ 14. Revised Versions of this License.
+ .
+ The Free Software Foundation may publish revised and/or new versions of
+ the GNU Affero General Public License from time to time. Such new versions
+ will be similar in spirit to the present version, but may differ in detail to
+ address new problems or concerns.
+ .
+ Each version is given a distinguishing version number. If the
+ Program specifies that a certain numbered version of the GNU Affero General
+ Public License "or any later version" applies to it, you have the
+ option of following the terms and conditions either of that numbered
+ version or of any later version published by the Free Software
+ Foundation. If the Program does not specify a version number of the
+ GNU Affero General Public License, you may choose any version ever published
+ by the Free Software Foundation.
+ .
+ If the Program specifies that a proxy can decide which future
+ versions of the GNU Affero General Public License can be used, that proxy's
+ public statement of acceptance of a version permanently authorizes you
+ to choose that version for the Program.
+ .
+ Later license versions may give you additional or different
+ permissions. However, no additional obligations are imposed on any
+ author or copyright holder as a result of your choosing to follow a
+ later version.
+ .
+ 15. Disclaimer of Warranty.
+ .
+ THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
+ APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
+ HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
+ OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
+ THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
+ IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
+ ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
+ .
+ 16. Limitation of Liability.
+ .
+ IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+ WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
+ THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
+ GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
+ USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
+ DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
+ PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
+ EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
+ SUCH DAMAGES.
+ .
+ 17. Interpretation of Sections 15 and 16.
+ .
+ If the disclaimer of warranty and limitation of liability provided
+ above cannot be given local legal effect according to their terms,
+ reviewing courts shall apply local law that most closely approximates
+ an absolute waiver of all civil liability in connection with the
+ Program, unless a warranty or assumption of liability accompanies a
+ copy of the Program in return for a fee.
+ .
+ END OF TERMS AND CONDITIONS
+ .
+ How to Apply These Terms to Your New Programs
+ .
+ If you develop a new program, and you want it to be of the greatest
+ possible use to the public, the best way to achieve this is to make it
+ free software which everyone can redistribute and change under these terms.
+ .
+ To do so, attach the following notices to the program. It is safest
+ to attach them to the start of each source file to most effectively
+ state the exclusion of warranty; and each file should have at least
+ the "copyright" line and a pointer to where the full notice is found.
+ .
+ <one line to give the program's name and a brief idea of what it does.>
+ Copyright (C) <year> <name of author>
+ .
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU Affero General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+ .
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU Affero General Public License for more details.
+ .
+ You should have received a copy of the GNU Affero General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>.
+ .
+ Also add information on how to contact you by electronic and paper mail.
+ .
+ If your software can interact with users remotely through a computer
+ network, you should also make sure that it provides a way for users to
+ get its source. For example, if your program is a web application, its
+ interface could display a "Source" link that leads users to an archive
+ of the code. There are many ways you could offer source, and different
+ solutions will be better for different programs; see section 13 for the
+ specific requirements.
+ .
+ You should also get your employer (if you work as a programmer) or school,
+ if any, to sign a "copyright disclaimer" for the program, if necessary.
+ For more information on this, and how to apply and follow the GNU AGPL, see
+ <http://www.gnu.org/licenses/>.
diff --git a/INSTALL b/INSTALL
deleted file mode 120000
index 67566818f..000000000
--- a/INSTALL
+++ /dev/null
@@ -1 +0,0 @@
-doc/install.mdwn \ No newline at end of file
diff --git a/Makefile b/Makefile
index cee4ee02e..0904f6a00 100644
--- a/Makefile
+++ b/Makefile
@@ -15,7 +15,7 @@ endif
build: $(all)
-Build/SysConfig.hs: configure.hs Build/TestConfig.hs Build/Configure.hs
+Build/SysConfig.hs: Build/TestConfig.hs Build/Configure.hs
if [ "$(BUILDER)" = ./Setup ]; then ghc --make Setup; fi
if [ "$(BUILDER)" = stack ]; then \
$(BUILDER) build $(BUILDEROPTIONS); \
@@ -86,15 +86,19 @@ man:
mkdir -p man
docs: mans
- LC_ALL=C TZ=UTC $(IKIWIKI) doc html -v --wikiname git-annex \
- --plugin=goodstuff \
- --no-usedirs --disable-plugin=openid --plugin=sidebar \
- --underlaydir=/dev/null --set deterministic=1 \
- --disable-plugin=shortcut --disable-plugin=smiley \
- --plugin=comments --set comments_pagespec="*" \
- --exclude='news/.*' --exclude='design/assistant/blog/*' \
- --exclude='bugs/*' --exclude='todo/*' --exclude='forum/*' \
- --exclude='users/*' --exclude='devblog/*' --exclude='thanks'
+ @if [ ! -e doc/index.mdwn ]; then \
+ echo "** doc/index.mdwn does not exist, skipping building docs (clone git-annex source to enable full docs build)" >&2; \
+ else \
+ LC_ALL=C TZ=UTC $(IKIWIKI) doc html -v --wikiname git-annex \
+ --plugin=goodstuff \
+ --no-usedirs --disable-plugin=openid --plugin=sidebar \
+ --underlaydir=/dev/null --set deterministic=1 \
+ --disable-plugin=shortcut --disable-plugin=smiley \
+ --plugin=comments --set comments_pagespec="*" \
+ --exclude='news/.*' --exclude='design/assistant/blog/*' \
+ --exclude='bugs/*' --exclude='todo/*' --exclude='forum/*' \
+ --exclude='users/*' --exclude='devblog/*' --exclude='thanks'; \
+ fi
clean:
if [ "$(BUILDER)" != ./Setup ] && [ "$(BUILDER)" != cabal ]; then $(BUILDER) clean; fi
@@ -118,11 +122,9 @@ Build/OSXMkLibs: Build/OSXMkLibs.hs
Build/LinuxMkLibs: Build/LinuxMkLibs.hs
$(GHC) --make $@ -Wall -fno-warn-tabs
-sdist: clean mans
- ./Build/make-sdist.sh
-
# Upload to hackage.
-hackage: sdist
+hackage:
+ @cabal sdist
@cabal upload dist/*.tar.gz
LINUXSTANDALONE_DEST=tmp/git-annex.linux
@@ -170,7 +172,7 @@ prep-standalone:
undo-standalone:
test -e .git
- git checkout debian/changelog
+ git checkout debian/changelog CHANGELOG
quilt pop -a || true
commit-standalone:
diff --git a/NEWS b/NEWS
index 798088bec..1266bae20 120000..100644
--- a/NEWS
+++ b/NEWS
@@ -1 +1,44 @@
-debian/NEWS \ No newline at end of file
+git-annex (4.20131002) unstable; urgency=low
+
+ The layout of gcrypt repositories has changed, and
+ if you created one you must manually upgrade it.
+ See /usr/share/doc/git-annex/html/upgrades/gcrypt.html
+
+ -- Joey Hess <joeyh@debian.org> Tue, 24 Sep 2013 13:55:23 -0400
+
+git-annex (3.20120123) unstable; urgency=low
+
+ There was a bug in the handling of directory special remotes that
+ could cause partial file contents to be stored in them. If you use
+ a directory special remote, you should fsck it, to avoid potential
+ data loss.
+
+ Example: git annex fsck --from mydirectory
+
+ -- Joey Hess <joeyh@debian.org> Thu, 19 Jan 2012 15:24:23 -0400
+
+git-annex (3.20110624) experimental; urgency=low
+
+ There has been another change to the git-annex data store.
+ Use `git annex upgrade` to migrate your repositories to the new
+ layout. See <http://git-annex.branchable.com/upgrades/> or
+ /usr/share/doc/git-annex/html/upgrades.html
+
+ The significant change this time is that the .git-annex/ directory
+ is gone; instead there is a git-annex branch that is automatically
+ maintained by git-annex, and encapsulates all its state nicely out
+ of your way.
+
+ You should make sure you include the git-annex branch when
+ git pushing and pulling.
+
+ -- Joey Hess <joeyh@debian.org> Tue, 21 Jun 2011 20:18:00 -0400
+
+git-annex (0.20110316) experimental; urgency=low
+
+ This version reorganises the layout of git-annex's files in your repository.
+ There is an upgrade process to convert a repository from the old git-annex
+ to this version. See <http://git-annex.branchable.com/upgrades/> or
+ /usr/share/doc/git-annex/html/upgrades.html
+
+ -- Joey Hess <joeyh@debian.org> Wed, 16 Mar 2011 15:49:15 -0400
diff --git a/Setup.hs b/Setup.hs
index 3e6637fc6..47bef5e31 100644
--- a/Setup.hs
+++ b/Setup.hs
@@ -19,6 +19,7 @@ import qualified System.Info
import qualified Build.DesktopFile as DesktopFile
import qualified Build.Configure as Configure
+import Utility.SafeCommand
main :: IO ()
main = defaultMainWithHooks simpleUserHooks
@@ -44,24 +45,19 @@ installGitAnnexShell copyDest verbosity pkg lbi =
where
dstBinDir = bindir $ absoluteInstallDirs pkg lbi copyDest
-{- See http://www.haskell.org/haskellwiki/Cabal/Developer-FAQ#Installing_manpages
- -
- - Man pages are provided prebuilt in the tarball in cabal,
- - but may not be available otherwise, in which case, skip installing them.
- -}
+{- See http://www.haskell.org/haskellwiki/Cabal/Developer-FAQ#Installing_manpages -}
installManpages :: CopyDest -> Verbosity -> PackageDescription -> LocalBuildInfo -> IO ()
installManpages copyDest verbosity pkg lbi =
installOrdinaryFiles verbosity dstManDir =<< srcManpages
where
dstManDir = mandir (absoluteInstallDirs pkg lbi copyDest) </> "man1"
srcManpages = do
- havemans <- doesDirectoryExist srcManDir
+ havemans <- boolSystem "make" [Param "mans"]
if havemans
- then zip (repeat srcManDir)
+ then zip (repeat "man")
. filter (".1" `isSuffixOf`)
- <$> getDirectoryContents srcManDir
+ <$> getDirectoryContents "man"
else return []
- srcManDir = "man"
installDesktopFile :: CopyDest -> Verbosity -> PackageDescription -> LocalBuildInfo -> IO ()
installDesktopFile copyDest _verbosity pkg lbi
diff --git a/configure.hs b/configure.hs
deleted file mode 100644
index 15833e62a..000000000
--- a/configure.hs
+++ /dev/null
@@ -1,6 +0,0 @@
-{- configure program -}
-
-import Build.Configure
-
-main :: IO ()
-main = run tests
diff --git a/debian/NEWS b/debian/NEWS
index 1266bae20..0fae0f802 100644..120000
--- a/debian/NEWS
+++ b/debian/NEWS
@@ -1,44 +1 @@
-git-annex (4.20131002) unstable; urgency=low
-
- The layout of gcrypt repositories has changed, and
- if you created one you must manually upgrade it.
- See /usr/share/doc/git-annex/html/upgrades/gcrypt.html
-
- -- Joey Hess <joeyh@debian.org> Tue, 24 Sep 2013 13:55:23 -0400
-
-git-annex (3.20120123) unstable; urgency=low
-
- There was a bug in the handling of directory special remotes that
- could cause partial file contents to be stored in them. If you use
- a directory special remote, you should fsck it, to avoid potential
- data loss.
-
- Example: git annex fsck --from mydirectory
-
- -- Joey Hess <joeyh@debian.org> Thu, 19 Jan 2012 15:24:23 -0400
-
-git-annex (3.20110624) experimental; urgency=low
-
- There has been another change to the git-annex data store.
- Use `git annex upgrade` to migrate your repositories to the new
- layout. See <http://git-annex.branchable.com/upgrades/> or
- /usr/share/doc/git-annex/html/upgrades.html
-
- The significant change this time is that the .git-annex/ directory
- is gone; instead there is a git-annex branch that is automatically
- maintained by git-annex, and encapsulates all its state nicely out
- of your way.
-
- You should make sure you include the git-annex branch when
- git pushing and pulling.
-
- -- Joey Hess <joeyh@debian.org> Tue, 21 Jun 2011 20:18:00 -0400
-
-git-annex (0.20110316) experimental; urgency=low
-
- This version reorganises the layout of git-annex's files in your repository.
- There is an upgrade process to convert a repository from the old git-annex
- to this version. See <http://git-annex.branchable.com/upgrades/> or
- /usr/share/doc/git-annex/html/upgrades.html
-
- -- Joey Hess <joeyh@debian.org> Wed, 16 Mar 2011 15:49:15 -0400
+../NEWS \ No newline at end of file
diff --git a/debian/changelog b/debian/changelog
index bae23f40e..a53599471 100644..120000
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,4615 +1 @@
-git-annex (6.20160512) UNRELEASED; urgency=medium
-
- * Change git annex info remote encryption description to use wording
- closer to what's used in initremote.
- * webapp: Avoid confusing display of dead remotes.
- * 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.
- * 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)
- * adjust: Add --fix adjustment, which is useful when the git directory
- is in a nonstandard place.
- * 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.
- * Support building with ghc 8.0.1.
- * 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.
-
- -- Joey Hess <id@joeyh.name> Wed, 11 May 2016 16:08:38 -0400
-
-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.<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.
-
- -- Joey Hess <id@joeyh.name> Wed, 11 May 2016 12:41:42 -0400
-
-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.
-
- -- Joey Hess <id@joeyh.name> Thu, 28 Apr 2016 09:31:14 -0400
-
-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.)
-
- -- Joey Hess <id@joeyh.name> Mon, 18 Apr 2016 18:33:52 -0400
-
-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.
-
- -- Joey Hess <id@joeyh.name> Tue, 12 Apr 2016 14:53:22 -0400
-
-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.
-
- -- Joey Hess <id@joeyh.name> Fri, 18 Mar 2016 11:30:36 -0400
-
-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 field<number, --metadata field>number etc
- to match ranges of numeric values.
- * Similarly, support preferred content expressions like
- metadata=field<number and metadata=field>number
- * The pre-commit-annex hook script that automatically extracts
- metadata has been updated to also use exiftool.
- Thanks, Klaus Ethgen.
-
- -- Joey Hess <id@joeyh.name> Mon, 29 Feb 2016 12:41:49 -0400
-
-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.
-
- -- Joey Hess <id@joeyh.name> Wed, 17 Feb 2016 14:48:51 -0400
-
-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.
-
- -- Joey Hess <id@joeyh.name> Thu, 11 Feb 2016 11:42:19 -0400
-
-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.
-
- -- Joey Hess <id@joeyh.name> Tue, 26 Jan 2016 14:57:42 -0400
-
-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.
-
- -- Joey Hess <id@joeyh.name> Thu, 14 Jan 2016 10:14:19 -0400
-
-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.
-
- -- Joey Hess <id@joeyh.name> Fri, 18 Dec 2015 12:09:33 -0400
-
-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.
-
- -- Joey Hess <id@joeyh.name> Tue, 08 Dec 2015 11:14:03 -0400
-
-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.
-
- -- Joey Hess <id@joeyh.name> Mon, 16 Nov 2015 14:17:40 -0400
-
-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.
-
- -- Joey Hess <id@joeyh.name> Tue, 03 Nov 2015 12:08:38 -0400
-
-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.
-
- -- Joey Hess <id@joeyh.name> Mon, 02 Nov 2015 12:41:20 -0400
-
-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.<name>.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.
-
- -- Joey Hess <id@joeyh.name> Mon, 19 Oct 2015 13:59:01 -0400
-
-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.
-
- -- Joey Hess <id@joeyh.name> Wed, 30 Sep 2015 14:31:52 -0400
-
-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.
-
- -- Joey Hess <id@joeyh.name> Wed, 16 Sep 2015 10:31:24 -0400
-
-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.
-
- -- Joey Hess <id@joeyh.name> Mon, 24 Aug 2015 14:11:05 -0700
-
-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.
-
- -- Joey Hess <id@joeyh.name> Wed, 12 Aug 2015 11:14:58 -0400
-
-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.
-
- -- Joey Hess <id@joeyh.name> Fri, 31 Jul 2015 11:34:36 -0400
-
-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.
-
- -- Joey Hess <id@joeyh.name> Mon, 27 Jul 2015 12:24:49 -0400
-
-git-annex (5.20150710) unstable; urgency=medium
-
- * 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.
-
- -- Joey Hess <id@joeyh.name> Fri, 10 Jul 2015 16:36:42 -0400
-
-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.
-
- -- Joey Hess <id@joeyh.name> Wed, 17 Jun 2015 13:50:35 -0400
-
-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.
-
- -- Joey Hess <id@joeyh.name> Thu, 28 May 2015 10:48:03 -0400
-
-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
-
- -- Joey Hess <id@joeyh.name> Fri, 22 May 2015 14:20:18 -0400
-
-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)
-
- -- Joey Hess <id@joeyh.name> Mon, 11 May 2015 12:08:58 -0400
-
-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.
-
- -- Joey Hess <id@joeyh.name> Fri, 08 May 2015 13:42:30 -0400
-
-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.
-
- -- Joey Hess <id@joeyh.name> Mon, 20 Apr 2015 14:44:04 -0400
-
-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.
-
- -- Joey Hess <id@joeyh.name> Thu, 09 Apr 2015 15:06:38 -0400
-
-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.)
-
- -- Joey Hess <id@joeyh.name> Mon, 06 Apr 2015 17:13:13 -0400
-
-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.)
-
- -- Joey Hess <id@joeyh.name> Mon, 06 Apr 2015 12:48:48 -0400
-
-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 <command>"
- * --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.
-
- -- Joey Hess <id@joeyh.name> Fri, 27 Mar 2015 13:10:59 -0400
-
-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.
-
- -- Joey Hess <id@joeyh.name> Tue, 17 Mar 2015 13:02:36 -0400
-
-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.
-
- -- Joey Hess <id@joeyh.name> Thu, 19 Feb 2015 14:16:03 -0400
-
-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.
-
- -- Joey Hess <id@joeyh.name> Thu, 05 Feb 2015 14:08:33 -0400
-
-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.
-
- -- Joey Hess <id@joeyh.name> Tue, 13 Jan 2015 12:10:08 -0400
-
-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.
-
- -- Joey Hess <id@joeyh.name> Wed, 31 Dec 2014 15:15:46 -0400
-
-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.
-
- -- Joey Hess <id@joeyh.name> Fri, 19 Dec 2014 16:53:26 -0400
-
-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.
-
- -- Joey Hess <id@joeyh.name> Wed, 03 Dec 2014 15:16:52 -0400
-
-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.
-
- -- Joey Hess <joeyh@debian.org> Wed, 05 Nov 2014 11:41:51 -0400
-
-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.
-
- -- Joey Hess <joeyh@debian.org> Fri, 24 Oct 2014 13:03:29 -0400
-
-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.
-
- -- Joey Hess <joeyh@debian.org> Mon, 13 Oct 2014 10:13:06 -0400
-
-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.
-
- -- Joey Hess <joeyh@debian.org> Sat, 27 Sep 2014 14:25:09 -0400
-
-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.
-
- -- Joey Hess <joeyh@debian.org> Fri, 26 Sep 2014 15:09:02 -0400
-
-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.
-
- -- Joey Hess <joeyh@debian.org> Fri, 19 Sep 2014 12:53:42 -0400
-
-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?)
-
- -- Joey Hess <joeyh@debian.org> Mon, 15 Sep 2014 10:45:00 -0400
-
-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
-
- -- Joey Hess <joeyh@debian.org> Sun, 31 Aug 2014 12:30:08 -0700
-
-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.
-
- -- Joey Hess <joeyh@debian.org> Sun, 17 Aug 2014 10:30:58 -0400
-
-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).
-
- -- Joey Hess <joeyh@debian.org> Thu, 17 Jul 2014 11:27:25 -0400
-
-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.
-
- -- Joey Hess <joeyh@debian.org> Wed, 09 Jul 2014 15:28:03 -0400
-
-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.
-
- -- Joey Hess <joeyh@debian.org> Mon, 07 Jul 2014 12:24:13 -0400
-
-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.
-
- -- Joey Hess <joeyh@debian.org> Fri, 13 Jun 2014 09:58:07 -0400
-
-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.
-
- -- Joey Hess <joeyh@debian.org> Fri, 06 Jun 2014 12:54:06 -0400
-
-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.
-
- -- Joey Hess <joeyh@debian.org> Thu, 29 May 2014 14:41:56 -0400
-
-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.
-
- -- Joey Hess <joeyh@debian.org> Sat, 17 May 2014 13:30:39 -0400
-
-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.
-
- -- Joey Hess <joeyh@debian.org> Sun, 20 Apr 2014 19:43:14 -0400
-
-git-annex (5.20140412) unstable; urgency=high
-
- * Last release didn't quite fix the high cpu issue in all cases, this should.
-
- -- Joey Hess <joeyh@debian.org> Fri, 11 Apr 2014 17:14:38 -0400
-
-git-annex (5.20140411) unstable; urgency=high
-
- * importfeed: Filename template can now contain an itempubdate variable.
- Needs feed 0.3.9.2.
- * Fix rsync progress parsing in locales that use comma in number display.
- Closes: #744148
- * assistant: Fix high CPU usage triggered when a monthly fsck is scheduled,
- and the last time the job ran was a day of the month > 12. This caused a
- runaway loop. Thanks to Anarcat for his assistance, and to Maximiliano
- Curia for identifying the cause of this bug.
- * Remove wget from OSX dmg, due to issues with cert paths that broke
- git-annex automatic upgrading. Instead, curl is used, unless the
- OSX system has wget installed, which will then be used.
-
- -- Joey Hess <joeyh@debian.org> Fri, 11 Apr 2014 14:59:49 -0400
-
-git-annex (5.20140405) unstable; urgency=medium
-
- * git-annex-shell: Added notifychanges command.
- * Improve display of dbus notifications. Thanks, Johan Kiviniemi.
- * Fix nautilus script installation to not crash when the nautilus script dir
- does not exist. Instead, only install scripts when the directory already
- exists.
-
- -- Joey Hess <joeyh@debian.org> Sat, 05 Apr 2014 16:54:33 -0400
-
-git-annex (5.20140402) unstable; urgency=medium
-
- * unannex, uninit: Avoid committing after every file is unannexed,
- for massive speedup.
- * --notify-finish switch will cause desktop notifications after each
- file upload/download/drop completes
- (using the dbus Desktop Notifications Specification)
- * --notify-start switch will show desktop notifications when each
- file upload/download starts.
- * webapp: Automatically install Nautilus integration scripts
- to get and drop files.
- * tahoe: Pass -d parameter before subcommand; putting it after
- the subcommand no longer works with tahoe-lafs version 1.10.
- (Thanks, Alberto Berti)
- * forget --drop-dead: Avoid removing the dead remote from the trust.log,
- so that if git remotes for it still exist anywhere, git annex info
- will still know it's dead and not show it.
- * git-annex-shell: Make configlist automatically initialize
- a remote git repository, as long as a git-annex branch has
- been pushed to it, to simplify setup of remote git repositories,
- including via gitolite.
- * add --include-dotfiles: New option, perhaps useful for backups.
- * Version 5.20140227 broke creation of glacier repositories,
- not including the datacenter and vault in their configuration.
- This bug is fixed, but glacier repositories set up with the broken
- version of git-annex need to have the datacenter and vault set
- in order to be usable. This can be done using git annex enableremote
- to add the missing settings. For details, see
- http://git-annex.branchable.com/bugs/problems_with_glacier/
- * Added required content configuration.
- * assistant: Improve ssh authorized keys line generated in local pairing
- or for a remote ssh server to set environment variables in an
- alternative way that works with the non-POSIX fish shell, as well
- as POSIX shells.
-
- -- Joey Hess <joeyh@debian.org> Wed, 02 Apr 2014 16:42:53 -0400
-
-git-annex (5.20140320) unstable; urgency=medium
-
- * Fix zombie leak and general inneficiency when copying files to a
- local git repo.
- * Fix ssh connection caching stop method to work with openssh 6.5p1,
- which broke the old method.
- * webapp: Added a "Sync now" item to each repository's menu.
- * webapp: Use securemem for constant time auth token comparisons.
- * copy --fast --to remote: Avoid printing anything for files that
- are already believed to be present on the remote.
- * Commands that allow specifying which repository to act on using
- the repository's description will now fail when multiple repositories
- match, rather than picking a repository at random.
- (So will --in=)
- * Better workaround for problem umasks when eg, setting up ssh keys.
- * "standard" can now be used as a first-class keyword in preferred content
- expressions. For example "standard or (include=otherdir/*)"
- * groupwanted can be used in preferred content expressions.
- * vicfg: Allows editing preferred content expressions for groups.
- * Improve behavior when unable to parse a preferred content expression
- (thanks, ion).
- * metadata: Add --get
- * metadata: Support --key option (and some other ones like --all)
- * For each metadata field, there's now an automatically maintained
- "$field-lastchanged" that gives the date of the last change to that
- field. Also the "lastchanged" field for the date of the last change
- to any of a file's metadata.
- * unused: In direct mode, files that are deleted from the work tree
- and so have no content present are no longer incorrectly detected as
- unused.
- * Avoid encoding errors when using the unused log file.
- * map: Fix crash when one of the remotes of a repo is a local directory
- that does not exist, or is not a git repo.
- * repair: Improve memory usage when git fsck finds a great many broken
- objects.
- * Windows: Fix some filename encoding bugs.
- * rsync special remote: Fix slashes when used on Windows.
-
- -- Joey Hess <joeyh@debian.org> Thu, 20 Mar 2014 13:21:12 -0400
-
-git-annex (5.20140306) unstable; urgency=high
-
- * sync: Fix bug in direct mode that caused a file that was not
- checked into git to be deleted when there was a conflicting
- merge with a remote.
- * webapp: Now supports HTTPS.
- * webapp: No longer supports a port specified after --listen, since
- it was buggy, and that use case is better supported by setting up HTTPS.
- * annex.listen can be configured, instead of using --listen
- * annex.startupscan can be set to false to disable the assistant's startup
- scan.
- * Probe for quvi version at run time.
- * webapp: Filter out from Switch Repository list any
- repositories listed in autostart file that don't have a
- git directory anymore. (Or are bare)
- * webapp: Refuse to start in a bare git repository.
- * assistant --autostart: Refuse to start in a bare git repository.
- * webapp: Don't list the public repository group when editing a
- git repository; it only makes sense for special remotes.
- * view, vfilter: Add support for filtering tags and values out of a view,
- using !tag and field!=value.
- * vadd: Allow listing multiple desired values for a field.
- * view: Refuse to enter a view when no branch is currently checked out.
- * metadata: To only set a field when it's not already got a value, use
- -s field?=value
- * Run .git/hooks/pre-commit-annex whenever a commit is made.
- * sync: Automatically resolve merge conflict between and annexed file
- and a regular git file.
- * glacier: Pass --region to glacier checkpresent.
- * webdav: When built with a new enough haskell DAV (0.6), disable
- the http response timeout, which was only 5 seconds.
- * webapp: Include no-pty in ssh authorized_keys lines.
- * assistant: Smarter log file rotation, which takes free disk space
- into account.
-
- -- Joey Hess <joeyh@debian.org> Thu, 06 Mar 2014 12:28:04 -0400
-
-git-annex (5.20140227) unstable; urgency=medium
-
- * metadata: Field names limited to alphanumerics and a few whitelisted
- punctuation characters to avoid issues with views, etc.
- * metadata: Field names are now case insensative.
- * When constructing views, metadata is available about the location of the
- file in the view's reference branch. Allows incorporating parts of the
- directory hierarchy in a view.
- For example `git annex view tag=* podcasts/=*` makes a view in the form
- tag/showname.
- * --metadata field=value can now use globs to match, and matches
- case insensatively, the same as git annex view field=value does.
- * annex.genmetadata can be set to make git-annex automatically set
- metadata (year and month) when adding files.
- * Make annex.web-options be used in several places that call curl.
- * Fix handling of rsync remote urls containing a username,
- including rsync.net.
- * Preserve metadata when staging a new version of an annexed file.
- * metadata: Support --json
- * webapp: Fix creation of box.com and Amazon S3 and Glacier
- repositories, broken in 5.20140221.
- * webdav: When built with DAV 0.6.0, use the new DAV monad to avoid
- locking files, which is not needed by git-annex's use of webdav, and
- does not work on Box.com.
- * webdav: Fix path separator bug when used on Windows.
- * repair: Optimise unpacking of pack files, and avoid repeated error
- messages about corrupt pack files.
- * Add build dep on regex-compat to fix build on mipsel, which lacks
- regex-tdfa.
- * Disable test suite on sparc, which is missing optparse-applicative.
- * Put non-object tmp files in .git/annex/misctmp, leaving .git/annex/tmp
- for only partially transferred objects.
-
- -- Joey Hess <joeyh@debian.org> Thu, 27 Feb 2014 11:34:19 -0400
-
-git-annex (5.20140221) unstable; urgency=medium
-
- * metadata: New command that can attach metadata to files.
- * --metadata can be used to limit commands to acting on files
- that have particular metadata.
- * Preferred content expressions can use metadata=field=value
- to limit them to acting on files that have particular metadata.
- * view: New command that creates and checks out a branch that provides
- a structured view of selected metadata.
- * vfilter, vadd, vpop, vcycle: New commands for operating within views.
- * pre-commit: Update metadata when committing changes to locations
- of annexed files within a view.
- * Add progress display for transfers to/from external special remotes.
- * unused: Fix to actually detect unused keys when in direct mode.
- * fsck: When run with --all or --unused, while .gitattributes
- annex.numcopies cannot be honored since it's operating on keys
- instead of files, make it honor the global numcopies setting,
- and the annex.numcopies git config setting.
- * trust, untrust, semitrust, dead: Warn when the trust level is
- overridden in .git/config.
- * glacier: Do not try to run glacier value create when an existing glacier
- remote is enabled.
- * fsck: Refuse to do anything if more than one of --incremental, --more,
- and --incremental-schedule are given, since it's not clear which option
- should win.
- * Windows webapp: Can set up box.com, Amazon S3, and rsync.net remotes
- * Windows webapp: Can create repos on removable drives.
- * Windows: Ensure HOME is set, as needed by bundled cygwin utilities.
-
- -- Joey Hess <joeyh@debian.org> Fri, 21 Feb 2014 11:23:59 -0400
-
-git-annex (5.20140210) unstable; urgency=medium
-
- * --in can now refer to files that were located in a repository at
- some past date. For example, --in="here@{yesterday}"
- * Fixed direct mode annexed content locking code, which is used to
- guard against recursive file drops.
- * This is the first beta-level release of the Windows port with important
- fixes (see below).
- (The webapp and assistant are still alpha-level on Windows.)
- * sync --content: Honor annex-ignore configuration.
- * sync: Don't try to sync with xmpp remotes, which are only currently
- supported when using the assistant.
- * sync --content: Re-pull from remotes after downloading content,
- since that can take a while and other changes may be pushed in the
- meantime.
- * sync --content: Reuse smart copy code from copy command, including
- handling and repairing out of date location tracking info.
- Closes: #737480
- * sync --content: Drop files from remotes that don't want them after
- getting them.
- * sync: Fix bug in automatic merge conflict resolution code when used
- on a filesystem not supporting symlinks, which resulted in it losing
- track of the symlink bit of annexed files.
- * Added ways to configure rsync options to be used only when uploading
- or downloading from a remote. Useful to eg limit upload bandwidth.
- * Fix initremote with encryption=pubkey to work with S3, glacier, webdav,
- and external special remotes.
- * Avoid building with DAV 0.6 which is badly broken (see #737902).
- * Fix dropping of unused keys with spaces in their name.
- * Fix build on platforms not supporting the webapp.
- * Document in man page that sshcaching uses ssh ControlMaster.
- Closes: #737476
- * Windows: It's now safe to run multiple git-annex processes concurrently
- on Windows; the lock files have been sorted out.
- * Windows: Avoid using unix-compat's rename, which refuses to rename
- directories.
- * Windows: Fix deletion of repositories by test suite and webapp.
- * Windows: Test suite 100% passes again.
- * Windows: Fix bug in symlink calculation code.
- * Windows: Fix handling of absolute unix-style git repository paths.
- * Android: Avoid crashing when unable to set file mode for ssh config file
- due to Android filesystem horribleness.
-
- -- Joey Hess <joeyh@debian.org> Mon, 10 Feb 2014 12:54:57 -0400
-
-git-annex (5.20140127) unstable; urgency=medium
-
- * sync --content: New option that makes the content of annexed files be
- transferred. Similar to the assistant, this honors any configured
- preferred content expressions.
- * Remove --json option from commands not supporting it.
- * status: Support --json.
- * list: Fix specifying of files to list.
- * Allow --all to be mixed with matching options like --copies and --in
- (but not --include and --exclude).
- * numcopies: New command, sets global numcopies value that is seen by all
- clones of a repository.
- * The annex.numcopies git config setting is deprecated. Once the numcopies
- command is used to set the global number of copies, any annex.numcopies
- git configs will be ignored.
- * assistant: Make the prefs page set the global numcopies.
- * Add lackingcopies, approxlackingcopies, and unused to
- preferred content expressions.
- * Client, transfer, incremental backup, and archive repositories
- now want to get content that does not yet have enough copies.
- * Client, transfer, and source repositories now do not want to retain
- unused file contents.
- * assistant: Checks daily for unused file contents, and when possible
- moves them to a repository (such as a backup repository) that
- wants to retain them.
- * assistant: annex.expireunused can be configured to cause unused
- file contents to be deleted after some period of time.
- * webapp: Nudge user to see if they want to expire old unused file
- contents when a lot of them seem to be piling up in the repository.
- * repair: Check git version at run time.
- * assistant: Run the periodic git gc in batch mode.
- * added annex.secure-erase-command config option.
- * test suite: Use tasty-rerun, and expose tasty command-line options.
- * Optimise non-bare http remotes; no longer does a 404 to the wrong
- url every time before trying the right url. Needs annex-bare to be
- set to false, which is done when initially probing the uuid of a
- http remote.
- * webapp: After upgrading a git repository to git-annex, fix
- bug that made it temporarily not be synced with.
- * whereis: Support --all.
- * All commands that support --all also support a --key option,
- which limits them to acting on a single key.
-
- -- Joey Hess <joeyh@debian.org> Mon, 27 Jan 2014 13:43:28 -0400
-
-git-annex (5.20140117) unstable; urgency=medium
-
- * Really fix FTBFS on mipsel and sparc due to test suite not being available
- on those architectures.
-
- -- Joey Hess <joeyh@debian.org> Fri, 17 Jan 2014 14:46:27 -0400
-
-git-annex (5.20140116) unstable; urgency=medium
-
- * Added tahoe special remote.
- * external special remote protocol: Added GETGITDIR, and GETAVAILABILITY.
- * Refuse to build with git older than 1.7.1.1, which is needed for
- git checkout -B
- * map: Fix display of v5 direct mode repos.
- * repair: Support old git versions from before git fsck --no-dangling was
- implemented.
- * Fix a long-standing bug that could cause the wrong index file to be used
- when committing to the git-annex branch, if GIT_INDEX_FILE is set in the
- environment. This typically resulted in git-annex branch log files being
- committed to the master branch and later showing up in the work tree.
- (These log files can be safely removed.)
- * assistant: Detect if .git/annex/index is corrupt at startup, and
- recover.
- * repair: Fix bug in packed refs file exploding code that caused a .gitrefs
- directory to be created instead of .git/refs
- * Fix FTBFS on mipsel and sparc due to test suite not being available
- on those architectures.
- * Android: Avoid passing --clobber to busybox wget.
-
- -- Joey Hess <joeyh@debian.org> Thu, 16 Jan 2014 11:34:54 -0400
-
-git-annex (5.20140107) unstable; urgency=medium
-
- * mirror: Support --all (and --unused).
- * external special remote protocol: Added GETUUID, GETWANTED, SETWANTED,
- SETSTATE, GETSTATE, DEBUG.
- * Windows: Fix bug in direct mode merge code that could cause files
- in subdirectories to go missing.
- * Windows: Avoid eating stdin when running ssh to add a authorized key,
- since this is used for password prompting.
- * Avoid looping if long-running git cat-file or git hash-object crashes
- and keeps crashing when restarted.
- * Assistant: Remove stale MERGE_HEAD files in lockfile cleanup.
- * Remotes can now be made read-only, by setting remote.<name>.annex-readonly
- * wanted, schedule: Avoid printing "ok" after requested value.
- * assistant: Ensure that .ssh/config and .ssh/authorized_keys are not
- group or world writable when writing to those files, as that can make
- ssh refuse to use them, if it allows another user to write to them.
- * addurl, importfeed: Honor annex.diskreserve as long as the size of the
- url can be checked.
- * add: Fix rollback when disk is completely full.
- * assistant: Fixed several minor memory leaks that manifested when
- adding a large number of files.
- * assistant: Start a new git-annex transferkeys process
- after a network connection change, so that remotes that use a persistent
- network connection are restarted.
- * Adjust Debian build deps to match current state of sparc, mipsel.
-
- -- Joey Hess <joeyh@debian.org> Tue, 07 Jan 2014 12:22:18 -0400
-
-git-annex (5.20131230) unstable; urgency=medium
-
- * Added new external special remote interface.
- * importfeed: Support youtube playlists.
- * Add tasty to build-depends, so that test suite builds again.
- (tasty was stuck in incoming.)
- * Fix typo in test suite.
- * Fix bug in Linux standalone build's shimming that broke git-annex-shell.
- * Include git-receive-pack, git-upload-pack, git, and git-shell wrappers
- in the Linux standalone build, and OSX app, so they will be available
- when it's added to PATH.
- * addurl, importfeed: Sanitize | and some other symbols and special
- characters.
- * Auto-upgrade v3 indirect repos to v5 with no changes.
- This also fixes a problem when a direct mode repo was somehow set to v3
- rather than v4, and so the automatic direct mode upgrade to v5 was not
- done.
- * Android: Avoid trying to use Android's own ionice, which does not
- allow specifying a command to run. Fixes transferring files to/from
- android and probably a few other things.
-
- -- Joey Hess <joeyh@debian.org> Mon, 30 Dec 2013 14:13:40 -0400
-
-git-annex (5.20131221) unstable; urgency=low
-
- * assistant: Fix OSX-specific bug that caused the startup scan to try to
- follow symlinks to other directories, and add their contents to the annex.
- * assistant: Set StrictHostKeyChecking yes when creating ssh remotes,
- and add it to the configuration for any ssh remotes previously created
- by the assistant. This avoids repeated prompts by ssh if the host key
- changes, instead syncing with such a remote will fail. Closes: #732602
- * Fix test suite to cover lock --force change.
- * Add plumbing-level lookupkey and examinekey commands.
- * find --format: Added hashdirlower, hashdirmixed, keyname, and mtime
- format variables.
- * assistant: Always batch changes found in startup scan.
- * An armel Linux standalone build is now available, which includes the
- webapp.
- * Programs from Linux and OSX standalone builds can now be symlinked
- into a directory in PATH as an alternative installation method, and will
- use readlink to find where the build was unpacked.
- * Include man pages in Linux and OSX standalone builds.
- * Linux standalone build now includes its own glibc and forces the linker to
- use it, to remove dependence on the host glibc.
-
- -- Joey Hess <joeyh@debian.org> Sat, 21 Dec 2013 12:00:17 -0400
-
-git-annex (5.20131213) unstable; urgency=low
-
- * Avoid using git commit in direct mode, since in some situations
- it will read the full contents of files in the tree.
- * assistant: Batch jobs are now run with ionice and nocache, when
- those commands are available.
- * assistant: Run transferkeys as batch jobs.
- * Automatically fix up bad bare repositories created by
- versions 5.20131118 through 5.20131127.
- * rsync special remote: Fix fallback mode for rsync remotes that
- use hashDirMixed. Closes: #731142
- * copy --from, get --from: When --force is used, ignore the
- location log and always try to get the file from the remote.
- * Deal with box.com changing the url of their webdav endpoint.
- * Android: Fix SRV record lookups for XMPP to use android getprop
- command to find DNS server, since there is no resolv.conf.
- * import: Add --skip-duplicates option.
- * lock: Require --force. Closes: #731606
- * import: better handling of overwriting an existing file/directory/broken
- link when importing
- * Windows: assistant and webapp work! (very experimental)
- * Windows: Support annex.diskreserve.
- * Fix bad behavior in Firefox, which was caused by an earlier fix to
- bad behavior in Chromium.
- * repair: Improve repair of git-annex index file.
- * repair: Remove damaged git-annex sync branches.
- * status: Ignore new files that are gitignored.
- * Fix direct mode's handling when modifications to non-annexed files
- are pulled from a remote. A bug prevented the files from being updated
- in the work tree, and this caused the modification to be reverted.
- * OSX: Remove ssh and ssh-keygen from dmg as they're included in OSX by
- default.
-
- -- Joey Hess <joeyh@debian.org> Fri, 13 Dec 2013 14:20:32 -0400
-
-git-annex (5.20131130) unstable; urgency=low
-
- * init: Fix a bug that caused git annex init, when run in a bare
- repository, to set core.bare=false.
-
- -- Joey Hess <joeyh@debian.org> Sat, 30 Nov 2013 16:32:35 -0400
-
-git-annex (5.20131127.1) unstable; urgency=low
-
- * Rebuild that does not try to use quvi 0.9 from experimental.
-
- -- Joey Hess <joeyh@debian.org> Thu, 28 Nov 2013 07:57:36 -0400
-
-git-annex (5.20131127) unstable; urgency=low
-
- * webapp: Detect when upgrades are available, and upgrade if the user
- desires.
- (Only when git-annex is installed using the prebuilt binaries
- from git-annex upstream, not from eg Debian.)
- * assistant: Detect when the git-annex binary is modified or replaced,
- and either prompt the user to restart the program, or automatically
- restart it.
- * annex.autoupgrade configures both the above upgrade behaviors.
- * Added support for quvi 0.9. Slightly suboptimal due to limitations in its
- interface compared with the old version.
- * Bug fix: annex.version did not get set on automatic upgrade to v5 direct
- mode repo, so the upgrade was performed repeatedly, slowing commands down.
- * webapp: Fix bug that broke switching between local repositories
- that use the new guarded direct mode.
- * Android: Fix stripping of the git-annex binary.
- * Android: Make terminal app show git-annex version number.
- * Android: Re-enable XMPP support.
- * reinject: Allow to be used in direct mode.
- * Futher improvements to git repo repair. Has now been tested in tens
- of thousands of intentionally damaged repos, and successfully
- repaired them all.
- * Allow use of --unused in bare repository.
-
- -- Joey Hess <joeyh@debian.org> Wed, 27 Nov 2013 18:41:44 -0400
-
-git-annex (5.20131120) unstable; urgency=low
-
- * Fix Debian package to not try to run test suite, since haskell-tasty
- is not out of new or in Build-Depends yet.
- * dropunused, addunused: Allow "all" instead of a range to
- act on all unused data.
- * Ensure execute bit is set on directories when core.sharedrepository is set.
- * Ensure that core.sharedrepository is honored when creating the .git/annex
- directory.
- * Improve repair code in the case where the index file is corrupt,
- and this hides other problems from git fsck.
-
- -- Joey Hess <joeyh@debian.org> Wed, 20 Nov 2013 12:54:18 -0400
-
-git-annex (5.20131118) unstable; urgency=low
-
- * Direct mode repositories now have core.bare=true set, to prevent
- accidentally running git commands that try to operate on the work tree,
- and so do the wrong thing in direct mode.
- * annex.version is now set to 5 for direct mode repositories.
- This upgrade is handled fully automatically, no need to run
- git annex upgrade
- * The "status" command has been renamed to "info", to allow
- "git annex status" to be used in direct mode repositories, now that
- "git status" won't work in them.
- * The -c option now not only modifies the git configuration seen by
- git-annex, but it is passed along to every git command git-annex runs.
- * watcher: Avoid loop when adding a file owned by someone else fails
- in indirect mode because its permissions cannot be modified.
- * webapp: Avoid encoding problems when displaying the daemon log file.
- * webapp: Improve UI around remote that have no annex.uuid set,
- either because setup of them is incomplete, or because the remote
- git repository is not a git-annex repository.
- * Include ssh-keygen in standalone bundle.
- * Allow optionally configuring git-annex with -fEKG to enable awesome
- remote monitoring interfaceat http://localhost:4242/
- * Fix bug that caused bad information to be written to the git-annex branch
- when running describe or other commands with a remote that has no uuid.
- * Work around Android linker problem that had prevented git-annex from
- running on Android 4.3 and 4.4.
- * repair: Handle case where index file is corrupt, but all objects are ok.
- * assistant: Notice on startup when the index file is corrupt, and
- auto-repair.
- * Fix direct mode merge bug when a direct mode file was deleted and replaced
- with a directory. An ordering problem caused the directory to not get
- created in this case.
- Thanks to Tim for the test case.
- * Direct mode .git/annex/objects directories are no longer left writable,
- because that allowed writing to symlinks of files that are not present,
- which followed the link and put bad content in an object location.
- Thanks to Tim for the test case.
- * fsck: Fix up .git/annex/object directory permissions.
- * Switched to the tasty test framework.
- * Android: Adjust default .gitignore to ignore .thumbnails at any location
- in the tree, not just at its top.
- * webapp: Check annex.version.
-
- -- Joey Hess <joeyh@debian.org> Mon, 18 Nov 2013 10:45:43 -0400
-
-git-annex (4.20131106) unstable; urgency=low
-
- * Improve local pairing behavior when two computers both try to start
- the pairing process separately.
- * sync: Work even when the local git repository is new and empty,
- with no master branch.
- * gcrypt, bup: Fix bug that prevented using these special remotes
- with encryption=pubkey.
- * Fix enabling of gcrypt repository accessed over ssh;
- git-annex-shell gcryptsetup had a bug that caused it to fail
- with permission denied.
- * Fix zombie process that occurred when switching between repository
- views in the webapp.
- * map: Work when there are gcrypt remotes.
- * Fix build w/o webapp.
- * Fix exception handling bug that could cause .git/annex/index to be used
- for git commits outside the git-annex branch. Known to affect git-annex
- when used with the git shipped with Ubuntu 13.10.
-
- -- Joey Hess <joeyh@debian.org> Wed, 06 Nov 2013 11:17:47 -0400
-
-git-annex (4.20131101) unstable; urgency=low
-
- * The "git annex content" command is renamed to "git annex wanted".
- * New --want-get and --want-drop options which can be used to
- test preferred content settings.
- For example, "git annex find --in . --want-drop"
- * assistant: When autostarted, wait 5 seconds before running the startup
- scan, to avoid contending with the user's desktop login process.
- * webapp: When setting up a bare shared repository, enable non-fast-forward
- pushes.
- * sync: Show a hint about receive.denyNonFastForwards when a push fails.
- * directory, webdav: Fix bug introduced in version 4.20131002 that
- caused the chunkcount file to not be written. Work around repositories
- without such a file, so files can still be retreived from them.
- * assistant: Automatically repair damanged git repository, if it can
- be done without losing data.
- * assistant: Support repairing git remotes that are locally accessible
- (eg, on removable drives).
- * add: Fix reversion in 4.20130827 when adding unlocked files that have
- not yet been committed.
- * unannex: New, much slower, but more safe behavior: Copies files out of
- the annex. This avoids an unannex of one file breaking other files that
- link to the same content. Also, it means that the content
- remains in the annex using up space until cleaned up with
- "git annex unused".
- (The behavior of unannex --fast has not changed; it still hard links
- to content in the annex. --fast was not made the default because it is
- potentially unsafe; editing such a hard linked file can unexpectedly
- change content stored in the annex.)
-
- -- Joey Hess <joeyh@debian.org> Fri, 01 Nov 2013 11:34:27 -0400
-
-git-annex (4.20131024) unstable; urgency=low
-
- * webapp: Fix bug when adding a remote and git-remote-gcrypt
- is not installed.
- * The assitant can now run scheduled incremental fsck jobs on the local
- repository and remotes. These can be configured using vicfg or with the
- webapp.
- * repair: New command, which can repair damaged git repositories
- (even ones not using git-annex).
- * webapp: When git repository damange is detected, repairs can be
- done using the webapp UI.
- * Automatically and safely detect and recover from dangling
- .git/annex/index.lock files, which would prevent git from
- committing to the git-annex branch, eg after a crash.
- * assistant: Detect stale git lock files at startup time, and remove them.
- * addurl: Better sanitization of generated filenames.
- * Better sanitization of problem characters when generating URL and WORM
- keys.
- * The control socket path passed to ssh needs to be 17 characters
- shorter than the maximum unix domain socket length, because ssh
- appends stuff to it to make a temporary filename. Closes: #725512
- * status: Fix space leak in local mode, introduced in version 4.20130920.
- * import: Skip .git directories.
- * Remove bogus runshell loop check.
- * addurl: Improve message when adding url with wrong size to existing file.
- * Fixed handling of URL keys that have no recorded size.
- * status: Fix a crash if a temp file went away while its size was
- being checked for status.
- * Deal with git check-attr -z output format change in git 1.8.5.
- * Work around sed output difference that led to version containing a newline
- on OSX.
- * sync: Fix automatic resolution of merge conflicts where one side is an
- annexed file, and the other side is a non-annexed file, or a directory.
- * S3: Try to ensure bucket name is valid for archive.org.
- * assistant: Bug fix: When run in a subdirectory, files from incoming merges
- were wrongly added to that subdirectory, and removed from their original
- locations.
- * Windows: Deal with strange msysgit 1.8.4 behavior of not understanding
- DOS formatted paths for --git-dir and --work-tree.
- * Removed workaround for bug in git 1.8.4r0.
- * Added git-recover-repository command to git-annex source
- (not built by default; this needs to move to someplace else).
- * webapp: Move sidebar to the right hand side of the screen.
-
- -- Joey Hess <joeyh@debian.org> Thu, 24 Oct 2013 12:59:55 -0400
-
-git-annex (4.20131002) unstable; urgency=low
-
- * Note that the layout of gcrypt repositories has changed, and
- if you created one you must manually upgrade it.
- See http://git-annex.branchable.com/upgrades/gcrypt/
- * webapp: Support setting up and using encrypted git repositories on
- any ssh server, as well as on rsync.net.
- * git-annex-shell: Added support for operating inside gcrypt repositories.
- * Disable receive.denyNonFastForwards when setting up a gcrypt special
- remote, since gcrypt needs to be able to fast-forward the master branch.
- * import: Preserve top-level directory structure.
- * Use cryptohash rather than SHA for hashing when no external hash program
- is available. This is a significant speedup for SHA256 on OSX, for
- example.
- * Added SKEIN256 and SKEIN512 backends.
- * Android build redone from scratch, many dependencies updated,
- and entire build can now be done using provided scripts.
- * assistant: Clear the list of failed transfers when doing a full transfer
- scan. This prevents repeated retries to download files that are not
- available, or are not referenced by the current git tree.
- * indirect, direct: Better behavior when a file is not owned by
- the user running the conversion.
- * add, import, assistant: Better preserve the mtime of symlinks,
- when when adding content that gets deduplicated.
- * Send a git-annex user-agent when downloading urls.
- Overridable with --user-agent option.
- (Not yet done for S3 or WebDAV due to limitations of libraries used.)
- * webapp: Fixed a bug where when a new remote is added, one file
- may fail to sync to or from it due to the transferrer process not
- yet knowing about the new remote.
- * OSX: Bundled gpg upgraded, now compatible with config files
- written by MacGPG.
- * assistant: More robust inotify handling; avoid crashing if a directory
- cannot be read.
- * Moved list of backends and remote types from status to version
- command.
-
- -- Joey Hess <joeyh@debian.org> Wed, 02 Oct 2013 16:00:39 -0400
-
-git-annex (4.20130920) unstable; urgency=low
-
- * webapp: Initial support for setting up encrypted removable drives.
- * Recommend using my patched gcrypt, which fixes some bugs:
- https://github.com/joeyh/git-remote-gcrypt
- * Support hot-swapping of removable drives containing gcrypt repositories.
- * list: New command, displays a compact table of remotes that
- contain files.
- (Thanks, anarcat for display code and mastensg for inspiration.)
- * fsck: Fix detection and fixing of present direct mode files that are
- wrongly represented as standin symlinks on crippled filesystems.
- * sync: Fix bug that caused direct mode mappings to not be updated
- when merging files into the tree on Windows.
- * sync: Don't fail if the directory it is run in gets removed by the
- sync.
- * addurl: Fix quvi audodetection, broken in last release.
- * status: In local mode, displays information about variance from configured
- numcopies levels. (--fast avoids calculating these)
- * gcrypt: Ensure that signing key is set to one of the participants keys.
- * webapp: Show encryption information when editing a remote.
- * Avoid unnecessarily catting non-symlink files from git, which can be
- so large it runs out of memory.
-
- -- Joey Hess <joeyh@debian.org> Fri, 20 Sep 2013 10:34:51 -0400
-
-git-annex (4.20130911) unstable; urgency=low
-
- * Fix problem with test suite in non-unicode locale.
-
- -- Joey Hess <joeyh@debian.org> Wed, 11 Sep 2013 12:14:16 -0400
-
-git-annex (4.20130909) unstable; urgency=low
-
- * initremote: Syntax change when setting up an encrypted special remote.
- Now use keyid=$KEYID rather than the old encryption=$KEYID
- * forget: New command, causes git-annex branch history to be forgotten
- in a way that will spread to other clones of the repository.
- (As long as they're running this version or newer of git-annex.)
- * forget --drop-dead: Completely removes mentions of repositories that
- have been marked as dead from the git-annex branch.
- * sync, assistant: Force push of the git-annex branch. Necessary
- to ensure it gets pushed to remotes after being rewritten by forget.
- * Added gcrypt support. This combines a fully encrypted git
- repository (using git-remote-gcrypt) with an encrypted git-annex special
- remote.
- * sync: Support syncing with gcrypt remotes.
- * importfeed: Also ignore transient problems with downloading content
- from feeds.
- * Honor core.sharedrepository when receiving and adding files in direct
- mode.
- * enableremote: gpg keys can be removed from those a remote encrypts
- to by passing "keyid-=$KEYID". keyid+= is also provided.
- (Thanks, guilhem for the patch.)
- * Added encryption=pubkey scheme, which encrypts to public keys directly
- rather than the hybrid approach. See documentation for advantages
- and disadvantages, but encryption=hybrid is the recommended scheme still.
- (Thanks, guilhem for the patch.)
- * Fix Feeds display in build flags.
- * Remind user when annex-ignore is set for some remotes, if unable to
- get or drop a file, possibly because it's on an ignored remote.
- * gpg: Force --no-textmode in case the user has it turned on in config.
- * webapp: Improve javascript's handling of longpolling connection
- failures, by reloading the current page in this case.
- Works around chromium behavior where ajax connections to urls
- that were already accessed are denied after navigating back to
- a previous page.
- * Allow building without quvi support.
-
- -- Joey Hess <joeyh@debian.org> Mon, 09 Sep 2013 09:47:02 -0400
-
-git-annex (4.20130827) unstable; urgency=low
-
- * Youtube support! (And 53 other video hosts). When quvi is installed,
- git-annex addurl automatically uses it to detect when an page is
- a video, and downloads the video file.
- * web special remote: Also support using quvi, for getting files,
- or checking if files exist in the web.
- * unused: Is now a minimum of 30 times faster, and typically many
- more times than that (when a repository has several branches).
- (Thanks, guilhem for the patch.)
- * unused: Fix bugs in two edge cases involving manually staged changes.
- (Thanks, guilhem for the patch.)
- * Android: Fix bug in terminal app that caused it to spin using much
- CPU and battery. This problem was introduced in version 4.20130601.
- * sync, merge: Bug fix: Don't try to merge into master when in a bare repo.
- * import: Add options to control handling of duplicate files:
- --duplicate, --deduplicate, and --clean-duplicates
- * mirror: New command, makes two repositories contain the same set of files.
- * Set --clobber when running wget to ensure resuming works properly.
- * Unescape characters in 'file://...' URIs. (Thanks, guilhem for the patch.)
- * Better error message when trying to use a git remote that has annex.ignore
- set.
- * Fix bug that caused typechanged symlinks to be assumed to be unlocked
- files, so they were added to the annex by the pre-commit hook.
- * Debian: Run the builtin test suite as an autopkgtest.
- * Debian: Recommend ssh-askpass, which ssh will use when the assistant
- is run w/o a tty. Closes: #719832
-
- -- Joey Hess <joeyh@debian.org> Tue, 27 Aug 2013 11:03:00 -0400
-
-git-annex (4.20130815) unstable; urgency=low
-
- * assistant, watcher: .gitignore files and other git ignores are now
- honored, when git 1.8.4 or newer is installed.
- (Thanks, Adam Spiers, for getting the necessary support into git for this.)
- * importfeed: Ignores transient problems with feeds. Only exits nonzero
- when a feed has repeatedly had a problems for at least 1 day.
- * importfeed: Fix handling of dots in extensions.
- * Windows: Added support for encrypted special remotes.
- * Windows: Fixed permissions problem that prevented removing files
- from directory special remote. Directory special remotes now fully usable.
-
- -- Joey Hess <joeyh@debian.org> Thu, 15 Aug 2013 10:14:33 +0200
-
-git-annex (4.20130802) unstable; urgency=low
-
- * dropunused behavior change: Now refuses to drop the last copy of a
- file, unless you use the --force.
- This was the last place in git-annex that could remove data referred
- to by the git history, without being forced.
- Like drop, dropunused checks remotes, and honors the global
- annex.numcopies setting. (However, .gitattributes settings cannot
- apply to unused files.)
- * Fix inverted logic in last release's fix for data loss bug,
- that caused git-annex sync on FAT or other crippled filesystems to add
- symlink standin files to the annex.
- * importfeed can be used to import files from podcast feeds.
- * webapp: When setting up a dedicated ssh key to access the annex
- on a host, set IdentitiesOnly to prevent the ssh-agent from forcing
- use of a different ssh key. That could result in unncessary password
- prompts, or prevent git-annex-shell from being run on the remote host.
- * webapp: Improve handling of remotes whose setup has stalled.
- * Add status message to XMPP presence tag, to identify to others that
- the client is a git-annex client. Closes: #717652
- * webapp: When creating a repository on a removable drive, set
- core.fsyncobjectfiles, to help prevent data loss when the drive is yanked.
- * Always build with -threaded, to avoid a deadlock when communicating with
- gpg.
- * unused: No longer shows as unused tmp files that are actively being
- transferred.
- * assistant: Fix NetWatcher to not sync with remotes that have
- remote.<name>.annex-sync set to false.
- * assistant: Fix deadlock that could occur when adding a lot of files
- at once in indirect mode.
- * assistant: Fix bug that caused it to stall when adding a very large
- number of files at once (around 5 thousand).
- * OSX: Make git-annex-webapp run in the background, so that the app icon
- can be clicked on the open a new webapp when the assistant is already
- running.
- * Improve test suite on Windows; now tests git annex sync.
- * Fix a few bugs involving filenames that are at or near the filesystem's
- maximum filename length limit.
- * find: Avoid polluting stdout with progress messages. Closes: #718186
- * Escape ':' in file/directory names to avoid it being treated
- as a pathspec by some git commands. Closes: #718185
- * Slow and ugly work around for bug #718517 in git 1.8.4~rc0, which broke
- git-cat-file --batch for filenames containing spaces.
- (Will be reverted after next git pre-release fixes the problem.)
-
- -- Joey Hess <joeyh@debian.org> Fri, 02 Aug 2013 11:35:16 -0400
-
-git-annex (4.20130723) unstable; urgency=low
-
- * Fix data loss bug when adding an (uncompressed) tarball of a
- git-annex repository, or other file that begins with something
- that can be mistaken for a git-annex link. Closes: #717456
- * New improved version of the git-annex logo, contributed by
- John Lawrence.
- * Rsync.net have committed to support git-annex and offer a special
- discounted rate for git-annex users. Updated the webapp to reflect this.
- http://www.rsync.net/products/git-annex-pricing.html
- * Install XDG desktop icon files.
- * Support unannex and uninit in direct mode.
- * Support import in direct mode.
- * webapp: Better display of added files.
- * fix: Preserve the original mtime of fixed symlinks.
- * uninit: Preserve .git/annex/objects at the end, if it still
- has content, so that old versions of files and deleted files
- are not deleted. Print a message with some suggested actions.
- * When a transfer is already being run by another process,
- proceed on to the next file, rather than dying.
- * Fix checking when content is present in a non-bare repository
- accessed via http.
- * Display byte sizes with more precision.
- * watcher: Fixed a crash that could occur when a directory was renamed
- or deleted before it could be scanned.
- * watcher: Partially worked around a bug in hinotify, no longer crashes
- if hinotify cannot process a directory (but can't detect changes in it)
- * directory special remote: Fix checking that there is enough disk space
- to hold an object, was broken when using encryption.
- * webapp: Differentiate between creating a new S3/Glacier/WebDav remote,
- and initializing an existing remote. When creating a new remote, avoid
- conflicts with other existing (or deleted) remotes with the same name.
- * When an XMPP server has SRV records, try them, but don't then fall
- back to the regular host if they all fail.
- * For long hostnames, use a hash of the hostname to generate the socket
- file for ssh connection caching.
-
- -- Joey Hess <joeyh@debian.org> Tue, 23 Jul 2013 10:46:05 -0400
-
-git-annex (4.20130709) unstable; urgency=low
-
- * --all: New switch that makes git-annex operate on all data stored
- in the git annex, including old versions of files. Supported by
- fsck, get, move, copy.
- * --unused: New switch that makes git-annex operate on all data found
- by the last run of git annex unused. Supported by fsck, move, copy.
- * get, move, copy: Can now be run in a bare repository,
- like fsck already could. --all is enabled automatically in this case.
- * merge: Now also merges synced/master or similar branches, which
- makes it useful to put in a post-receive hook to make a repository
- automatically update its working copy when git annex sync or the assistant
- sync with it.
- * webapp: Fix ssh setup with nonstandard port, broken in last release.
- * init: Detect systems on which git commit fails due to not being able to
- determine the FQDN, and put in a workaround so committing to the git-annex
- branch works.
- * addurl --pathdepth: Fix failure when the pathdepth specified is deeper
- than the urls's path.
- * Windows: Look for .exe extension when searching for a command in path.
- * Pass -f to curl when downloading a file with it, so it propigates failure.
- * Windows: Fix url to object when using a http remote.
- * webapp: Fix authorized_keys line added when setting up a rsync remote
- on a server that also supports git-annex, to not force running
- git-annex-shell.
- * OSX Mountain Lion: Fixed gpg bundled in dmg to not fail due to a missing
- gpg-agent.
- * Android: gpg is built without --enable-minimal, so it interoperates
- better with other gpg builds that may default to using other algorithms
- for encryption.
- * dropunused, addunused: Complain when asked to operate on a number that
- does not correspond to any unused key.
- * fsck: Don't claim to fix direct mode when run on a symlink whose content
- is not present.
- * Make --numcopies override annex.numcopies set in .gitattributes.
-
- -- Joey Hess <joeyh@debian.org> Tue, 09 Jul 2013 13:55:39 -0400
-
-git-annex (4.20130627) unstable; urgency=low
-
- * assistant --autostart: Automatically ionices the daemons it starts.
- * assistant: Daily sanity check thread is run niced.
- * bup: Handle /~/ in bup remote paths.
- Thanks, Oliver Matthews
- * fsck: Ensures that direct mode is used for files when it's enabled.
- * webapp: Fix bug when setting up a remote ssh repo repeatedly on the same
- server.
- * webapp: Ensure that ssh keys generated for different directories
- on a server are always different.
- * webapp: Fix bug setting up ssh repo if the user enters "~/" at the start
- of the path.
- * assistant: Fix bug that prevented adding files written by gnucash,
- and more generally support adding hard links to files. However,
- other operations on hard links are still unsupported.
- * webapp: Fix bug that caused the webapp to hang when built with yesod 1.2.
-
- -- Joey Hess <joeyh@debian.org> Thu, 27 Jun 2013 14:21:55 -0400
-
-git-annex (4.20130621) unstable; urgency=low
-
- * Supports indirect mode on encfs in paranoia mode, and other
- filesystems that do not support hard links, but do support
- symlinks and other POSIX filesystem features.
- * Android: Add .thumbnails to .gitignore when setting up a camera
- repository.
- * Android: Make the "Open webapp" menu item open the just created
- repository when a new repo is made.
- * webapp: When the user switches to display a different repository,
- that repository becomes the default repository to be displayed next time
- the webapp gets started.
- * glacier: Better handling of the glacier inventory, which avoids
- duplicate uploads to the same glacier repository by `git annex copy`.
- * Direct mode: No longer temporarily remove write permission bit of files
- when adding them.
- * sync: Better support for bare git remotes. Now pushes directly to the
- master branch on such a remote, instead of to synced/master. This
- makes it easier to clone from a bare git remote that has been populated
- with git annex sync or by the assistant.
- * Android: Fix use of cp command to not try to use features present
- only on build system.
- * Windows: Fix hang when adding several files at once.
- * assistant: In direct mode, objects are now only dropped when all
- associated files are unwanted. This avoids a repreated drop/get loop
- of a file that has a copy in an archive directory, and a copy not in an
- archive directory. (Indirect mode still has some buggy behavior in this
- area, since it does not keep track of associated files.)
- Closes: #712060
- * status: No longer shows dead repositories.
- * annex.debug can now be set to enable debug logging by default.
- The webapp's debugging check box does this.
- * fsck: Avoid getting confused by Windows path separators
- * Windows: Multiple bug fixes, including fixing the data written to the
- git-annex branch.
- * Windows: The test suite now passes on Windows (a few broken parts are
- disabled).
- * assistant: On Linux, the expensive transfer scan is run niced.
- * Enable assistant and WebDAV support on powerpc and sparc architectures,
- which now have the necessary dependencies built.
-
- -- Joey Hess <joeyh@debian.org> Fri, 21 Jun 2013 10:18:41 -0400
-
-git-annex (4.20130601) unstable; urgency=medium
-
- * XMPP: Git push over xmpp made much more robust.
- * XMPP: Avoid redundant and unncessary pushes. Note that this breaks
- compatibility with previous versions of git-annex, which will refuse
- to accept any XMPP pushes from this version.
- * XMPP: Send pings and use them to detect when contact with the server
- is lost.
- * hook special remote: Added combined hook program support.
- * Android app: Avoid using hard links to app's lib directory, which
- is sometimes on a different filesystem than the data directory.
- * Fix bug in parsing of parens in some preferred content expressions.
- This fixes the behavior of the manual mode group.
- * assistant: Work around git-cat-file's not reloading the index after files
- are staged.
- * Improve error handling when getting uuid of http remotes to auto-ignore,
- like with ssh remotes.
- * content: New command line way to view and configure a repository's
- preferred content settings.
- * sync: Fix double merge conflict resolution handling.
- * XMPP: Fix a file descriptor leak.
- * Android: Added an "Open WebApp" item to the terminal's menu.
- * Android: Work around Android devices where the `am` command doesn't work.
- * Can now restart certain long-running git processes if they crash, and
- continue working.
-
- -- Joey Hess <joeyh@debian.org> Sat, 01 Jun 2013 19:16:04 -0400
-
-git-annex (4.20130521) unstable; urgency=low
-
- * 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.
-
- -- Joey Hess <joeyh@debian.org> Tue, 21 May 2013 13:10:26 -0400
-
-git-annex (4.20130516) unstable; urgency=low
-
- * 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.
-
- -- Joey Hess <joeyh@debian.org> Thu, 16 May 2013 11:03:35 -0400
-
-git-annex (4.20130501) unstable; urgency=low
-
- * 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 rm`
- to delete a remote. Newer git uses `git 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.
-
- -- Joey Hess <joeyh@debian.org> Wed, 01 May 2013 01:42:46 -0400
-
-git-annex (4.20130417) unstable; urgency=low
-
- * 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).
-
- -- Joey Hess <joeyh@debian.org> Wed, 17 Apr 2013 09:07:38 -0400
-
-git-annex (4.20130405) unstable; urgency=low
-
- * 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 add` and 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.
-
- -- Joey Hess <joeyh@debian.org> Fri, 05 Apr 2013 10:42:18 -0400
-
-git-annex (4.20130323) unstable; urgency=low
-
- * webapp: Repository list is now included in the dashboard, and other
- UI tweaks.
- * webapp: Improved UI for pairing your own devices together using XMPP.
- * webapp: Display an alert when there are XMPP remotes, and a cloud
- transfer repository needs to be configured.
- * Add incrementalbackup repository group.
- * webapp: Encourage user to install git-annex on a server when adding
- a ssh server, rather than just funneling them through to rsync.
- * xmpp: --debug now enables a sanitized dump of the XMPP protocol
- * xmpp: Try harder to detect presence of clients when there's a git push
- to send.
- * xmpp: Re-enable XA flag, since disabling it did not turn out to help
- with the problems Google Talk has with not always sending presence
- messages to clients.
- * map: Combine duplicate repositories, for a nicer looking map.
- * Fix several bugs caused by a bad Ord instance for Remote.
- * webapp: Switch all forms to POST.
- * assistant: Avoid syncing with annex-ignored remotes when reconnecting
- to the network, or connecting a drive.
- * assistant: Fix OSX bug that prevented committing changed files to a
- repository when in indirect mode.
- * webapp: Improved alerts displayed when syncing with remotes, and
- when syncing with a remote fails.
- * webapp: Force wrap long filenames in transfer display.
- * assistant: The ConfigMonitor left one zombie behind each time
- it checked for changes, now fixed.
- * get, copy, move: Display an error message when an identical transfer
- is already in progress, rather than failing with no indication why.
- * assistant: Several optimisations to file transfers.
- * OSX app and standalone Linux tarball now both support being added to
- PATH; no need to use runshell to start git-annex.
- * webapp: When adding a removable drive, you can now specify the
- directory inside it to use.
- * webapp: Confirm whether user wants to combine repositories when
- adding a removable drive that already has a repository on it.
-
- -- Joey Hess <joeyh@debian.org> Fri, 22 Mar 2013 18:54:05 -0400
-
-git-annex (4.20130314) unstable; urgency=low
-
- * Bugfix: git annex add, when ran without any file or directory specified,
- should add files in the current directory, but not act on unlocked files
- elsewhere in the tree.
- * Bugfix: drop --from an unavailable remote no longer updates the location
- log, incorrectly, to say the remote does not have the key.
- * Bugfix: If the UUID of a remote is not known, prevent --from, --to,
- and other ways of specifying remotes by name from selecting it,
- since it is not possible to sanely use it.
- * Bugfix: Fix bug in inode cache sentinal check, which broke
- copying to local repos if the repo being copied from had moved
- to a different filesystem or otherwise changed all its inodes
-
- * Switch from using regex-compat to regex-tdfa, as the C regex library
- is rather buggy.
- * status: Can now be run with a directory path to show only the
- status of that directory, rather than the whole annex.
- * Added remote.<name>.annex-gnupg-options setting.
- Thanks, guilhem for the patch.
- * addurl: Add --relaxed option.
- * addurl: Escape invalid characters in urls, rather than failing to
- use an invalid url.
- * addurl: Properly handle url-escaped characters in file:// urls.
-
- * assistant: Fix dropping content when a file is moved to an archive
- directory, and getting contennt when a file is moved back out.
- * assistant: Fix bug in direct mode that could occur when a symlink is
- moved out of an archive directory, and resulted in the file not being
- set to direct mode when it was transferred.
- * assistant: Generate better commits for renames.
- * assistant: Logs are rotated to avoid them using too much disk space.
- * assistant: Avoid noise in logs from git commit about typechanged
- files in direct mode repositories.
- * assistant: Set gc.auto=0 when creating repositories to prevent
- automatic commits from causing git-gc runs.
- * assistant: If gc.auto=0, run git-gc once a day, packing loose objects
- very non-aggressively.
- * assistant: XMPP git pull and push requests are cached and sent when
- presence of a new client is detected.
- * assistant: Sync with all git remotes on startup.
- * assistant: Get back in sync with XMPP remotes after network reconnection,
- and on startup.
- * assistant: Fix syncing after XMPP pairing.
- * assistant: Optimised handling of renamed files in direct mode,
- avoiding re-checksumming.
- * assistant: Detects most renames, including directory renames, and
- combines all their changes into a single commit.
- * assistant: Fix ~/.ssh/git-annex-shell wrapper to work when the
- ssh key does not force a command.
- * assistant: Be smarter about avoiding unncessary transfers.
-
- * webapp: Work around bug in Warp's slowloris attack prevention code,
- that caused regular browsers to stall when they reuse a connection
- after leaving it idle for 30 seconds.
- (See https://github.com/yesodweb/wai/issues/146)
- * webapp: New preferences page allows enabling/disabling debug logging
- at runtime, as well as configuring numcopies and diskreserve.
- * webapp: Repository costs can be configured by dragging repositories around
- in the repository list.
- * webapp: Proceed automatically on from "Configure jabber account"
- to pairing.
- * webapp: Only show up to 10 queued transfers.
- * webapp: DTRT when told to create a git repo that already exists.
- * webapp: Set locally paired repositories to a lower cost than other
- network remotes.
-
- * Run ssh with -T to avoid tty allocation and any login scripts that
- may do undesired things with it.
- * Several improvements to Makefile and cabal file. Thanks, Peter Simmons
- * Stop depending on testpack.
- * Android: Enable test suite.
-
- -- Joey Hess <joeyh@debian.org> Thu, 14 Mar 2013 15:29:20 -0400
-
-git-annex (4.20130227) unstable; urgency=low
-
- * annex.version is now set to 4 for direct mode repositories.
- * Should now fully support git repositories with core.symlinks=false;
- always using git's pseudosymlink files in such repositories.
- * webapp: Allow creating repositories on filesystems that lack support for
- symlinks.
- * webapp: Can now add a new local repository, and make it sync with
- the main local repository.
- * Android: Bundle now includes openssh.
- * Android: Support ssh connection caching.
- * Android: Assistant is fully working. (But no webapp yet.)
- * Direct mode: Support filesystems like FAT which can change their inodes
- each time they are mounted.
- * Direct mode: Fix support for adding a modified file.
- * Avoid passing -p to rsync, to interoperate with crippled filesystems.
- Closes: #700282
- * Additional GIT_DIR support bugfixes. May actually work now.
- * webapp: Display any error message from git init if it fails to create
- a repository.
- * Fix a reversion in matching globs introduced in the last release,
- where "*" did not match files inside subdirectories. No longer uses
- the Glob library.
- * copy: Update location log when no copy was performed, if the location
- log was out of date.
- * Makefile now builds using cabal, taking advantage of cabal's automatic
- detection of appropriate build flags.
- * test: The test suite is now built into the git-annex binary, and can
- be run at any time.
-
- -- Joey Hess <joeyh@debian.org> Wed, 27 Feb 2013 14:07:24 -0400
-
-git-annex (3.20130216) unstable; urgency=low
-
- * Now uses the Haskell uuid library, rather than needing a uuid program.
- * Now uses the Haskell Glob library, rather than pcre-light, avoiding
- the need to install libpcre. Currently done only for Cabal or when
- the Makefile is made to use -DWITH_GLOB
- * Android port now available (command-line only).
- * New annex.crippledfilesystem setting, allows use of git-annex
- repositories on FAT and even worse filesystems; avoiding use of
- hard links and locked down permissions settings. (Support is incomplete.)
- * init: Detect when the repository is on a filesystem that does not
- support hard links, or symlinks, or unix permissions, and set
- annex.crippledfilesystem, as well as annex.direct.
- * add: Improved detection of files that are modified while being added.
- * Fix a bug in direct mode, introduced in the previous release, where
- if a file was dropped and then got back, it would be stored in indirect
- mode.
-
- -- Joey Hess <joeyh@debian.org> Sat, 16 Feb 2013 10:03:26 -0400
-
-git-annex (3.20130207) unstable; urgency=low
-
- * webapp: Now allows restarting any threads that crash.
- * Adjust debian package to only build-depend on DAV on architectures
- where it is available.
- * addurl --fast: Use curl, rather than haskell HTTP library, to support https.
- * annex.autocommit: New setting, can be used to disable autocommit
- of changed files by the assistant, while it still does data syncing
- and other tasks.
- * assistant: Ignore .DS_Store on OSX.
- * assistant: Fix location log when adding new file in direct mode.
- * Deal with stale mappings for deleted file in direct mode.
- * pre-commit: Update direct mode mappings.
- * uninit, unannex --fast: If hard link creation fails, fall back to slow
- mode.
- * Clean up direct mode cache and mapping info when dropping keys.
- * dropunused: Clean up stale direct mode cache and mapping info not
- removed before.
-
- -- Joey Hess <joeyh@debian.org> Thu, 07 Feb 2013 12:45:25 -0400
-
-git-annex (3.20130124) unstable; urgency=low
-
- * Added source repository group, that only retains files until they've
- been transferred to another repository. Useful for things like
- repositories on cameras.
- * Added manual repository group. Use to prevent the assistant from
- downloading any file contents to keep things in sync. Instead
- `git annex get`, `git annex drop` etc can be used manually as desired.
- * webapp: More adjustments to longpoll code to deal with changes in
- variable quoting in different versions of shakespeare-js.
- * webapp: Avoid an error if a transfer is stopped just as it finishes.
- Closes: #698184
- * webapp: Now always logs to .git/annex/daemon.log
- * webapp: Has a page to view the log, accessed from the control menu.
- * webapp: Fix crash adding removable drive that has an annex directory
- in it that is not a git repository.
- * Deal with incompatability in gpg2, which caused prompts for encryption
- passphrases rather than using the supplied --passphrase-fd.
- * bugfix: Union merges involving two or more repositories could sometimes
- result in data from one repository getting lost. This could result
- in the location log data becoming wrong, and fsck being needed to fix it.
- * sync: Automatic merge conflict resolution now stages deleted files.
- * Depend on git 1.7.7.6 for --no-edit. Closes: #698399
- * Fix direct mode mapping code to always store direct mode filenames
- relative to the top of the repository, even when operating inside a
- subdirectory.
- * fsck: Detect and fix consistency errors in direct mode mapping files.
- * Avoid filename encoding errors when writing direct mode mappings.
-
- -- Joey Hess <joeyh@debian.org> Tue, 22 Jan 2013 07:11:59 +1100
-
-git-annex (3.20130114) unstable; urgency=low
-
- * Now handles the case where a file that's being transferred to a remote
- is modified in place, which direct mode allows. When this
- happens, the transfer now fails, rather than allow possibly corrupt
- data into the remote.
- * fsck: Better checking of file content in direct mode.
- * drop: Suggest using git annex move when numcopies prevents dropping a file.
- * webapp: Repo switcher filters out repos that do not exist any more
- (or are on a drive that's not mounted).
- * webapp: Use IP address, rather than localhost, since some systems may
- have configuration problems or other issues that prevent web browsers
- from connecting to the right localhost IP for the webapp.
- * webapp: Adjust longpoll code to work with recent versions of
- shakespeare-js.
- * assistant: Support new gvfs dbus names used in Gnome 3.6.
- * In direct mode, files with the same key are no longer hardlinked, as
- that would cause a surprising behavior if modifying one, where the other
- would also change.
- * webapp: Avoid illegal characters in hostname when creating S3 or
- Glacier remote.
- * assistant: Avoid committer crashing if a file is deleted at the wrong
- instant.
-
- -- Joey Hess <joeyh@debian.org> Mon, 14 Jan 2013 15:25:18 -0400
-
-git-annex (3.20130107) unstable; urgency=low
-
- * webapp: Add UI to stop and restart assistant.
- * committer: Fix a file handle leak.
- * assistant: Make expensive transfer scan work fully in direct mode.
- * More commands work in direct mode repositories: find, whereis, move, copy,
- drop, log, fsck, add, addurl.
- * sync: No longer automatically adds files in direct mode.
- * assistant: Detect when system is not configured with a user name,
- and set environment to prevent git from failing.
- * direct: Avoid hardlinking symlinks that point to the same content
- when the content is not present.
- * Fix transferring files to special remotes in direct mode.
-
- -- Joey Hess <joeyh@debian.org> Mon, 07 Jan 2013 01:01:41 -0400
-
-git-annex (3.20130102) unstable; urgency=low
-
- * direct, indirect: New commands, that switch a repository to and from
- direct mode. In direct mode, files are accessed directly, rather than
- via symlinks. Note that direct mode is currently experimental. Many
- git-annex commands do not work in direct mode. Some git commands can
- cause data loss when used in direct mode repositories.
- * assistant: Now uses direct mode by default when setting up a new
- local repository.
- * OSX assistant: Uses the FSEvents API to detect file changes.
- This avoids issues with running out of file descriptors on large trees,
- as well as allowing detection of modification of files in direct mode.
- Other BSD systems still use kqueue.
- * kqueue: Fix bug that made broken symlinks not be noticed.
- * vicfg: Quote filename. Closes: #696193
- * Bugfix: Fixed bug parsing transfer info files, where the newline after
- the filename was included in it. This was generally benign, but in
- the assistant, it caused unexpected dropping of preferred content.
- * Bugfix: Remove leading \ from checksums output by sha*sum commands,
- when the filename contains \ or a newline. Closes: #696384
- * fsck: Still accept checksums with a leading \ as valid, now that
- above bug is fixed.
- * SHA*E backends: Exclude non-alphanumeric characters from extensions.
- * migrate: Remove leading \ in SHA* checksums, and non-alphanumerics
- from extensions of SHA*E keys.
-
- -- Joey Hess <joeyh@debian.org> Wed, 02 Jan 2013 13:21:34 -0400
-
-git-annex (3.20121211) unstable; urgency=low
-
- * webapp: Defaults to sharing box.com account info with friends, allowing
- one-click enabling of the repository.
- * Fix broken .config/git-annex/program installed by standalone tarball.
- * assistant: Retrival from glacier now handled.
- * Include ssh in standalone tarball and OSX app.
- * watch: Avoid leaving hard links to files behind in .git/annex/tmp
- if a file is deleted or moved while it's being quarantined in preparation
- to being added to the annex.
- * Allow `git annex drop --from web`; of course this does not remove
- any file from the web, but it does make git-annex remove all urls
- associated with a file.
- * webapp: S3 and Glacier forms now have a select list of all
- currently-supported AWS regions.
- * webdav: Avoid trying to set props, avoiding incompatability with
- livedrive.com. Needs DAV version 0.3.
- * webapp: Prettify error display.
- * webapp: Fix bad interaction between required fields and modals.
- * webapp: Added help buttons and links next to fields that require
- explanations.
- * webapp: Encryption can be disabled when setting up remotes.
- * assistant: Avoid trying to drop content from remotes that don't have it.
- * assistant: Allow periods in ssh key comments.
- * get/copy --auto: Transfer data even if it would exceed numcopies,
- when preferred content settings want it.
- * drop --auto: Fix dropping content when there are no preferred content
- settings.
- * webapp: Allow user to specify the port when setting up a ssh or rsync
- remote.
- * assistant: Fix syncing to just created ssh remotes.
- * Enable WebDAV support in Debian package. Closes: #695532
-
- -- Joey Hess <joeyh@debian.org> Tue, 11 Dec 2012 11:25:03 -0400
-
-git-annex (3.20121127) unstable; urgency=low
-
- * Fix dirContentsRecursive, which had missed some files in deeply nested
- subdirectories. Could affect various parts of git-annex.
- * rsync: Fix bug introduced in last release that broke encrypted rsync
- special remotes.
- * The standalone builds now unset their special path and library path
- variables before running the system web browser.
-
- -- Joey Hess <joeyh@debian.org> Tue, 27 Nov 2012 17:07:32 -0400
-
-git-annex (3.20121126) unstable; urgency=low
-
- * New webdav and Amazon glacier special remotes.
- * Display a warning when a non-existing file or directory is specified.
- * webapp: Added configurator for Box.com.
- * webapp: Show error messages to user when testing XMPP creds.
- * Fix build of assistant without yesod.
- * webapp: The list of repositiories refreshes when new repositories are
- added, including when new repository configurations are pushed in from
- remotes.
- * OSX: Fix RunAtLoad value in plist file.
- * Getting a file from chunked directory special remotes no longer buffers
- it all in memory.
- * S3: Added progress display for uploading and downloading.
- * directory special remote: Made more efficient and robust.
- * Bugfix: directory special remote could loop forever storing a key
- when a too small chunksize was configured.
- * Allow controlling whether login credentials for S3 and webdav are
- committed to the repository, by setting embedcreds=yes|no when running
- initremote.
- * Added smallarchive repository group, that only archives files that are
- in archive directories. Used by default for glacier when set up in the
- webapp.
- * assistant: Fixed handling of toplevel archive directory and
- client repository group.
- * assistant: Apply preferred content settings when a new symlink
- is created, or a symlink gets renamed. Made archive directories work.
-
- -- Joey Hess <joeyh@debian.org> Mon, 26 Nov 2012 11:37:49 -0400
-
-git-annex (3.20121112) unstable; urgency=low
-
- * assistant: Can use XMPP to notify other nodes about pushes made to other
- repositories, as well as pushing to them directly over XMPP.
- * wepapp: Added an XMPP configuration interface.
- * webapp: Supports pairing over XMPP, with both friends, and other repos
- using the same account.
- * assistant: Drops non-preferred content when possible.
- * assistant: Notices, and applies config changes as they are made to
- the git-annex branch, including config changes pushed in from remotes.
- * git-annex-shell: GIT_ANNEX_SHELL_DIRECTORY can be set to limit it
- to operating on a specified directory.
- * webapp: When setting up authorized_keys, use GIT_ANNEX_SHELL_DIRECTORY.
- * Preferred content path matching bugfix.
- * Preferred content expressions cannot use "in=".
- * Preferred content expressions can use "present".
- * Fix handling of GIT_DIR when it refers to a git submodule.
- * Depend on and use the Haskell SafeSemaphore library, which provides
- exception-safe versions of SampleVar and QSemN.
- Thanks, Ben Gamari for an excellent patch set.
- * file:/// URLs can now be used with the web special remote.
- * webapp: Allow dashes in ssh key comments when pairing.
- * uninit: Check and abort if there are symlinks to annexed content that
- are not checked into git.
- * webapp: Switched to using the same multicast IP address that avahi uses.
- * bup: Don't pass - to bup-split to make it read stdin; bup 0.25
- does not accept that.
- * bugfix: Don't fail transferring content from read-only repos.
- Closes: #691341
- * configure: Check that checksum programs produce correct checksums.
- * Re-enable dbus, using a new version of the library that fixes the memory
- leak.
- * NetWatcher: When dbus connection is lost, try to reconnect.
- * Use USER and HOME environment when set, and only fall back to getpwent,
- which doesn't work with LDAP or NIS.
- * rsync special remote: Include annex-rsync-options when running rsync
- to test a key's presence.
- * The standalone tarball's runshell now takes care of installing a
- ~/.ssh/git-annex-shell wrapper the first time it's run.
- * webapp: Make an initial, empty commit so there is a master branch
- * assistant: Fix syncing local drives.
- * webapp: Fix creation of rsync.net repositories.
- * webapp: Fix renaming of special remotes.
- * webapp: Generate better git remote names.
- * webapp: Ensure that rsync special remotes are enabled using the same
- name they were originally created using.
- * Bugfix: Fix hang in webapp when setting up a ssh remote with an absolute
- path.
-
- -- Joey Hess <joeyh@debian.org> Mon, 12 Nov 2012 10:39:47 -0400
-
-git-annex (3.20121017) unstable; urgency=low
-
- * Fix zombie cleanup reversion introduced in 3.20121009.
- * Additional fix to support git submodules.
-
- -- Joey Hess <joeyh@debian.org> Tue, 16 Oct 2012 21:10:14 -0400
-
-git-annex (3.20121016) unstable; urgency=low
-
- * vicfg: New file format, avoids ambiguity with repos that have the same
- description, or no description.
- * Bug fix: A recent change caused git-annex-shell to crash.
- * Better preferred content expression for transfer repos.
- * webapp: Repository edit form can now edit the name of a repository.
- * webapp: Make bare repositories on removable drives, as there is nothing
- to ensure non-bare repos get updated when syncing.
- * webapp: Better behavior when pausing syncing to a remote when a transfer
- scan is running and queueing new transfers for that remote.
- * The standalone binaries are now built to not use ssh connection caching,
- in order to work with old versions of ssh.
- * A relative core.worktree is relative to the gitdir. Now that this is
- handled correctly, git-annex can be used in git submodules.
- * Temporarily disable use of dbus, as the haskell dbus library blows up
- when losing connection, which will need to be fixed upstream.
-
- -- Joey Hess <joeyh@debian.org> Tue, 16 Oct 2012 15:25:22 -0400
-
-git-annex (3.20121010) unstable; urgency=low
-
- * Renamed --ingroup to --inallgroup.
- * Standard groups changed to client, transfer, archive, and backup.
- Each of these has its own standard preferred content setting.
- * dead: Remove dead repository from all groups.
- * Avoid unsetting HOME when running certian git commands. Closes: #690193
- * test: Fix threaded runtime hang.
- * Makefile: Avoid building with -threaded if the ghc threaded runtime does
- not exist.
- * webapp: Improve wording of intro display. Closes: #689848
- * webapp: Repositories can now be configured, to change their description,
- their group, or even to disable syncing to them.
- * git config remote.name.annex-sync can be used to control whether
- a remote gets synced.
- * Fix a crash when merging files in the git-annex branch that contain
- invalid utf8.
- * Automatically detect when a ssh remote does not have git-annex-shell
- installed, and set annex-ignore.
-
- -- Joey Hess <joeyh@debian.org> Fri, 12 Oct 2012 13:45:21 -0400
-
-git-annex (3.20121009) unstable; urgency=low
-
- * watch, assistant: It's now safe to git annex unlock files while
- the watcher is running, as well as modify files checked into git
- as normal files. Additionally, .gitignore settings are now honored.
- Closes: #689979
- * group, ungroup: New commands to indicate groups of repositories.
- * webapp: Adds newly created repositories to one of these groups:
- clients, drives, servers
- * vicfg: New command, allows editing (or simply viewing) most
- of the repository configuration settings stored in the git-annex branch.
- * Added preferred content expressions, configurable using vicfg.
- * get --auto: If the local repository has preferred content
- configured, only get that content.
- * drop --auto: If the repository the content is dropped from has
- preferred content configured, drop only content that is not preferred.
- * copy --auto: Only transfer content that the destination repository prefers.
- * assistant: Now honors preferred content settings when deciding what to
- transfer.
- * --copies=group:number can now be used to match files that are present
- in a specified number of repositories in a group.
- * Added --smallerthan, --largerthan, and --inall limits.
- * Only build-depend on libghc-clientsession-dev on arches that will have
- the webapp.
- * uninit: Unset annex.version. Closes: #689852
-
- -- Joey Hess <joeyh@debian.org> Tue, 09 Oct 2012 15:13:23 -0400
-
-git-annex (3.20121001) unstable; urgency=low
-
- * fsck: Now has an incremental mode. Start a new incremental fsck pass
- with git annex fsck --incremental. Now the fsck can be interrupted
- as desired, and resumed with git annex fsck --more.
- Thanks, Justin Azoff
- * New --time-limit option, makes long git-annex commands stop after
- a specified amount of time.
- * fsck: New --incremental-schedule option which is nice for scheduling
- eg, monthly incremental fsck runs in cron jobs.
- * Fix fallback to ~/Desktop when xdg-user-dir is not available.
- Closes: #688833
- * S3: When using a shared cipher, S3 credentials are not stored encrypted
- in the git repository, as that would allow anyone with access to
- the repository access to the S3 account. Instead, they're stored
- in a 600 mode file in the local git repo.
- * webapp: Avoid crashing when ssh-keygen -F chokes on an invalid known_hosts
- file.
- * Always do a system wide installation when DESTDIR is set. Closes: #689052
- * The Makefile now builds with the new yesod by default.
- Systems like Debian that have the old yesod 1.0.1 should set
- GIT_ANNEX_LOCAL_FEATURES=-DWITH_OLD_YESOD
- * copy: Avoid updating the location log when no copy is performed.
- * configure: Test that uuid -m works, falling back to plain uuid if not.
- * Avoid building the webapp on Debian architectures that do not yet
- have template haskell and thus yesod. (Should be available for arm soonish
- I hope).
-
- -- Joey Hess <joeyh@debian.org> Mon, 01 Oct 2012 13:56:55 -0400
-
-git-annex (3.20120924) unstable; urgency=low
-
- * assistant: New command, a daemon which does everything watch does,
- as well as automatically syncing file contents between repositories.
- * webapp: An interface for managing and configuring the assistant.
- * The default backend used when adding files to the annex is changed
- from SHA256 to SHA256E, to simplify interoperability with OSX, media
- players, and various programs that needlessly look at symlink targets.
- To get old behavior, add a .gitattributes containing: * annex.backend=SHA256
- * init: If no description is provided for a new repository, one will
- automatically be generated, like "joey@gnu:~/foo"
- * test: Set a lot of git environment variables so testing works in strange
- environments that normally need git config to set names, etc.
- Closes: #682351 Thanks, gregor herrmann
- * Disable ssh connection caching if the path to the control socket would be
- too long (and use relative path to minimise path to the control socket).
- * migrate: Check content before generating the new key, to avoid generating
- a key for corrupt data.
- * Support repositories created with --separate-git-dir. Closes: #684405
- * reinject: When the provided file doesn't match, leave it where it is,
- rather than moving to .git/annex/bad/
- * Avoid crashing on encoding errors in filenames when writing transfer info
- files and reading from checksum commands.
- * sync: Pushes the git-annex branch to remote/synced/git-annex, rather
- than directly to remote/git-annex.
- * Now supports matching files that are present on a number of remotes
- with a specified trust level. Example: --copies=trusted:2
- Thanks, Nicolas Pouillard
-
- -- Joey Hess <joeyh@debian.org> Mon, 24 Sep 2012 13:47:48 -0400
-
-git-annex (3.20120825) unstable; urgency=low
-
- * S3: Add fileprefix setting.
- * Pass --use-agent to gpg when in no tty mode. Thanks, Eskild Hustvedt.
- * Bugfix: Fix fsck in SHA*E backends, when the key contains composite
- extensions, as added in 3.20120721.
-
- -- Joey Hess <joeyh@debian.org> Sat, 25 Aug 2012 10:00:10 -0400
-
-git-annex (3.20120807) unstable; urgency=low
-
- * initremote: Avoid recording remote's description before checking
- that its config is valid.
- * unused, status: Avoid crashing when ran in bare repo.
- * Avoid crashing when "git annex get" fails to download from one
- location, and falls back to downloading from a second location.
-
- -- Joey Hess <joeyh@debian.org> Tue, 07 Aug 2012 13:35:07 -0400
-
-git-annex (3.20120721) unstable; urgency=low
-
- * get, move, copy: Now refuse to do anything when the requested file
- transfer is already in progress by another process.
- * status: Lists transfers that are currently in progress.
- * Fix passing --uuid to git-annex-shell.
- * When shaNsum commands cannot be found, use the Haskell SHA library
- (already a dependency) to do the checksumming. This may be slower,
- but avoids portability problems.
- * Use SHA library for files less than 50 kb in size, at which point it's
- faster than forking the more optimised external program.
- * SHAnE backends are now smarter about composite extensions, such as
- .tar.gz Closes: #680450
- * map: Write map.dot to .git/annex, which avoids watch trying to annex it.
-
- -- Joey Hess <joeyh@debian.org> Sat, 21 Jul 2012 16:52:48 -0400
-
-git-annex (3.20120629) unstable; urgency=low
-
- * cabal: Only try to use inotify on Linux.
- * Version build dependency on STM, and allow building without it,
- which disables the watch command.
- * Avoid ugly failure mode when moving content from a local repository
- that is not available.
- * Got rid of the last place that did utf8 decoding.
- * Accept arbitrarily encoded repository filepaths etc when reading
- git config output. This fixes support for remotes with unusual characters
- in their names.
- * sync: Automatically resolves merge conflicts.
-
- -- Joey Hess <joeyh@debian.org> Fri, 29 Jun 2012 10:17:49 -0400
-
-git-annex (3.20120624) unstable; urgency=low
-
- * watch: New subcommand, a daemon which notices changes to
- files and automatically annexes new files, etc, so you don't
- need to manually run git commands when manipulating files.
- Available on Linux, BSDs, and OSX!
- * Enable diskfree on kfreebsd, using kqueue.
- * unused: Fix crash when key names contain invalid utf8.
- * sync: Avoid recent git's interactive merge.
-
- -- Joey Hess <joeyh@debian.org> Sun, 24 Jun 2012 12:36:50 -0400
-
-git-annex (3.20120614) unstable; urgency=medium
-
- * addurl: Was broken by a typo introduced 2 released ago, now fixed.
- Closes: #677576
- * Install man page when run by cabal, in a location where man will
- find it, even when installing under $HOME. Thanks, Nathan Collins
-
- -- Joey Hess <joeyh@debian.org> Thu, 14 Jun 2012 20:21:29 -0400
-
-git-annex (3.20120611) unstable; urgency=medium
-
- * add: Prevent (most) modifications from being made to a file while it
- is being added to the annex.
- * initremote: Automatically describe a remote when creating it.
- * uninit: Refuse to run in a subdirectory. Closes: #677076
-
- -- Joey Hess <joeyh@debian.org> Mon, 11 Jun 2012 10:32:01 -0400
-
-git-annex (3.20120605) unstable; urgency=low
-
- * sync: Show a nicer message if a user tries to sync to a special remote.
- * lock: Reset unlocked file to index, rather than to branch head.
- * import: New subcommand, pulls files from a directory outside the annex
- and adds them.
- * Fix display of warning message when encountering a file that uses an
- unsupported backend.
- * Require that the SHA256 backend can be used when building, since it's the
- default.
- * Preserve parent environment when running hooks of the hook special remote.
-
- -- Joey Hess <joeyh@debian.org> Tue, 05 Jun 2012 14:03:39 -0400
-
-git-annex (3.20120522) unstable; urgency=low
-
- * Pass -a to cp even when it supports --reflink=auto, to preserve
- permissions.
- * Clean up handling of git directory and git worktree.
- * Add support for core.worktree, and fix support for GIT_WORK_TREE and
- GIT_DIR.
-
- -- Joey Hess <joeyh@debian.org> Tue, 22 May 2012 11:16:13 -0400
-
-git-annex (3.20120511) unstable; urgency=low
-
- * Rsync special remotes can be configured with shellescape=no
- to avoid shell quoting that is normally done when using rsync over ssh.
- This is known to be needed for certian rsync hosting providers
- (specificially hidrive.strato.com) that use rsync over ssh but do not
- pass it through the shell.
- * dropunused: Allow specifying ranges to drop.
- * addunused: New command, the opposite of dropunused, it relinks unused
- content into the git repository.
- * Fix use of several config settings: annex.ssh-options,
- annex.rsync-options, annex.bup-split-options. (And adjust types to avoid
- the bugs that broke several config settings.)
-
- -- Joey Hess <joeyh@debian.org> Fri, 11 May 2012 12:29:30 -0400
-
-git-annex (3.20120430) unstable; urgency=low
-
- * Fix use of annex.diskreserve config setting.
- * Directory special remotes now check annex.diskreserve.
- * Support git's core.sharedRepository configuration.
- * Add annex.http-headers and annex.http-headers-command config
- settings, to allow custom headers to be sent with all HTTP requests.
- (Requested by the Internet Archive)
- * uninit: Clear annex.uuid from .git/config. Closes: #670639
- * Added shared cipher mode to encryptable special remotes. This option
- avoids gpg key distribution, at the expense of flexability, and with
- the requirement that all clones of the git repository be equally trusted.
-
- -- Joey Hess <joeyh@debian.org> Mon, 30 Apr 2012 13:16:10 -0400
-
-git-annex (3.20120418) unstable; urgency=low
-
- * bugfix: Adding a dotfile also caused all non-dotfiles to be added.
- * bup: Properly handle key names with spaces or other things that are
- not legal git refs.
- * git-annex (but not git-annex-shell) supports the git help.autocorrect
- configuration setting, doing fuzzy matching using the restricted
- Damerau-Levenshtein edit distance, just as git does. This adds a build
- dependency on the haskell edit-distance library.
- * Renamed diskfree.c to avoid OSX case insensativity bug.
- * cabal now installs git-annex-shell as a symlink to git-annex.
- * cabal file now autodetects whether S3 support is available.
-
- -- Joey Hess <joeyh@debian.org> Wed, 18 Apr 2012 12:11:32 -0400
-
-git-annex (3.20120406) unstable; urgency=low
-
- * Disable diskfree on kfreebsd, as I have a build failure on kfreebsd-i386
- that is quite likely caused by it.
-
- -- Joey Hess <joeyh@debian.org> Sat, 07 Apr 2012 15:50:36 -0400
-
-git-annex (3.20120405) unstable; urgency=low
-
- * Rewrote free disk space checking code, moving the portability
- handling into a small C library.
- * status: Display amount of free disk space.
-
- -- Joey Hess <joeyh@debian.org> Thu, 05 Apr 2012 16:19:10 -0400
-
-git-annex (3.20120315) unstable; urgency=low
-
- * fsck: Fix up any broken links and misplaced content caused by the
- directory hash calculation bug fixed in the last release.
- * sync: Sync to lower cost remotes first.
- * status: Fixed to run in constant space.
- * status: More accurate display of sizes of tmp and bad keys.
- * unused: Now uses a bloom filter, and runs in constant space.
- Use of a bloom filter does mean it will not notice a small
- number of unused keys. For repos with up to half a million keys,
- it will miss one key in 1000.
- * Added annex.bloomcapacity and annex.bloomaccuracy, which can be
- adjusted as desired to tune the bloom filter.
- * status: Display amount of memory used by bloom filter, and
- detect when it's too small for the number of keys in a repository.
- * git-annex-shell: Runs hooks/annex-content after content is received
- or dropped.
- * Work around a bug in rsync (IMHO) introduced by openSUSE's SIP patch.
- * git-annex now behaves as git-annex-shell if symlinked to and run by that
- name. The Makefile sets this up, saving some 8 mb of installed size.
- * git-union-merge is a demo program, so it is no longer built by default.
-
- -- Joey Hess <joeyh@debian.org> Thu, 15 Mar 2012 11:05:28 -0400
-
-git-annex (3.20120309) unstable; urgency=low
-
- * Fix key directory hash calculation code to behave as it did before
- version 3.20120227 when a key contains non-ascii characters (only
- WORM backend is likely to have been affected).
-
- -- Joey Hess <joeyh@debian.org> Fri, 09 Mar 2012 20:05:09 -0400
-
-git-annex (3.20120230) unstable; urgency=low
-
- * "here" can be used to refer to the current repository,
- which can read better than the old "." (which still works too).
- * Directory special remotes now support chunking files written to them,
- avoiding writing files larger than a specified size.
- * Add progress bar display to the directory special remote.
- * Add configurable hooks that are run when git-annex starts and stops
- using a remote: remote.name.annex-start-command and
- remote.name.annex-stop-command
- * Fix a bug in symlink calculation code, that triggered in rare
- cases where an annexed file is in a subdirectory that nearly
- matched to the .git/annex/object/xx/yy subdirectories.
-
- -- Joey Hess <joeyh@debian.org> Mon, 05 Mar 2012 13:38:13 -0400
-
-git-annex (3.20120229) unstable; urgency=low
-
- * Fix test suite to not require a unicode locale.
- * Fix cabal build failure. Thanks, Sergei Trofimovich
-
- -- Joey Hess <joeyh@debian.org> Wed, 29 Feb 2012 02:31:31 -0400
-
-git-annex (3.20120227) unstable; urgency=low
-
- * Modifications to support ghc 7.4's handling of filenames.
- This version can only be built with ghc 7.4 or newer. See the ghc7.0
- branch for older ghcs.
- * S3: Fix irrefutable pattern failure when accessing encrypted S3
- credentials.
- * Use the haskell IfElse library.
- * Fix teardown of stale cached ssh connections.
- * Fixed to use the strict state monad, to avoid leaking all kinds of memory
- due to lazy state update thunks when adding/fixing many files.
- * Fixed some memory leaks that occurred when committing journal files.
- * Added a annex.queuesize setting, useful when adding hundreds of thousands
- of files on a system with plenty of memory.
- * whereis: Prints the urls of files that the web special remote knows about.
- * addurl --fast: Verifies that the url can be downloaded (only getting
- its head), and records the size in the key.
- * When checking that an url has a key, verify that the Content-Length,
- if available, matches the size of the key.
- * addurl: Added a --file option, which can be used to specify what
- file the url is added to. This can be used to override the default
- filename that is used when adding an url, which is based on the url.
- Or, when the file already exists, the url is recorded as another
- location of the file.
- * addurl: Normalize badly encoded urls.
- * addurl: Add --pathdepth option.
- * rekey: New plumbing level command, can be used to change the keys used
- for files en masse.
- * Store web special remote url info in a more efficient location.
- (Urls stored with this version will not be visible to older versions.)
- * Deal with NFS problem that caused a failure to remove a directory
- when removing content from the annex.
- * Make a single location log commit after a remote has received or
- dropped files. Uses a new "git-annex-shell commit" command when available.
- * To avoid commits of data to the git-annex branch after each command
- is run, set annex.alwayscommit=false. Its data will then be committed
- less frequently, when a merge or sync is done.
- * configure: Check if ssh connection caching is supported by the installed
- version of ssh and default annex.sshcaching accordingly.
- * move --from, copy --from: Now 10 times faster when scanning to find
- files in a remote on a local disk; rather than go through the location log
- to see which files are present on the remote, it simply looks at the
- disk contents directly.
-
- -- Joey Hess <joeyh@debian.org> Mon, 27 Feb 2012 12:58:21 -0400
-
-git-annex (3.20120123) unstable; urgency=low
-
- * fsck --from: Fscking a remote is now supported. It's done by retrieving
- the contents of the specified files from the remote, and checking them,
- so can be an expensive operation. Still, if the remote is a special
- remote, or a git repository that you cannot run fsck in locally, it's
- nice to have the ability to fsck it.
- * If you have any directory special remotes, now would be a good time to
- fsck them, in case you were hit by the data loss bug fixed in the
- previous release!
- * fsck --from remote --fast: Avoids expensive file transfers, at the
- expense of not checking file size and/or contents.
- * Ssh connection caching is now enabled automatically by git-annex.
- Only one ssh connection is made to each host per git-annex run, which
- can speed some things up a lot, as well as avoiding repeated password
- prompts. Concurrent git-annex processes also share ssh connections.
- Cached ssh connections are shut down when git-annex exits.
- * To disable the ssh caching (if for example you have your own broader
- ssh caching configuration), set annex.sshcaching=false.
-
- -- Joey Hess <joeyh@debian.org> Mon, 23 Jan 2012 13:48:48 -0400
-
-git-annex (3.20120116) unstable; urgency=medium
-
- * Fix data loss bug in directory special remote, when moving a file
- to the remote failed, and partially transferred content was left
- behind in the directory, re-running the same move would think it
- succeeded and delete the local copy.
-
- -- Joey Hess <joeyh@debian.org> Mon, 16 Jan 2012 16:43:45 -0400
-
-git-annex (3.20120115) unstable; urgency=low
-
- * Add a sanity check for bad StatFS results. On architectures
- where StatFS does not currently work (s390, mips, powerpc, sparc),
- this disables the diskreserve checking code, and attempting to
- configure an annex.diskreserve will result in an error.
- * Fix QuickCheck dependency in cabal file.
- * Minor optimisations.
-
- -- Joey Hess <joeyh@debian.org> Sun, 15 Jan 2012 13:54:20 -0400
-
-git-annex (3.20120113) unstable; urgency=low
-
- * log: Add --gource mode, which generates output usable by gource.
- * map: Fix display of remote repos
- * Add annex-trustlevel configuration settings, which can be used to
- override the trust level of a remote.
- * git-annex, git-union-merge: Support GIT_DIR and GIT_WORK_TREE.
- * Add libghc-testpack-dev to build depends on all arches.
-
- -- Joey Hess <joeyh@debian.org> Fri, 13 Jan 2012 15:35:17 -0400
-
-git-annex (3.20120106) unstable; urgency=low
-
- * Support unescaped repository urls, like git does.
- * log: New command that displays the location log for files,
- showing each repository they were added to and removed from.
- * Fix overbroad gpg --no-tty fix from last release.
-
- -- Joey Hess <joeyh@debian.org> Sat, 07 Jan 2012 13:16:23 -0400
-
-git-annex (3.20120105) unstable; urgency=low
-
- * Added annex-web-options configuration settings, which can be
- used to provide parameters to whichever of wget or curl git-annex uses
- (depends on which is available, but most of their important options
- suitable for use here are the same).
- * Dotfiles, and files inside dotdirs are not added by "git annex add"
- unless the dotfile or directory is explicitly listed. So "git annex add ."
- will add all untracked files in the current directory except for those in
- dotdirs.
- * Added quickcheck to build dependencies, and fail if test suite cannot be
- built.
- * fsck: Do backend-specific check before checking numcopies is satisfied.
- * Run gpg with --no-tty. Closes: #654721
-
- -- Joey Hess <joeyh@debian.org> Thu, 05 Jan 2012 13:44:12 -0400
-
-git-annex (3.20111231) unstable; urgency=low
-
- * sync: Improved to work well without a central bare repository.
- Thanks to Joachim Breitner.
- * Rather than manually committing, pushing, pulling, merging, and git annex
- merging, we encourage you to give "git annex sync" a try.
- * sync --fast: Selects some of the remotes with the lowest annex.cost
- and syncs those, in addition to any specified at the command line.
- * Union merge now finds the least expensive way to represent the merge.
- * reinject: Add a sanity check for using an annexed file as the source file.
- * Properly handle multiline git config values.
- * Fix the hook special remote, which bitrotted a while ago.
- * map: --fast disables use of dot to display map
- * Test suite improvements. Current top-level test coverage: 75%
- * Improve deletion of files from rsync special remotes. Closes: #652849
- * Add --include, which is the same as --not --exclude.
- * Format strings can be specified using the new --format option, to control
- what is output by git annex find.
- * Support git annex find --json
- * Fixed behavior when multiple insteadOf configs are provided for the
- same url base.
- * Can now be built with older git versions (before 1.7.7); the resulting
- binary should only be used with old git.
- * Updated to build with monad-control 0.3.
-
- -- Joey Hess <joeyh@debian.org> Sat, 31 Dec 2011 14:55:29 -0400
-
-git-annex (3.20111211) unstable; urgency=medium
-
- * Fix bug in last version in getting contents from bare repositories.
- * Ensure that git-annex branch changes are merged into git-annex's index,
- which fixes a bug that could cause changes that were pushed to the
- git-annex branch to get reverted. As a side effect, it's now safe
- for users to check out and commit changes directly to the git-annex
- branch.
- * map: Fix a failure to detect a loop when both repositories are local
- and refer to each other with relative paths.
- * Prevent key names from containing newlines.
- * add: If interrupted, add can leave files converted to symlinks but not
- yet added to git. Running the add again will now clean up this situtation.
- * Fix caching of decrypted ciphers, which failed when drop had to check
- multiple different encrypted special remotes.
- * unannex: Can be run on files that have been added to the annex, but not
- yet committed.
- * sync: New command that synchronises the local repository and default
- remote, by running git commit, pull, and push for you.
- * Version monad-control dependency in cabal file.
-
- -- Joey Hess <joeyh@debian.org> Sun, 11 Dec 2011 21:24:39 -0400
-
-git-annex (3.20111203) unstable; urgency=low
-
- * The VFAT filesystem on recent versions of Linux, when mounted with
- shortname=mixed, does not get along well with git-annex's mixed case
- .git/annex/objects hash directories. To avoid this problem, new content
- is now stored in all-lowercase hash directories. Except for non-bare
- repositories which would be a pain to transition and cannot be put on FAT.
- (Old mixed-case hash directories are still tried for backwards
- compatibility.)
- * Flush json output, avoiding a buffering problem that could result in
- doubled output.
- * Avoid needing haskell98 and other fixes for new ghc. Thanks, Mark Wright.
- * Bugfix: dropunused did not drop keys with two spaces in their name.
- * Support for storing .git/annex on a different device than the rest of the
- git repository.
- * --inbackend can be used to make git-annex only operate on files
- whose content is stored using a specified key-value backend.
- * dead: A command which says that a repository is gone for good
- and you don't want git-annex to mention it again.
-
- -- Joey Hess <joeyh@debian.org> Sat, 03 Dec 2011 21:01:45 -0400
-
-git-annex (3.20111122) unstable; urgency=low
-
- * merge: Improve commit messages to mention what was merged.
- * Avoid doing auto-merging in commands that don't need fully current
- information from the git-annex branch. In particular, git annex add
- no longer needs to auto-merge.
- * init: When run in an already initalized repository, and without
- a description specified, don't delete the old description.
- * Optimised union merging; now only runs git cat-file once, and runs
- in constant space.
- * status: Now displays trusted, untrusted, and semitrusted repositories
- separately.
- * status: Include all special remotes in the list of repositories.
- * status: Fix --json mode.
- * status: --fast is back
- * Fix support for insteadOf url remapping. Closes: #644278
- * When not run in a git repository, git-annex can still display a usage
- message, and "git annex version" even works.
- * migrate: Don't fall over a stale temp file.
- * Avoid excessive escaping for rsync special remotes that are not accessed
- over ssh.
- * find: Support --print0
-
- -- Joey Hess <joeyh@debian.org> Tue, 22 Nov 2011 14:31:45 -0400
-
-git-annex (3.20111111) unstable; urgency=low
-
- * Handle a case where an annexed file is moved into a gitignored directory,
- by having fix --force add its change.
- * Avoid cyclic drop problems.
- * Optimized copy --from and get --from to avoid checking the location log
- for files that are already present.
- * Automatically fix up badly formatted uuid.log entries produced by
- 3.20111105, whenever the uuid.log is changed (ie, by init or describe).
- * map: Support remotes with /~/ and /~user/
-
- -- Joey Hess <joeyh@debian.org> Fri, 11 Nov 2011 13:44:18 -0400
-
-git-annex (3.20111107) unstable; urgency=low
-
- * merge: Use fast-forward merges when possible.
- Thanks Valentin Haenel for a test case showing how non-fast-forward
- merges could result in an ongoing pull/merge/push cycle.
- * Don't try to read config from repos with annex-ignore set.
- * Bugfix: In the past two releases, git-annex init has written the uuid.log
- in the wrong format, with the UUID and description flipped.
-
- -- Joey Hess <joeyh@debian.org> Mon, 07 Nov 2011 12:47:44 -0400
-
-git-annex (3.20111105) unstable; urgency=low
-
- * The default backend used when adding files to the annex is changed
- from WORM to SHA256.
- To get old behavior, add a .gitattributes containing: * annex.backend=WORM
- * Sped up some operations on remotes that are on the same host.
- * copy --to: Fixed leak when copying many files to a remote on the same
- host.
- * uninit: Add guard against being run with the git-annex branch checked out.
- * Fail if --from or --to is passed to commands that do not support them.
- * drop --from is now supported to remove file content from a remote.
- * status: Now always shows the current repository, even when it does not
- appear in uuid.log.
- * fsck: Now works in bare repositories. Checks location log information,
- and file contents. Does not check that numcopies is satisfied, as
- .gitattributes information about numcopies is not available in a bare
- repository.
- * unused, dropunused: Now work in bare repositories.
- * Removed the setkey command, and added a reinject command with a more
- useful interface.
- * The fromkey command now takes the key as its first parameter. The --key
- option is no longer used.
- * Built without any filename containing .git being excluded. Closes: #647215
- * Record uuid when auto-initializing a remote so it shows in status.
- * Bugfix: Fixed git-annex init crash in a bare repository when there was
- already an existing git-annex branch.
- * Pass -t to rsync to preserve timestamps.
-
- -- Joey Hess <joeyh@debian.org> Sat, 05 Nov 2011 15:47:52 -0400
-
-git-annex (3.20111025) unstable; urgency=low
-
- * A remote can have a annexUrl configured, that is used by git-annex
- instead of its usual url. (Similar to pushUrl.)
- * migrate: Copy url logs for keys when migrating.
- * git-annex-shell: GIT_ANNEX_SHELL_READONLY and GIT_ANNEX_SHELL_LIMITED
- environment variables can be set to limit what commands can be run.
- This is used by gitolite's new git-annex support!
-
- -- Joey Hess <joeyh@debian.org> Tue, 25 Oct 2011 13:03:08 -0700
-
-git-annex (3.20111011) unstable; urgency=low
-
- * This version of git-annex only works with git 1.7.7 and newer.
- The breakage with old versions is subtle, and affects the
- annex.numcopies settings in .gitattributes, so be sure to upgrade git
- to 1.7.7. (Debian package now depends on that version.)
- * Don't pass absolute paths to git show-attr, as it started following
- symlinks when that's done in 1.7.7. Instead, use relative paths,
- which show-attr only handles 100% correctly in 1.7.7. Closes: #645046
- * Fix referring to remotes by uuid.
- * New or changed repository descriptions in uuid.log now have a timestamp,
- which is used to ensure the newest description is used when the uuid.log
- has been merged.
- * Note that older versions of git-annex will display the timestamp as part
- of the repository description, which is ugly but otherwise harmless.
- * Add timestamps to trust.log and remote.log too.
- * git-annex-shell: Added the --uuid option.
- * git-annex now asks git-annex-shell to verify that it's operating in
- the expected repository.
- * Note that this git-annex will not interoperate with remotes using
- older versions of git-annex-shell.
- * Now supports git's insteadOf configuration, to modify the url
- used to access a remote. Note that pushInsteadOf is not used;
- that and pushurl are reserved for actual git pushes. Closes: #644278
- * status: List all known repositories.
- * When displaying a list of repositories, show git remote names
- in addition to their descriptions.
- * Add locking to avoid races when changing the git-annex branch.
- * Various speed improvements gained by using ByteStrings.
- * Contain the zombie hordes.
-
- -- Joey Hess <joeyh@debian.org> Tue, 11 Oct 2011 23:00:02 -0400
-
-git-annex (3.20110928) unstable; urgency=low
-
- * --in can be used to make git-annex only operate on files
- believed to be present in a given repository.
- * Arbitrarily complex expressions can be built to limit the files git-annex
- operates on, by combining the options --not --and --or -( and -)
- Example: git annex get --exclude '*.mp3' --and --not -( --in usbdrive --or --in archive -)
- * --copies=N can be used to make git-annex only operate on files with
- the specified number of copies. (And --not --copies=N for the inverse.)
- * find: Rather than only showing files whose contents are present,
- when used with --exclude --copies or --in, displays all files that
- match the specified conditions.
- * Note that this is a behavior change for git-annex find! Old behavior
- can be gotten by using: git-annex find --in .
- * status: Massively sped up; remove --fast mode.
- * unused: File contents used by branches and tags are no longer
- considered unused, even when not used by the current branch. This is
- the final piece of the puzzle needed for git-annex to to play nicely
- with branches.
-
- -- Joey Hess <joeyh@debian.org> Wed, 28 Sep 2011 18:14:02 -0400
-
-git-annex (3.20110915) unstable; urgency=low
-
- * whereis: Show untrusted locations separately and do not include in
- location count.
- * Fix build without S3.
- * addurl: Always use whole url as destination filename, rather than
- only its file component.
- * get, drop, copy: Added --auto option, which decides whether
- to get/drop content as needed to work toward the configured numcopies.
- * bugfix: drop and fsck did not honor --exclude
-
- -- Joey Hess <joeyh@debian.org> Thu, 15 Sep 2011 22:25:46 -0400
-
-git-annex (3.20110906) unstable; urgency=low
-
- * Improve display of newlines around error and warning messages.
- * Fix Makefile to work with cabal again.
-
- -- Joey Hess <joeyh@debian.org> Tue, 06 Sep 2011 13:45:16 -0400
-
-git-annex (3.20110902) unstable; urgency=low
-
- * Set EMAIL when running test suite so that git does not need to be
- configured first. Closes: #638998
- * The wget command will now be used in preference to curl, if available.
- * init: Make description an optional parameter.
- * unused, status: Sped up by avoiding unnecessary stats of annexed files.
- * unused --remote: Reduced memory use to 1/4th what was used before.
- * Add --json switch, to produce machine-consumable output.
-
- -- Joey Hess <joeyh@debian.org> Fri, 02 Sep 2011 21:20:37 -0400
-
-git-annex (3.20110819) unstable; urgency=low
-
- * Now "git annex init" only has to be run once, when a git repository
- is first being created. Clones will automatically notice that git-annex
- is in use and automatically perform a basic initalization. It's
- still recommended to run "git annex init" in any clones, to describe them.
- * Added annex-cost-command configuration, which can be used to vary the
- cost of a remote based on the output of a shell command.
- * Fix broken upgrade from V1 repository. Closes: #638584
-
- -- Joey Hess <joeyh@debian.org> Fri, 19 Aug 2011 20:34:09 -0400
-
-git-annex (3.20110817) unstable; urgency=low
-
- * Fix shell escaping in rsync special remote.
- * addurl: --fast can be used to avoid immediately downloading the url.
- * Added support for getting content from git remotes using http (and https).
- * Added curl to Debian package dependencies.
-
- -- Joey Hess <joeyh@debian.org> Wed, 17 Aug 2011 01:29:02 -0400
-
-git-annex (3.20110719) unstable; urgency=low
-
- * add: Be even more robust to avoid ever leaving the file seemingly deleted.
- Closes: #634233
- * Bugfix: Make add ../ work.
- * Support the standard git -c name=value
- * unannex: Clean up use of git commit -a.
-
- -- Joey Hess <joeyh@debian.org> Tue, 19 Jul 2011 23:39:53 -0400
-
-git-annex (3.20110707) unstable; urgency=low
-
- * Fix sign bug in disk free space checking.
- * Bugfix: Forgot to de-escape keys when upgrading. Could result in
- bad location log data for keys that contain [&:%] in their names.
- (A workaround for this problem is to run git annex fsck.)
- * add: Avoid a failure mode that resulted in the file seemingly being
- deleted (content put in the annex but no symlink present).
-
- -- Joey Hess <joeyh@debian.org> Thu, 07 Jul 2011 19:29:39 -0400
-
-git-annex (3.20110705) unstable; urgency=low
-
- * uninit: Delete the git-annex branch and .git/annex/
- * unannex: In --fast mode, file content is left in the annex, and a
- hard link made to it.
- * uninit: Use unannex in --fast mode, to support unannexing multiple
- files that link to the same content.
- * Drop the dependency on the haskell curl bindings, use regular haskell HTTP.
- * Fix a pipeline stall when upgrading (caused by #624389).
-
- -- Joey Hess <joeyh@debian.org> Tue, 05 Jul 2011 14:37:39 -0400
-
-git-annex (3.20110702) unstable; urgency=low
-
- * Now the web can be used as a special remote.
- This feature replaces the old URL backend.
- * addurl: New command to download an url and store it in the annex.
- * Sped back up fsck, copy --from, and other commands that often
- have to read a lot of information from the git-annex branch. Such
- commands are now faster than they were before introduction of the
- git-annex branch.
- * Always ensure git-annex branch exists.
- * Modify location log parser to allow future expansion.
- * --force will cause add, etc, to operate on ignored files.
- * Avoid mangling encoding when storing the description of repository
- and other content.
- * cabal can now be used to build git-annex. This is substantially
- slower than using make, does not build or install documentation,
- does not run the test suite, and is not particularly recommended,
- but could be useful to some.
-
- -- Joey Hess <joeyh@debian.org> Sat, 02 Jul 2011 15:00:18 -0400
-
-git-annex (3.20110624) experimental; urgency=low
-
- * New repository format, annex.version=3. Use `git annex upgrade` to migrate.
- * git-annex now stores its logs in a git-annex branch.
- * merge: New subcommand. Auto-merges the new git-annex branch.
- * Improved handling of bare git repos with annexes. Many more commands will
- work in them.
- * git-annex is now more robust; it will never leave state files
- uncommitted when some other git process comes along and locks the index
- at an inconvenient time.
- * rsync is now used when copying files from repos on other filesystems.
- cp is still used when copying file from repos on the same filesystem,
- since --reflink=auto can make it significantly faster on filesystems
- such as btrfs.
- * Allow --trust etc to specify a repository by name, for temporarily
- trusting repositories that are not configured remotes.
- * unlock: Made atomic.
- * git-union-merge: New git subcommand, that does a generic union merge
- operation, and operates efficiently without touching the working tree.
-
- -- Joey Hess <joeyh@debian.org> Fri, 24 Jun 2011 14:32:18 -0400
-
-git-annex (0.20110610) unstable; urgency=low
-
- * Add --numcopies option.
- * Add --trust, --untrust, and --semitrust options.
- * get --from is the same as copy --from
- * Bugfix: Fix fsck to not think all SHAnE keys are bad.
-
- -- Joey Hess <joeyh@debian.org> Fri, 10 Jun 2011 11:48:40 -0400
-
-git-annex (0.20110601) unstable; urgency=low
-
- * Minor bugfixes and error message improvements.
- * Massively sped up `git annex lock` by avoiding use of the uber-slow
- `git reset`, and only running `git checkout` once, even when many files
- are being locked.
- * Fix locking of files with staged changes.
- * Somewhat sped up `git commit` of modifications to unlocked files.
- * Build fix for older ghc.
-
- -- Joey Hess <joeyh@debian.org> Wed, 01 Jun 2011 11:50:47 -0400
-
-git-annex (0.20110522) unstable; urgency=low
-
- * Closer emulation of git's behavior when told to use "foo/.git" as a
- git repository instead of just "foo". Closes: #627563
- * Fix bug in --exclude introduced in 0.20110516.
-
- -- Joey Hess <joeyh@debian.org> Fri, 27 May 2011 20:20:41 -0400
-
-git-annex (0.20110521) unstable; urgency=low
-
- * status: New subcommand to show info about an annex, including its size.
- * --backend now overrides any backend configured in .gitattributes files.
- * Add --debug option. Closes: #627499
-
- -- Joey Hess <joeyh@debian.org> Sat, 21 May 2011 11:52:53 -0400
-
-git-annex (0.20110516) unstable; urgency=low
-
- * Add a few tweaks to make it easy to use the Internet Archive's variant
- of S3. In particular, munge key filenames to comply with the IA's filename
- limits, disable encryption, support their nonstandard way of creating
- buckets, and allow x-archive-* headers to be specified in initremote to
- set item metadata.
- * Added filename extension preserving variant backends SHA1E, SHA256E, etc.
- * migrate: Use current filename when generating new key, for backends
- where the filename affects the key name.
- * Work around a bug in Network.URI's handling of bracketed ipv6 addresses.
-
- -- Joey Hess <joeyh@debian.org> Mon, 16 May 2011 14:16:52 -0400
-
-git-annex (0.20110503) unstable; urgency=low
-
- * Fix hasKeyCheap setting for bup and rsync special remotes.
- * Add hook special remotes.
- * Avoid crashing when an existing key is readded to the annex.
- * unused: Now also lists files fsck places in .git/annex/bad/
- * S3: When encryption is enabled, the Amazon S3 login credentials
- are stored, encrypted, in .git-annex/remotes.log, so environment
- variables need not be set after the remote is initialized.
-
- -- Joey Hess <joeyh@debian.org> Tue, 03 May 2011 20:56:01 -0400
-
-git-annex (0.20110427) unstable; urgency=low
-
- * Switch back to haskell SHA library, so git-annex remains buildable on
- Debian stable.
- * Added rsync special remotes. This could be used, for example, to
- store annexed content on rsync.net (encrypted naturally). Or anywhere else.
- * Bugfix: Avoid pipeline stall when running git annex drop or fsck on a
- lot of files. Possibly only occured with ghc 7.
-
- -- Joey Hess <joeyh@debian.org> Wed, 27 Apr 2011 22:50:26 -0400
-
-git-annex (0.20110425) unstable; urgency=low
-
- * Use haskell Crypto library instead of haskell SHA library.
- * Remove testpack from build depends for non x86 architectures where it
- is not available. The test suite will not be run if it cannot be compiled.
- * Avoid using absolute paths when staging location log, as that can
- confuse git when a remote's path contains a symlink. Closes: #621386
-
- -- Joey Hess <joeyh@debian.org> Mon, 25 Apr 2011 15:47:00 -0400
-
-git-annex (0.20110420) unstable; urgency=low
-
- * Update Debian build dependencies for ghc 7.
- * Debian package is now built with S3 support.
- Thanks Joachim Breitner for making this possible.
- * Somewhat improved memory usage of S3, still work to do.
- Thanks Greg Heartsfield for ongoing work to improve the hS3 library
- for git-annex.
-
- -- Joey Hess <joeyh@debian.org> Thu, 21 Apr 2011 15:00:48 -0400
-
-git-annex (0.20110419) unstable; urgency=low
-
- * Don't run gpg in batch mode, so it can prompt for passphrase when
- there is no agent.
- * Add missing build dep on dataenc.
- * S3: Fix stalls when transferring encrypted data.
- * bup: Avoid memory leak when transferring encrypted data.
-
- -- Joey Hess <joeyh@debian.org> Tue, 19 Apr 2011 21:26:51 -0400
-
-git-annex (0.20110417) unstable; urgency=low
-
- * bup is now supported as a special type of remote.
- * The data sent to special remotes (Amazon S3, bup, etc) can be encrypted
- using GPG for privacy.
- * Use lowercase hash directories for locationlog files, to avoid
- some issues with git on OSX with the mixed-case directories.
- No migration is needed; the old mixed case hash directories are still
- read; new information is written to the new directories.
- * Unused files on remotes, particulary special remotes, can now be
- identified and dropped, by using "--from remote" with git annex unused
- and git annex dropunused.
- * Clear up short option confusion between --from and --force (-f is now
- --from, and there is no short option for --force).
- * Add build depend on perlmagick so docs are consistently built.
- Closes: #621410
- * Add doc-base file. Closes: #621408
- * Periodically flush git command queue, to avoid boating memory usage
- too much.
- * Support "sha1" and "sha512" commands on FreeBSD, and allow building
- if any/all SHA commands are not available. Thanks, Fraser Tweedale
-
- -- Joey Hess <joeyh@debian.org> Sun, 17 Apr 2011 12:00:24 -0400
-
-git-annex (0.20110401) experimental; urgency=low
-
- * Amazon S3 is now supported as a special type of remote.
- Warning: Encrypting data before sending it to S3 is not yet supported.
- * Note that Amazon S3 support is not built in by default on Debian yet,
- as hS3 is not packaged.
- * fsck: Ensure that files and directories in .git/annex/objects
- have proper permissions.
- * Added a special type of remote called a directory remote, which
- simply stores files in an arbitrary local directory.
- * Bugfix: copy --to --fast never really copied, fixed.
-
- -- Joey Hess <joeyh@debian.org> Fri, 01 Apr 2011 21:27:22 -0400
-
-git-annex (0.20110328) experimental; urgency=low
-
- * annex.diskreserve can be given in arbitrary units (ie "0.5 gigabytes")
- * Generalized remotes handling, laying groundwork for remotes that are
- not regular git remotes. (Think Amazon S3.)
- * Provide a less expensive version of `git annex copy --to`, enabled
- via --fast. This assumes that location tracking information is correct,
- rather than contacting the remote for every file.
- * Bugfix: Keys could be received into v1 annexes from v2 annexes, via
- v1 git-annex-shell. This results in some oddly named keys in the v1
- annex. Recognise and fix those keys when upgrading, instead of crashing.
-
- -- Joey Hess <joeyh@debian.org> Mon, 28 Mar 2011 10:47:29 -0400
-
-git-annex (0.20110325) experimental; urgency=low
-
- * Free space checking is now done, for transfers of data for keys
- that have free space metadata. (Notably, not for SHA* keys generated
- with git-annex 0.2x or earlier.) The code is believed to work on
- Linux, FreeBSD, and OSX; check compile-time messages to see if it
- is not enabled for your OS.
- * Add annex.diskreserve config setting, to control how much free space
- to reserve for other purposes and avoid using (defaults to 1 mb).
- * Add --fast flag, that can enable less expensive, but also less thorough
- versions of some commands.
- * fsck: In fast mode, avoid checking checksums.
- * unused: In fast mode, just show all existing temp files as unused,
- and avoid expensive scan for other unused content.
- * migrate: Support migrating v1 SHA keys to v2 SHA keys with
- size information that can be used for free space checking.
- * Fix space leak in fsck and drop commands.
- * migrate: Bugfix for case when migrating a file results in a key that
- is already present in .git/annex/objects.
- * dropunused: Significantly sped up; only read unused log file once.
-
- -- Joey Hess <joeyh@debian.org> Fri, 25 Mar 2011 00:47:37 -0400
-
-git-annex (0.20110320) experimental; urgency=low
-
- * Fix dropping of files using the URL backend.
- * Fix support for remotes with '.' in their names.
- * Add version command to show git-annex version as well as repository
- version information.
- * No longer auto-upgrade to repository format 2, to avoid accidental
- upgrades, etc. Use git-annex upgrade when you're ready to run this
- version.
-
- -- Joey Hess <joeyh@debian.org> Sun, 20 Mar 2011 16:36:33 -0400
-
-git-annex (0.20110316) experimental; urgency=low
-
- * New repository format, annex.version=2.
- * The first time git-annex is run in an old format repository, it
- will automatically upgrade it to the new format, staging all
- necessary changes to git. Also added a "git annex upgrade" command.
- * Colons are now avoided in filenames, so bare clones of git repos
- can be put on USB thumb drives formatted with vFAT or similar
- filesystems.
- * Added two levels of hashing to object directory and .git-annex logs,
- to improve scalability with enormous numbers of annexed
- objects. (With one hundred million annexed objects, each
- directory would contain fewer than 1024 files.)
- * The setkey, fromkey, and dropkey subcommands have changed how
- the key is specified. --backend is no longer used with these.
-
- -- Joey Hess <joeyh@debian.org> Wed, 16 Mar 2011 16:20:23 -0400
-
-git-annex (0.24) unstable; urgency=low
-
- Branched the 0.24 series, which will be maintained for a while to
- support v1 git-annex repos, while main development moves to the 0.2011
- series, with v2 git-annex repos.
-
- * Add Suggests on graphviz. Closes: #618039
- * When adding files to the annex, the symlinks pointing at the annexed
- content are made to have the same mtime as the original file.
- While git does not preserve that information, this allows a tool
- like metastore to be used with annexed files.
- (Currently this is only done on systems supporting POSIX 200809.)
-
- -- Joey Hess <joeyh@debian.org> Wed, 16 Mar 2011 18:35:13 -0400
-
-git-annex (0.23) unstable; urgency=low
-
- * Support ssh remotes with a port specified.
- * whereis: New subcommand to show where a file's content has gotten to.
- * Rethink filename encoding handling for display. Since filename encoding
- may or may not match locale settings, any attempt to decode filenames
- will fail for some files. So instead, do all output in binary mode.
-
- -- Joey Hess <joeyh@debian.org> Sat, 12 Mar 2011 15:02:49 -0400
-
-git-annex (0.22) unstable; urgency=low
-
- * Git annexes can now be attached to bare git repositories.
- (Both the local and remote host must have this version of git-annex
- installed for it to work.)
- * Support filenames that start with a dash; when such a file is passed
- to a utility it will be escaped to avoid it being interpreted as an
- option. (I went a little overboard and got the type checker involved
- in this, so such files are rather comprehensively supported now.)
- * New backends: SHA512 SHA384 SHA256 SHA224
- (Supported on systems where corresponding shaNsum commands are available.)
- * describe: New subcommand that can set or change the description of
- a repository.
- * Fix test suite to reap zombies.
- (Zombies can be particularly annoying on OSX; thanks to Jimmy Tang
- for his help eliminating the infestation... for now.)
- * Make test suite not rely on a working cp -pr.
- (The Unix wars are still ON!)
- * Look for dir.git directories the same as git does.
- * Support remote urls specified as relative paths.
- * Support non-ssh remote paths that contain tilde expansions.
- * fsck: Check for and repair location log damage.
- * Bugfix: When fsck detected and moved away corrupt file content, it did
- not update the location log.
-
- -- Joey Hess <joeyh@debian.org> Fri, 04 Mar 2011 15:10:57 -0400
-
-git-annex (0.21) unstable; urgency=low
-
- * test: Don't rely on chmod -R working.
- * unannex: Fix recently introduced bug when attempting to unannex more
- than one file at a time.
- * test: Set git user name and email in case git can't guess values.
- * Fix display of unicode filenames.
-
- -- Joey Hess <joeyh@debian.org> Fri, 11 Feb 2011 23:21:08 -0400
-
-git-annex (0.20) unstable; urgency=low
-
- * Preserve specified file ordering when instructed to act on multiple
- files or directories. For example, "git annex get a b" will now always
- get "a" before "b". Previously it could operate in either order.
- * unannex: Commit staged changes at end, to avoid some confusing behavior
- with the pre-commit hook, which would see some types of commits after
- an unannex as checking in of an unlocked file.
- * map: New subcommand that uses graphviz to display a nice map of
- the git repository network.
- * Deal with the mtl/monads-fd conflict.
- * configure: Check for sha1sum.
-
- -- Joey Hess <joeyh@debian.org> Tue, 08 Feb 2011 18:57:24 -0400
-
-git-annex (0.19) unstable; urgency=low
-
- * configure: Support using the uuidgen command if the uuid command is
- not available.
- * Allow --exclude to be specified more than once.
- * There are now three levels of repository trust.
- * untrust: Now marks the current repository as untrusted.
- * semitrust: Now restores the default trust level. (What untrust used to do.)
- * fsck, drop: Take untrusted repositories into account.
- * Bugfix: Files were copied from trusted remotes first even if their
- annex.cost was higher than other remotes.
- * Improved temp file handling. Transfers of content can now be resumed
- from temp files later; the resume does not have to be the immediate
- next git-annex run.
- * unused: Include partially transferred content in the list.
- * Bugfix: Running a second git-annex while a first has a transfer in
- progress no longer deletes the first processes's temp file.
-
- -- Joey Hess <joeyh@debian.org> Fri, 28 Jan 2011 14:31:37 -0400
-
-git-annex (0.18) unstable; urgency=low
-
- * Bugfix: `copy --to` and `move --to` forgot to stage location log changes
- after transferring the file to the remote repository.
- (Did not affect ssh remotes.)
- * fsck: Fix bug in moving of corrupted files to .git/annex/bad/
- * migrate: Fix support for --backend option.
- * unlock: Fix behavior when file content is not present.
- * Test suite improvements. Current top-level test coverage: 80%
-
- -- Joey Hess <joeyh@debian.org> Fri, 14 Jan 2011 14:17:44 -0400
-
-git-annex (0.17) unstable; urgency=low
-
- * unannex: Now skips files whose content is not present, rather than
- it being an error.
- * New migrate subcommand can be used to switch files to using a different
- backend, safely and with no duplication of content.
- * bugfix: Fix crash caused by empty key name. (Thanks Henrik for reporting.)
-
- -- Joey Hess <joeyh@debian.org> Sun, 09 Jan 2011 10:04:11 -0400
-
-git-annex (0.16) unstable; urgency=low
-
- * git-annex-shell: Avoid exposing any git repo config except for the
- annex.uuid when doing configlist.
- * bugfix: Running `move --to` with a remote whose UUID was not yet known
- could result in git-annex not recording on the local side where the
- file was moved to. This could not result in data loss, or even a
- significant problem, since the remote *did* record that it had the file.
- * Also, add a general guard to detect attempts to record information
- about repositories with missing UUIDs.
- * bugfix: Running `move --to` with a non-ssh remote failed.
- * bugfix: Running `copy --to` with a non-ssh remote actually did a move.
- * Many test suite improvements. Current top-level test coverage: 65%
-
- -- Joey Hess <joeyh@debian.org> Fri, 07 Jan 2011 14:33:13 -0400
-
-git-annex (0.15) unstable; urgency=low
-
- * Support scp-style urls for remotes (host:path).
- * Support ssh urls containing "~".
- * Add trust and untrust subcommands, to allow configuring repositories
- that are trusted to retain files without explicit checking.
- * Fix bug in numcopies handling when multiple remotes pointed to the
- same repository.
- * Introduce the git-annex-shell command. It's now possible to make
- a user have it as a restricted login shell, similar to git-shell.
- * Note that git-annex will always use git-annex-shell when accessing
- a ssh remote, so all of your remotes need to be upgraded to this
- version of git-annex at the same time.
- * Now rsync is exclusively used for copying files to and from remotes.
- scp is not longer supported.
-
- -- Joey Hess <joeyh@debian.org> Fri, 31 Dec 2010 22:00:52 -0400
-
-git-annex (0.14) unstable; urgency=low
-
- * Bugfix to git annex unused in a repository with nothing yet annexed.
- * Support upgrading from a v0 annex with nothing in it.
- * Avoid multiple calls to git ls-files when passed eg, "*".
-
- -- Joey Hess <joeyh@debian.org> Fri, 24 Dec 2010 17:38:48 -0400
-
-git-annex (0.13) unstable; urgency=low
-
- * Makefile: Install man page and html (when built).
- * Makefile: Add GHCFLAGS variable.
- * Fix upgrade from 0.03.
- * Support remotes using git+ssh and ssh+git as protocol.
- Closes: #607056
-
- -- Joey Hess <joeyh@debian.org> Tue, 14 Dec 2010 13:05:10 -0400
-
-git-annex (0.12) unstable; urgency=low
-
- * Add --exclude option to exclude files from processing.
- * mwdn2man: Fix a bug in newline supression. Closes: #606578
- * Bugfix to git annex add of an unlocked file in a subdir. Closes: #606579
- * Makefile: Add PREFIX variable.
-
- -- Joey Hess <joeyh@debian.org> Sat, 11 Dec 2010 17:32:00 -0400
-
-git-annex (0.11) unstable; urgency=low
-
- * If available, rsync will be used for file transfers from remote
- repositories. This allows resuming interrupted transfers.
- * Added remote.annex-rsync-options.
- * Avoid deleting temp files when rsync fails.
- * Improve detection of version 0 repos.
- * Add uninit subcommand. Closes: #605749
-
- -- Joey Hess <joeyh@debian.org> Sat, 04 Dec 2010 17:27:42 -0400
-
-git-annex (0.10) unstable; urgency=low
-
- * In .gitattributes, the annex.numcopies attribute can be used
- to control the number of copies to retain of different types of files.
- * Bugfix: Always correctly handle gitattributes when in a subdirectory of
- the repository. (Had worked ok for ones like "*.mp3", but failed for
- ones like "dir/*".)
- * fsck: Fix warning about not enough copies of a file, when locations
- are known, but are not available in currently configured remotes.
- * precommit: Optimise to avoid calling git-check-attr more than once.
- * The git-annex-backend attribute has been renamed to annex.backend.
-
- -- Joey Hess <joeyh@debian.org> Sun, 28 Nov 2010 19:28:05 -0400
-
-git-annex (0.09) unstable; urgency=low
-
- * Add copy subcommand.
- * Fix bug in setkey subcommand triggered by move --to.
-
- -- Joey Hess <joeyh@debian.org> Sat, 27 Nov 2010 17:14:59 -0400
-
-git-annex (0.08) unstable; urgency=low
-
- * Fix `git annex add ../foo` (when ran in a subdir of the repo).
- * Add configure step to build process.
- * Only use cp -a if it is supported, falling back to cp -p or plain cp
- as needed for portability.
- * cp --reflink=auto is used if supported, and will make git annex unlock
- much faster on filesystems like btrfs that support copy on write.
-
- -- Joey Hess <joeyh@debian.org> Sun, 21 Nov 2010 13:45:44 -0400
-
-git-annex (0.07) unstable; urgency=low
-
- * find: New subcommand.
- * unused: New subcommand, finds unused data. (Split out from fsck.)
- * dropunused: New subcommand, provides for easy dropping of unused keys
- by number, as listed by the unused subcommand.
- * fsck: Print warnings to stderr; --quiet can now be used to only see
- problems.
-
- -- Joey Hess <joeyh@debian.org> Mon, 15 Nov 2010 18:41:50 -0400
-
-git-annex (0.06) unstable; urgency=low
-
- * fsck: Check if annex.numcopies is satisfied.
- * fsck: Verify the sha1 of files when the SHA1 backend is used.
- * fsck: Verify the size of files when the WORM backend is used.
- * fsck: Allow specifying individual files if fscking everything
- is not desired.
- * fsck: Fix bug, introduced in 0.04, in detection of unused data.
-
- -- Joey Hess <joeyh@debian.org> Sat, 13 Nov 2010 16:24:29 -0400
-
-git-annex (0.05) unstable; urgency=low
-
- * Optimize both pre-commit and lock subcommands to not call git diff
- on every file being committed/locked.
- (This actually also works around a bug in ghc, that caused
- git-annex 0.04 pre-commit to sometimes corrupt filename being read
- from git ls-files and fail.
- See <http://hackage.haskell.org/trac/ghc/ticket/4493>
- The excessive number of calls made by pre-commit exposed the ghc bug.
- Thanks Josh Triplett for the debugging.)
- * Build with -O2.
-
- -- Joey Hess <joeyh@debian.org> Thu, 11 Nov 2010 18:31:09 -0400
-
-git-annex (0.04) unstable; urgency=low
-
- * Add unlock subcommand, which replaces the symlink with a copy of
- the file's content in preparation of changing it. The "edit" subcommand
- is an alias for unlock.
- * Add lock subcommand.
- * Unlocked files will now automatically be added back into the annex when
- committed (and the updated symlink committed), by some magic in the
- pre-commit hook.
- * The SHA1 backend is now fully usable.
- * Add annex.version, which will be used to automate upgrades
- between incompatible versions.
- * Reorganised the layout of .git/annex/
- * The new layout will be automatically upgraded to the first time
- git-annex is used in a repository with the old layout.
- * Note that git-annex 0.04 cannot transfer content from old repositories
- that have not yet been upgraded.
- * Annexed file contents are now made unwritable and put in unwriteable
- directories, to avoid them accidentially being removed or modified.
- (Thanks Josh Triplett for the idea.)
- * Add build dep on libghc6-testpack-dev. Closes: #603016
- * Avoid using runghc to run test suite as it is not available on all
- architectures. Closes: #603006
-
- -- Joey Hess <joeyh@debian.org> Wed, 10 Nov 2010 14:23:23 -0400
-
-git-annex (0.03) unstable; urgency=low
-
- * Fix support for file:// remotes.
- * Add --verbose
- * Fix SIGINT handling.
- * Fix handling of files with unusual characters in their name.
- * Fixed memory leak; git-annex no longer reads the whole file list
- from git before starting, and will be much faster with large repos.
- * Fix crash on unknown symlinks.
- * Added remote.annex-scp-options and remote.annex-ssh-options.
- * The backends to use when adding different sets of files can be configured
- via gitattributes.
- * In .gitattributes, the git-annex-backend attribute can be set to the
- names of backends to use when adding different types of files.
- * Add fsck subcommand. (For now it only finds unused key contents in the
- annex.)
-
- -- Joey Hess <joeyh@debian.org> Sun, 07 Nov 2010 18:26:04 -0400
-
-git-annex (0.02) unstable; urgency=low
-
- * Can scp annexed files from remote hosts, and check remote hosts for
- file content when dropping files.
- * New move subcommand, that makes it easy to move file contents from
- or to a remote.
- * New fromkey subcommand, for registering urls, etc.
- * git-annex init will now set up a pre-commit hook that fixes up symlinks
- before they are committed, to ensure that moving symlinks around does not
- break them.
- * More intelligent and fast staging of modified files; git add coalescing.
- * Add remote.annex-ignore git config setting to allow completly disabling
- a given remote.
- * --from/--to can be used to control the remote repository that git-annex
- uses.
- * --quiet can be used to avoid verbose output
- * New plumbing-level dropkey and addkey subcommands.
- * Lots of bug fixes.
-
- -- Joey Hess <joeyh@debian.org> Wed, 27 Oct 2010 16:39:29 -0400
-
-git-annex (0.01) unstable; urgency=low
-
- * First prerelease.
-
- -- Joey Hess <joeyh@debian.org> Wed, 20 Oct 2010 12:54:24 -0400
+../CHANGELOG \ No newline at end of file
diff --git a/debian/copyright b/debian/copyright
index 6620962b6..dc5f40a22 100644..120000
--- a/debian/copyright
+++ b/debian/copyright
@@ -1,786 +1 @@
-Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
-Source: native package
-
-Files: *
-Copyright: © 2010-2016 Joey Hess <id@joeyh.name>
-License: GPL-3+
-
-Files: Assistant/WebApp.hs Assistant/WebApp/* templates/* static/*
-Copyright: © 2012-2016 Joey Hess <id@joeyh.name>
- © 2014 Sören Brunk
-License: AGPL-3+
-
-Files: Remote/Ddar.hs
-Copyright: © 2011 Joey Hess <id@joeyh.name>
- © 2014 Robie Basak <robie@justgohome.co.uk>
-License: GPL-3+
-
-Files: Utility/ThreadScheduler.hs
-Copyright: 2011 Bas van Dijk & Roel van Dijk
- 2012, 2013 Joey Hess <id@joeyh.name>
-License: BSD-2-clause
-
-Files: Utility/*
-Copyright: 2012-2016 Joey Hess <id@joeyh.name>
-License: BSD-2-clause
-
-Files: Utility/Gpg.hs Utility/DirWatcher*
-Copyright: © 2010-2014 Joey Hess <id@joeyh.name>
-License: GPL-3+
-
-Files: doc/logo* */favicon.ico standalone/osx/git-annex.app/Contents/Resources/git-annex.icns standalone/android/icons/*
-Copyright: 2007 Henrik Nyh <http://henrik.nyh.se/>
- 2010 Joey Hess <id@joeyh.name>
- 2013 John Lawrence
-License: other
- Free to modify and redistribute with due credit, and obviously free to use.
-
-Files: Annex/DirHashes.hs
-Copyright: 2001 Ian Lynagh
- 2010-2015 Joey Hess <id@joeyh.name>
-License: GPL-3+
-
-Files: doc/tips/automatically_adding_metadata/pre-commit-annex
-Copyright: 2014 Joey Hess <id@joeyh.name>
- 2016 Klaus Ethgen <Klaus@Ethgen.ch>
-License: GPL-3+
-
-Files: static/jquery*
-Copyright: © 2005-2011 by John Resig, Branden Aaron & Jörn Zaefferer
- © 2011 The Dojo Foundation
-License: MIT or GPL-2
- The full text of version 2 of the GPL is distributed in
- /usr/share/common-licenses/GPL-2 on Debian systems. The text of the MIT
- license follows:
- .
- Permission is hereby granted, free of charge, to any person obtaining
- a copy of this software and associated documentation files (the
- "Software"), to deal in the Software without restriction, including
- without limitation the rights to use, copy, modify, merge, publish,
- distribute, sublicense, and/or sell copies of the Software, and to
- permit persons to whom the Software is furnished to do so, subject to
- the following conditions:
- .
- The above copyright notice and this permission notice shall be
- included in all copies or substantial portions of the Software.
- .
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
- LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
- OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
- WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-Files: static/*/bootstrap* static/*/glyphicons-halflings*
-Copyright: 2012-2014 Twitter, Inc.
-License: MIT-twitter
- Copyright (c) 2011-2014 Twitter, Inc
- .
- Permission is hereby granted, free of charge, to any person obtaining a copy
- of this software and associated documentation files (the "Software"), to deal
- in the Software without restriction, including without limitation the rights
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- copies of the Software, and to permit persons to whom the Software is
- furnished to do so, subject to the following conditions:
- .
- The above copyright notice and this permission notice shall be included in
- all copies or substantial portions of the Software.
- .
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
- THE SOFTWARE.
-
-License: GPL-3+
- The full text of version 3 of the GPL is distributed as doc/license/GPL in
- this package's source, or in /usr/share/common-licenses/GPL-3 on
- Debian systems.
-
-License: BSD-2-clause
- Redistribution and use in source and binary forms, with or without
- modification, are permitted provided that the following conditions
- are met:
- 1. Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
- 2. Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in the
- documentation and/or other materials provided with the distribution.
- .
- THIS SOFTWARE IS PROVIDED BY AUTHORS AND CONTRIBUTORS ``AS IS'' AND
- ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS OR CONTRIBUTORS BE LIABLE
- FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- SUCH DAMAGE.
-
-License: AGPL-3+
- GNU AFFERO GENERAL PUBLIC LICENSE
- Version 3, 19 November 2007
- .
- Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
- .
- Preamble
- .
- The GNU Affero General Public License is a free, copyleft license for
- software and other kinds of works, specifically designed to ensure
- cooperation with the community in the case of network server software.
- .
- The licenses for most software and other practical works are designed
- to take away your freedom to share and change the works. By contrast,
- our General Public Licenses are intended to guarantee your freedom to
- share and change all versions of a program--to make sure it remains free
- software for all its users.
- .
- When we speak of free software, we are referring to freedom, not
- price. Our General Public Licenses are designed to make sure that you
- have the freedom to distribute copies of free software (and charge for
- them if you wish), that you receive source code or can get it if you
- want it, that you can change the software or use pieces of it in new
- free programs, and that you know you can do these things.
- .
- Developers that use our General Public Licenses protect your rights
- with two steps: (1) assert copyright on the software, and (2) offer
- you this License which gives you legal permission to copy, distribute
- and/or modify the software.
- .
- A secondary benefit of defending all users' freedom is that
- improvements made in alternate versions of the program, if they
- receive widespread use, become available for other developers to
- incorporate. Many developers of free software are heartened and
- encouraged by the resulting cooperation. However, in the case of
- software used on network servers, this result may fail to come about.
- The GNU General Public License permits making a modified version and
- letting the public access it on a server without ever releasing its
- source code to the public.
- .
- The GNU Affero General Public License is designed specifically to
- ensure that, in such cases, the modified source code becomes available
- to the community. It requires the operator of a network server to
- provide the source code of the modified version running there to the
- users of that server. Therefore, public use of a modified version, on
- a publicly accessible server, gives the public access to the source
- code of the modified version.
- .
- An older license, called the Affero General Public License and
- published by Affero, was designed to accomplish similar goals. This is
- a different license, not a version of the Affero GPL, but Affero has
- released a new version of the Affero GPL which permits relicensing under
- this license.
- .
- The precise terms and conditions for copying, distribution and
- modification follow.
- .
- TERMS AND CONDITIONS
- .
- 0. Definitions.
- .
- "This License" refers to version 3 of the GNU Affero General Public License.
- .
- "Copyright" also means copyright-like laws that apply to other kinds of
- works, such as semiconductor masks.
- .
- "The Program" refers to any copyrightable work licensed under this
- License. Each licensee is addressed as "you". "Licensees" and
- "recipients" may be individuals or organizations.
- .
- To "modify" a work means to copy from or adapt all or part of the work
- in a fashion requiring copyright permission, other than the making of an
- exact copy. The resulting work is called a "modified version" of the
- earlier work or a work "based on" the earlier work.
- .
- A "covered work" means either the unmodified Program or a work based
- on the Program.
- .
- To "propagate" a work means to do anything with it that, without
- permission, would make you directly or secondarily liable for
- infringement under applicable copyright law, except executing it on a
- computer or modifying a private copy. Propagation includes copying,
- distribution (with or without modification), making available to the
- public, and in some countries other activities as well.
- .
- To "convey" a work means any kind of propagation that enables other
- parties to make or receive copies. Mere interaction with a user through
- a computer network, with no transfer of a copy, is not conveying.
- .
- An interactive user interface displays "Appropriate Legal Notices"
- to the extent that it includes a convenient and prominently visible
- feature that (1) displays an appropriate copyright notice, and (2)
- tells the user that there is no warranty for the work (except to the
- extent that warranties are provided), that licensees may convey the
- work under this License, and how to view a copy of this License. If
- the interface presents a list of user commands or options, such as a
- menu, a prominent item in the list meets this criterion.
- .
- 1. Source Code.
- .
- The "source code" for a work means the preferred form of the work
- for making modifications to it. "Object code" means any non-source
- form of a work.
- .
- A "Standard Interface" means an interface that either is an official
- standard defined by a recognized standards body, or, in the case of
- interfaces specified for a particular programming language, one that
- is widely used among developers working in that language.
- .
- The "System Libraries" of an executable work include anything, other
- than the work as a whole, that (a) is included in the normal form of
- packaging a Major Component, but which is not part of that Major
- Component, and (b) serves only to enable use of the work with that
- Major Component, or to implement a Standard Interface for which an
- implementation is available to the public in source code form. A
- "Major Component", in this context, means a major essential component
- (kernel, window system, and so on) of the specific operating system
- (if any) on which the executable work runs, or a compiler used to
- produce the work, or an object code interpreter used to run it.
- .
- The "Corresponding Source" for a work in object code form means all
- the source code needed to generate, install, and (for an executable
- work) run the object code and to modify the work, including scripts to
- control those activities. However, it does not include the work's
- System Libraries, or general-purpose tools or generally available free
- programs which are used unmodified in performing those activities but
- which are not part of the work. For example, Corresponding Source
- includes interface definition files associated with source files for
- the work, and the source code for shared libraries and dynamically
- linked subprograms that the work is specifically designed to require,
- such as by intimate data communication or control flow between those
- subprograms and other parts of the work.
- .
- The Corresponding Source need not include anything that users
- can regenerate automatically from other parts of the Corresponding
- Source.
- .
- The Corresponding Source for a work in source code form is that
- same work.
- .
- 2. Basic Permissions.
- .
- All rights granted under this License are granted for the term of
- copyright on the Program, and are irrevocable provided the stated
- conditions are met. This License explicitly affirms your unlimited
- permission to run the unmodified Program. The output from running a
- covered work is covered by this License only if the output, given its
- content, constitutes a covered work. This License acknowledges your
- rights of fair use or other equivalent, as provided by copyright law.
- .
- You may make, run and propagate covered works that you do not
- convey, without conditions so long as your license otherwise remains
- in force. You may convey covered works to others for the sole purpose
- of having them make modifications exclusively for you, or provide you
- with facilities for running those works, provided that you comply with
- the terms of this License in conveying all material for which you do
- not control copyright. Those thus making or running the covered works
- for you must do so exclusively on your behalf, under your direction
- and control, on terms that prohibit them from making any copies of
- your copyrighted material outside their relationship with you.
- .
- Conveying under any other circumstances is permitted solely under
- the conditions stated below. Sublicensing is not allowed; section 10
- makes it unnecessary.
- .
- 3. Protecting Users' Legal Rights From Anti-Circumvention Law.
- .
- No covered work shall be deemed part of an effective technological
- measure under any applicable law fulfilling obligations under article
- 11 of the WIPO copyright treaty adopted on 20 December 1996, or
- similar laws prohibiting or restricting circumvention of such
- measures.
- .
- When you convey a covered work, you waive any legal power to forbid
- circumvention of technological measures to the extent such circumvention
- is effected by exercising rights under this License with respect to
- the covered work, and you disclaim any intention to limit operation or
- modification of the work as a means of enforcing, against the work's
- users, your or third parties' legal rights to forbid circumvention of
- technological measures.
- .
- 4. Conveying Verbatim Copies.
- .
- You may convey verbatim copies of the Program's source code as you
- receive it, in any medium, provided that you conspicuously and
- appropriately publish on each copy an appropriate copyright notice;
- keep intact all notices stating that this License and any
- non-permissive terms added in accord with section 7 apply to the code;
- keep intact all notices of the absence of any warranty; and give all
- recipients a copy of this License along with the Program.
- .
- You may charge any price or no price for each copy that you convey,
- and you may offer support or warranty protection for a fee.
- .
- 5. Conveying Modified Source Versions.
- .
- You may convey a work based on the Program, or the modifications to
- produce it from the Program, in the form of source code under the
- terms of section 4, provided that you also meet all of these conditions:
- .
- a) The work must carry prominent notices stating that you modified
- it, and giving a relevant date.
- .
- b) The work must carry prominent notices stating that it is
- released under this License and any conditions added under section
- 7. This requirement modifies the requirement in section 4 to
- "keep intact all notices".
- .
- c) You must license the entire work, as a whole, under this
- License to anyone who comes into possession of a copy. This
- License will therefore apply, along with any applicable section 7
- additional terms, to the whole of the work, and all its parts,
- regardless of how they are packaged. This License gives no
- permission to license the work in any other way, but it does not
- invalidate such permission if you have separately received it.
- .
- d) If the work has interactive user interfaces, each must display
- Appropriate Legal Notices; however, if the Program has interactive
- interfaces that do not display Appropriate Legal Notices, your
- work need not make them do so.
- .
- A compilation of a covered work with other separate and independent
- works, which are not by their nature extensions of the covered work,
- and which are not combined with it such as to form a larger program,
- in or on a volume of a storage or distribution medium, is called an
- "aggregate" if the compilation and its resulting copyright are not
- used to limit the access or legal rights of the compilation's users
- beyond what the individual works permit. Inclusion of a covered work
- in an aggregate does not cause this License to apply to the other
- parts of the aggregate.
- .
- 6. Conveying Non-Source Forms.
- .
- You may convey a covered work in object code form under the terms
- of sections 4 and 5, provided that you also convey the
- machine-readable Corresponding Source under the terms of this License,
- in one of these ways:
- .
- a) Convey the object code in, or embodied in, a physical product
- (including a physical distribution medium), accompanied by the
- Corresponding Source fixed on a durable physical medium
- customarily used for software interchange.
- .
- b) Convey the object code in, or embodied in, a physical product
- (including a physical distribution medium), accompanied by a
- written offer, valid for at least three years and valid for as
- long as you offer spare parts or customer support for that product
- model, to give anyone who possesses the object code either (1) a
- copy of the Corresponding Source for all the software in the
- product that is covered by this License, on a durable physical
- medium customarily used for software interchange, for a price no
- more than your reasonable cost of physically performing this
- conveying of source, or (2) access to copy the
- Corresponding Source from a network server at no charge.
- .
- c) Convey individual copies of the object code with a copy of the
- written offer to provide the Corresponding Source. This
- alternative is allowed only occasionally and noncommercially, and
- only if you received the object code with such an offer, in accord
- with subsection 6b.
- .
- d) Convey the object code by offering access from a designated
- place (gratis or for a charge), and offer equivalent access to the
- Corresponding Source in the same way through the same place at no
- further charge. You need not require recipients to copy the
- Corresponding Source along with the object code. If the place to
- copy the object code is a network server, the Corresponding Source
- may be on a different server (operated by you or a third party)
- that supports equivalent copying facilities, provided you maintain
- clear directions next to the object code saying where to find the
- Corresponding Source. Regardless of what server hosts the
- Corresponding Source, you remain obligated to ensure that it is
- available for as long as needed to satisfy these requirements.
- .
- e) Convey the object code using peer-to-peer transmission, provided
- you inform other peers where the object code and Corresponding
- Source of the work are being offered to the general public at no
- charge under subsection 6d.
- .
- A separable portion of the object code, whose source code is excluded
- from the Corresponding Source as a System Library, need not be
- included in conveying the object code work.
- .
- A "User Product" is either (1) a "consumer product", which means any
- tangible personal property which is normally used for personal, family,
- or household purposes, or (2) anything designed or sold for incorporation
- into a dwelling. In determining whether a product is a consumer product,
- doubtful cases shall be resolved in favor of coverage. For a particular
- product received by a particular user, "normally used" refers to a
- typical or common use of that class of product, regardless of the status
- of the particular user or of the way in which the particular user
- actually uses, or expects or is expected to use, the product. A product
- is a consumer product regardless of whether the product has substantial
- commercial, industrial or non-consumer uses, unless such uses represent
- the only significant mode of use of the product.
- .
- "Installation Information" for a User Product means any methods,
- procedures, authorization keys, or other information required to install
- and execute modified versions of a covered work in that User Product from
- a modified version of its Corresponding Source. The information must
- suffice to ensure that the continued functioning of the modified object
- code is in no case prevented or interfered with solely because
- modification has been made.
- .
- If you convey an object code work under this section in, or with, or
- specifically for use in, a User Product, and the conveying occurs as
- part of a transaction in which the right of possession and use of the
- User Product is transferred to the recipient in perpetuity or for a
- fixed term (regardless of how the transaction is characterized), the
- Corresponding Source conveyed under this section must be accompanied
- by the Installation Information. But this requirement does not apply
- if neither you nor any third party retains the ability to install
- modified object code on the User Product (for example, the work has
- been installed in ROM).
- .
- The requirement to provide Installation Information does not include a
- requirement to continue to provide support service, warranty, or updates
- for a work that has been modified or installed by the recipient, or for
- the User Product in which it has been modified or installed. Access to a
- network may be denied when the modification itself materially and
- adversely affects the operation of the network or violates the rules and
- protocols for communication across the network.
- .
- Corresponding Source conveyed, and Installation Information provided,
- in accord with this section must be in a format that is publicly
- documented (and with an implementation available to the public in
- source code form), and must require no special password or key for
- unpacking, reading or copying.
- .
- 7. Additional Terms.
- .
- "Additional permissions" are terms that supplement the terms of this
- License by making exceptions from one or more of its conditions.
- Additional permissions that are applicable to the entire Program shall
- be treated as though they were included in this License, to the extent
- that they are valid under applicable law. If additional permissions
- apply only to part of the Program, that part may be used separately
- under those permissions, but the entire Program remains governed by
- this License without regard to the additional permissions.
- .
- When you convey a copy of a covered work, you may at your option
- remove any additional permissions from that copy, or from any part of
- it. (Additional permissions may be written to require their own
- removal in certain cases when you modify the work.) You may place
- additional permissions on material, added by you to a covered work,
- for which you have or can give appropriate copyright permission.
- .
- Notwithstanding any other provision of this License, for material you
- add to a covered work, you may (if authorized by the copyright holders of
- that material) supplement the terms of this License with terms:
- .
- a) Disclaiming warranty or limiting liability differently from the
- terms of sections 15 and 16 of this License; or
- .
- b) Requiring preservation of specified reasonable legal notices or
- author attributions in that material or in the Appropriate Legal
- Notices displayed by works containing it; or
- .
- c) Prohibiting misrepresentation of the origin of that material, or
- requiring that modified versions of such material be marked in
- reasonable ways as different from the original version; or
- .
- d) Limiting the use for publicity purposes of names of licensors or
- authors of the material; or
- .
- e) Declining to grant rights under trademark law for use of some
- trade names, trademarks, or service marks; or
- .
- f) Requiring indemnification of licensors and authors of that
- material by anyone who conveys the material (or modified versions of
- it) with contractual assumptions of liability to the recipient, for
- any liability that these contractual assumptions directly impose on
- those licensors and authors.
- .
- All other non-permissive additional terms are considered "further
- restrictions" within the meaning of section 10. If the Program as you
- received it, or any part of it, contains a notice stating that it is
- governed by this License along with a term that is a further
- restriction, you may remove that term. If a license document contains
- a further restriction but permits relicensing or conveying under this
- License, you may add to a covered work material governed by the terms
- of that license document, provided that the further restriction does
- not survive such relicensing or conveying.
- .
- If you add terms to a covered work in accord with this section, you
- must place, in the relevant source files, a statement of the
- additional terms that apply to those files, or a notice indicating
- where to find the applicable terms.
- .
- Additional terms, permissive or non-permissive, may be stated in the
- form of a separately written license, or stated as exceptions;
- the above requirements apply either way.
- .
- 8. Termination.
- .
- You may not propagate or modify a covered work except as expressly
- provided under this License. Any attempt otherwise to propagate or
- modify it is void, and will automatically terminate your rights under
- this License (including any patent licenses granted under the third
- paragraph of section 11).
- .
- However, if you cease all violation of this License, then your
- license from a particular copyright holder is reinstated (a)
- provisionally, unless and until the copyright holder explicitly and
- finally terminates your license, and (b) permanently, if the copyright
- holder fails to notify you of the violation by some reasonable means
- prior to 60 days after the cessation.
- .
- Moreover, your license from a particular copyright holder is
- reinstated permanently if the copyright holder notifies you of the
- violation by some reasonable means, this is the first time you have
- received notice of violation of this License (for any work) from that
- copyright holder, and you cure the violation prior to 30 days after
- your receipt of the notice.
- .
- Termination of your rights under this section does not terminate the
- licenses of parties who have received copies or rights from you under
- this License. If your rights have been terminated and not permanently
- reinstated, you do not qualify to receive new licenses for the same
- material under section 10.
- .
- 9. Acceptance Not Required for Having Copies.
- .
- You are not required to accept this License in order to receive or
- run a copy of the Program. Ancillary propagation of a covered work
- occurring solely as a consequence of using peer-to-peer transmission
- to receive a copy likewise does not require acceptance. However,
- nothing other than this License grants you permission to propagate or
- modify any covered work. These actions infringe copyright if you do
- not accept this License. Therefore, by modifying or propagating a
- covered work, you indicate your acceptance of this License to do so.
- .
- 10. Automatic Licensing of Downstream Recipients.
- .
- Each time you convey a covered work, the recipient automatically
- receives a license from the original licensors, to run, modify and
- propagate that work, subject to this License. You are not responsible
- for enforcing compliance by third parties with this License.
- .
- An "entity transaction" is a transaction transferring control of an
- organization, or substantially all assets of one, or subdividing an
- organization, or merging organizations. If propagation of a covered
- work results from an entity transaction, each party to that
- transaction who receives a copy of the work also receives whatever
- licenses to the work the party's predecessor in interest had or could
- give under the previous paragraph, plus a right to possession of the
- Corresponding Source of the work from the predecessor in interest, if
- the predecessor has it or can get it with reasonable efforts.
- .
- You may not impose any further restrictions on the exercise of the
- rights granted or affirmed under this License. For example, you may
- not impose a license fee, royalty, or other charge for exercise of
- rights granted under this License, and you may not initiate litigation
- (including a cross-claim or counterclaim in a lawsuit) alleging that
- any patent claim is infringed by making, using, selling, offering for
- sale, or importing the Program or any portion of it.
- .
- 11. Patents.
- .
- A "contributor" is a copyright holder who authorizes use under this
- License of the Program or a work on which the Program is based. The
- work thus licensed is called the contributor's "contributor version".
- .
- A contributor's "essential patent claims" are all patent claims
- owned or controlled by the contributor, whether already acquired or
- hereafter acquired, that would be infringed by some manner, permitted
- by this License, of making, using, or selling its contributor version,
- but do not include claims that would be infringed only as a
- consequence of further modification of the contributor version. For
- purposes of this definition, "control" includes the right to grant
- patent sublicenses in a manner consistent with the requirements of
- this License.
- .
- Each contributor grants you a non-exclusive, worldwide, royalty-free
- patent license under the contributor's essential patent claims, to
- make, use, sell, offer for sale, import and otherwise run, modify and
- propagate the contents of its contributor version.
- .
- In the following three paragraphs, a "patent license" is any express
- agreement or commitment, however denominated, not to enforce a patent
- (such as an express permission to practice a patent or covenant not to
- sue for patent infringement). To "grant" such a patent license to a
- party means to make such an agreement or commitment not to enforce a
- patent against the party.
- .
- If you convey a covered work, knowingly relying on a patent license,
- and the Corresponding Source of the work is not available for anyone
- to copy, free of charge and under the terms of this License, through a
- publicly available network server or other readily accessible means,
- then you must either (1) cause the Corresponding Source to be so
- available, or (2) arrange to deprive yourself of the benefit of the
- patent license for this particular work, or (3) arrange, in a manner
- consistent with the requirements of this License, to extend the patent
- license to downstream recipients. "Knowingly relying" means you have
- actual knowledge that, but for the patent license, your conveying the
- covered work in a country, or your recipient's use of the covered work
- in a country, would infringe one or more identifiable patents in that
- country that you have reason to believe are valid.
- .
- If, pursuant to or in connection with a single transaction or
- arrangement, you convey, or propagate by procuring conveyance of, a
- covered work, and grant a patent license to some of the parties
- receiving the covered work authorizing them to use, propagate, modify
- or convey a specific copy of the covered work, then the patent license
- you grant is automatically extended to all recipients of the covered
- work and works based on it.
- .
- A patent license is "discriminatory" if it does not include within
- the scope of its coverage, prohibits the exercise of, or is
- conditioned on the non-exercise of one or more of the rights that are
- specifically granted under this License. You may not convey a covered
- work if you are a party to an arrangement with a third party that is
- in the business of distributing software, under which you make payment
- to the third party based on the extent of your activity of conveying
- the work, and under which the third party grants, to any of the
- parties who would receive the covered work from you, a discriminatory
- patent license (a) in connection with copies of the covered work
- conveyed by you (or copies made from those copies), or (b) primarily
- for and in connection with specific products or compilations that
- contain the covered work, unless you entered into that arrangement,
- or that patent license was granted, prior to 28 March 2007.
- .
- Nothing in this License shall be construed as excluding or limiting
- any implied license or other defenses to infringement that may
- otherwise be available to you under applicable patent law.
- .
- 12. No Surrender of Others' Freedom.
- .
- If conditions are imposed on you (whether by court order, agreement or
- otherwise) that contradict the conditions of this License, they do not
- excuse you from the conditions of this License. If you cannot convey a
- covered work so as to satisfy simultaneously your obligations under this
- License and any other pertinent obligations, then as a consequence you may
- not convey it at all. For example, if you agree to terms that obligate you
- to collect a royalty for further conveying from those to whom you convey
- the Program, the only way you could satisfy both those terms and this
- License would be to refrain entirely from conveying the Program.
- .
- 13. Remote Network Interaction; Use with the GNU General Public License.
- .
- Notwithstanding any other provision of this License, if you modify the
- Program, your modified version must prominently offer all users
- interacting with it remotely through a computer network (if your version
- supports such interaction) an opportunity to receive the Corresponding
- Source of your version by providing access to the Corresponding Source
- from a network server at no charge, through some standard or customary
- means of facilitating copying of software. This Corresponding Source
- shall include the Corresponding Source for any work covered by version 3
- of the GNU General Public License that is incorporated pursuant to the
- following paragraph.
- .
- Notwithstanding any other provision of this License, you have
- permission to link or combine any covered work with a work licensed
- under version 3 of the GNU General Public License into a single
- combined work, and to convey the resulting work. The terms of this
- License will continue to apply to the part which is the covered work,
- but the work with which it is combined will remain governed by version
- 3 of the GNU General Public License.
- .
- 14. Revised Versions of this License.
- .
- The Free Software Foundation may publish revised and/or new versions of
- the GNU Affero General Public License from time to time. Such new versions
- will be similar in spirit to the present version, but may differ in detail to
- address new problems or concerns.
- .
- Each version is given a distinguishing version number. If the
- Program specifies that a certain numbered version of the GNU Affero General
- Public License "or any later version" applies to it, you have the
- option of following the terms and conditions either of that numbered
- version or of any later version published by the Free Software
- Foundation. If the Program does not specify a version number of the
- GNU Affero General Public License, you may choose any version ever published
- by the Free Software Foundation.
- .
- If the Program specifies that a proxy can decide which future
- versions of the GNU Affero General Public License can be used, that proxy's
- public statement of acceptance of a version permanently authorizes you
- to choose that version for the Program.
- .
- Later license versions may give you additional or different
- permissions. However, no additional obligations are imposed on any
- author or copyright holder as a result of your choosing to follow a
- later version.
- .
- 15. Disclaimer of Warranty.
- .
- THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
- APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
- HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
- OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
- THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
- IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
- ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
- .
- 16. Limitation of Liability.
- .
- IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
- WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
- THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
- GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
- USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
- DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
- PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
- EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
- SUCH DAMAGES.
- .
- 17. Interpretation of Sections 15 and 16.
- .
- If the disclaimer of warranty and limitation of liability provided
- above cannot be given local legal effect according to their terms,
- reviewing courts shall apply local law that most closely approximates
- an absolute waiver of all civil liability in connection with the
- Program, unless a warranty or assumption of liability accompanies a
- copy of the Program in return for a fee.
- .
- END OF TERMS AND CONDITIONS
- .
- How to Apply These Terms to Your New Programs
- .
- If you develop a new program, and you want it to be of the greatest
- possible use to the public, the best way to achieve this is to make it
- free software which everyone can redistribute and change under these terms.
- .
- To do so, attach the following notices to the program. It is safest
- to attach them to the start of each source file to most effectively
- state the exclusion of warranty; and each file should have at least
- the "copyright" line and a pointer to where the full notice is found.
- .
- <one line to give the program's name and a brief idea of what it does.>
- Copyright (C) <year> <name of author>
- .
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU Affero General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
- .
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU Affero General Public License for more details.
- .
- You should have received a copy of the GNU Affero General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>.
- .
- Also add information on how to contact you by electronic and paper mail.
- .
- If your software can interact with users remotely through a computer
- network, you should also make sure that it provides a way for users to
- get its source. For example, if your program is a web application, its
- interface could display a "Source" link that leads users to an archive
- of the code. There are many ways you could offer source, and different
- solutions will be better for different programs; see section 13 for the
- specific requirements.
- .
- You should also get your employer (if you work as a programmer) or school,
- if any, to sign a "copyright disclaimer" for the program, if necessary.
- For more information on this, and how to apply and follow the GNU AGPL, see
- <http://www.gnu.org/licenses/>.
+../COPYRIGHT \ No newline at end of file
diff --git a/doc/download.mdwn b/doc/download.mdwn
index a52238bd7..871083ff7 100644
--- a/doc/download.mdwn
+++ b/doc/download.mdwn
@@ -8,8 +8,9 @@ Other mirrors of the git repository:
* [at github](https://github.com/joeyh/git-annex)
Releases of git-annex are uploaded
-[to hackage](http://hackage.haskell.org/package/git-annex). Get your
-tarballs there, if you need them.
+[to hackage](http://hackage.haskell.org/package/git-annex). Note that the
+tarball there is not the complete git-annex source tree, but only a subset
+to make `cabal install` work. Use git to checkout the full source tree.
Some operating systems include git-annex in easily prepackaged form and
others need some manual work. See [[install]] for details.
diff --git a/git-annex.cabal b/git-annex.cabal
index 1d16f9bac..e075d01ec 100644
--- a/git-annex.cabal
+++ b/git-annex.cabal
@@ -7,7 +7,6 @@ Author: Joey Hess
Stability: Stable
Copyright: 2010-2014 Joey Hess
License-File: COPYRIGHT
-Extra-Source-Files: CHANGELOG
Homepage: http://git-annex.branchable.com/
Build-type: Custom
Category: Utility
@@ -30,6 +29,230 @@ Description:
noticing when files are changed, and automatically committing them
to git and transferring them to other computers. The git-annex webapp
makes it easy to set up and use git-annex this way.
+-- The tarball uploaded to hackage does not include every non-haskell
+-- file in the git repo. The website is left out, so is build machinary for
+-- standalone apps, and packages. Include only files that are needed
+-- make cabal install git-annex work.
+Extra-Source-Files:
+ stack.yaml
+ README
+ CHANGELOG
+ NEWS
+ doc/license/GPL
+ doc/license/AGPL
+ doc/git-annex.mdwn
+ doc/git-annex-add.mdwn
+ doc/git-annex-addunused.mdwn
+ doc/git-annex-addurl.mdwn
+ doc/git-annex-adjust.mdwn
+ doc/git-annex-assistant.mdwn
+ doc/git-annex-calckey.mdwn
+ doc/git-annex-checkpresentkey.mdwn
+ doc/git-annex-contentlocation.mdwn
+ doc/git-annex-copy.mdwn
+ doc/git-annex-dead.mdwn
+ doc/git-annex-describe.mdwn
+ doc/git-annex-diffdriver.mdwn
+ doc/git-annex-direct.mdwn
+ doc/git-annex-drop.mdwn
+ doc/git-annex-dropkey.mdwn
+ doc/git-annex-dropunused.mdwn
+ doc/git-annex-edit.mdwn
+ doc/git-annex-enableremote.mdwn
+ doc/git-annex-examinekey.mdwn
+ doc/git-annex-expire.mdwn
+ doc/git-annex-find.mdwn
+ doc/git-annex-findref.mdwn
+ doc/git-annex-fix.mdwn
+ doc/git-annex-forget.mdwn
+ doc/git-annex-fromkey.mdwn
+ doc/git-annex-fsck.mdwn
+ doc/git-annex-fuzztest.mdwn
+ doc/git-annex-get.mdwn
+ doc/git-annex-group.mdwn
+ doc/git-annex-groupwanted.mdwn
+ doc/git-annex-import.mdwn
+ doc/git-annex-importfeed.mdwn
+ doc/git-annex-indirect.mdwn
+ doc/git-annex-info.mdwn
+ doc/git-annex-init.mdwn
+ doc/git-annex-initremote.mdwn
+ doc/git-annex-list.mdwn
+ doc/git-annex-lock.mdwn
+ doc/git-annex-log.mdwn
+ doc/git-annex-lookupkey.mdwn
+ doc/git-annex-map.mdwn
+ doc/git-annex-matchexpression.mdwn
+ doc/git-annex-matching-options.mdwn
+ doc/git-annex-merge.mdwn
+ doc/git-annex-metadata.mdwn
+ doc/git-annex-migrate.mdwn
+ doc/git-annex-mirror.mdwn
+ doc/git-annex-move.mdwn
+ doc/git-annex-numcopies.mdwn
+ doc/git-annex-pre-commit.mdwn
+ doc/git-annex-preferred-content.mdwn
+ doc/git-annex-proxy.mdwn
+ doc/git-annex-readpresentkey.mdwn
+ doc/git-annex-registerurl.mdwn
+ doc/git-annex-reinit.mdwn
+ doc/git-annex-reinject.mdwn
+ doc/git-annex-rekey.mdwn
+ doc/git-annex-remotedaemon.mdwn
+ doc/git-annex-repair.mdwn
+ doc/git-annex-required.mdwn
+ doc/git-annex-resolvemerge.mdwn
+ doc/git-annex-rmurl.mdwn
+ doc/git-annex-schedule.mdwn
+ doc/git-annex-semitrust.mdwn
+ doc/git-annex-setkey.mdwn
+ doc/git-annex-setpresentkey.mdwn
+ doc/git-annex-shell.mdwn
+ doc/git-annex-smudge.mdwn
+ doc/git-annex-status.mdwn
+ doc/git-annex-sync.mdwn
+ doc/git-annex-test.mdwn
+ doc/git-annex-testremote.mdwn
+ doc/git-annex-transferkey.mdwn
+ doc/git-annex-transferkeys.mdwn
+ doc/git-annex-trust.mdwn
+ doc/git-annex-unannex.mdwn
+ doc/git-annex-undo.mdwn
+ doc/git-annex-ungroup.mdwn
+ doc/git-annex-uninit.mdwn
+ doc/git-annex-unlock.mdwn
+ doc/git-annex-untrust.mdwn
+ doc/git-annex-unused.mdwn
+ doc/git-annex-upgrade.mdwn
+ doc/git-annex-vadd.mdwn
+ doc/git-annex-vcycle.mdwn
+ doc/git-annex-version.mdwn
+ doc/git-annex-vfilter.mdwn
+ doc/git-annex-vicfg.mdwn
+ doc/git-annex-view.mdwn
+ doc/git-annex-vpop.mdwn
+ doc/git-annex-wanted.mdwn
+ doc/git-annex-watch.mdwn
+ doc/git-annex-webapp.mdwn
+ doc/git-annex-whereis.mdwn
+ doc/git-annex-xmppgit.mdwn
+ doc/logo.svg
+ doc/logo_16x16.png
+ Makefile
+ Build/mdwn2man
+ Assistant/WebApp/routes
+ static/activityicon.gif
+ static/css/bootstrap.css
+ static/css/bootstrap-theme.css
+ static/js/jquery.ui.core.js
+ static/js/longpolling.js
+ static/js/jquery.full.js
+ static/js/jquery.ui.sortable.js
+ static/js/jquery.ui.mouse.js
+ static/js/jquery.ui.widget.js
+ static/js/bootstrap.js
+ static/syncicon.gif
+ static/favicon.ico
+ static/fonts/glyphicons-halflings-regular.woff
+ static/fonts/glyphicons-halflings-regular.eot
+ static/fonts/glyphicons-halflings-regular.svg
+ static/fonts/glyphicons-halflings-regular.ttf
+ templates/sidebar/main.hamlet
+ templates/sidebar/alert.hamlet
+ templates/bootstrap.hamlet
+ templates/error.cassius
+ templates/README
+ templates/error.hamlet
+ templates/documentation/license.hamlet
+ templates/documentation/repogroup.hamlet
+ templates/documentation/about.hamlet
+ templates/dashboard/main.hamlet
+ templates/dashboard/transfers.cassius
+ templates/dashboard/transfers.hamlet
+ templates/dashboard/metarefresh.hamlet
+ templates/page.cassius
+ templates/page.hamlet
+ templates/control/repairrepository.hamlet
+ templates/control/repairrepository/done.hamlet
+ templates/control/notrunning.julius
+ templates/control/notrunning.hamlet
+ templates/control/repositoryswitcher.hamlet
+ templates/control/shutdown.hamlet
+ templates/control/log.hamlet
+ templates/page.julius
+ templates/repolist.julius
+ templates/configurators/adddrive/combine.hamlet
+ templates/configurators/adddrive/setupmodal.hamlet
+ templates/configurators/adddrive/encrypt.hamlet
+ templates/configurators/newrepository.hamlet
+ templates/configurators/needglaciercli.hamlet
+ templates/configurators/adds3.hamlet
+ templates/configurators/genkeymodal.hamlet
+ templates/configurators/main.hamlet
+ templates/configurators/needconnection.hamlet
+ templates/configurators/newrepository/form.hamlet
+ templates/configurators/newrepository/first.hamlet
+ templates/configurators/newrepository/combine.hamlet
+ templates/configurators/enablewebdav.hamlet
+ templates/configurators/pairing/local/inprogress.hamlet
+ templates/configurators/pairing/local/prompt.hamlet
+ templates/configurators/pairing/disabled.hamlet
+ templates/configurators/pairing/xmpp/self/retry.hamlet
+ templates/configurators/pairing/xmpp/self/prompt.hamlet
+ templates/configurators/pairing/xmpp/friend/prompt.hamlet
+ templates/configurators/pairing/xmpp/friend/confirm.hamlet
+ templates/configurators/pairing/xmpp/end.hamlet
+ templates/configurators/xmpp.hamlet
+ templates/configurators/addglacier.hamlet
+ templates/configurators/fsck.cassius
+ templates/configurators/edit/nonannexremote.hamlet
+ templates/configurators/edit/webrepository.hamlet
+ templates/configurators/edit/repository.hamlet
+ templates/configurators/unused.hamlet
+ templates/configurators/addbox.com.hamlet
+ templates/configurators/ssh/testmodal.hamlet
+ templates/configurators/ssh/expiredpassword.hamlet
+ templates/configurators/ssh/error.hamlet
+ templates/configurators/ssh/combine.hamlet
+ templates/configurators/ssh/enable.hamlet
+ templates/configurators/ssh/add.hamlet
+ templates/configurators/ssh/setupmodal.hamlet
+ templates/configurators/ssh/confirm.hamlet
+ templates/configurators/upgrade/android.hamlet
+ templates/configurators/enableia.hamlet
+ templates/configurators/fsck.hamlet
+ templates/configurators/addrepository/archive.hamlet
+ templates/configurators/addrepository/cloud.hamlet
+ templates/configurators/addrepository/connection.hamlet
+ templates/configurators/addrepository/xmppconnection.hamlet
+ templates/configurators/addrepository/ssh.hamlet
+ templates/configurators/addrepository/misc.hamlet
+ templates/configurators/rsync.net/add.hamlet
+ templates/configurators/rsync.net/encrypt.hamlet
+ templates/configurators/gitlab.com/add.hamlet
+ templates/configurators/needgcrypt.hamlet
+ templates/configurators/enabledirectory.hamlet
+ templates/configurators/fsck/status.hamlet
+ templates/configurators/fsck/form.hamlet
+ templates/configurators/fsck/preferencesform.hamlet
+ templates/configurators/fsck/formcontent.hamlet
+ templates/configurators/delete/xmpp.hamlet
+ templates/configurators/delete/finished.hamlet
+ templates/configurators/delete/start.hamlet
+ templates/configurators/delete/currentrepository.hamlet
+ templates/configurators/unused/form.hamlet
+ templates/configurators/adddrive.hamlet
+ templates/configurators/preferences.hamlet
+ templates/configurators/addia.hamlet
+ templates/configurators/xmpp/buddylist.hamlet
+ templates/configurators/xmpp/disabled.hamlet
+ templates/configurators/xmpp/needcloudrepo.hamlet
+ templates/configurators/enableaws.hamlet
+ templates/configurators/addrepository.hamlet
+ templates/actionbutton.hamlet
+ templates/repolist.hamlet
+ templates/controlmenu.hamlet
+ templates/notifications/longpolling.julius
Flag S3
Description: Enable S3 support
@@ -90,6 +313,15 @@ Flag Dbus
Flag XMPP
Description: Enable notifications using XMPP
+source-repository head
+ type: git
+ location: git://git-annex.branchable.com/
+
+custom-setup
+ Setup-Depends: base (>= 4.5), hslogger, MissingH, unix-compat, process,
+ unix, filepath, exceptions, bytestring, directory, IfElse, data-default,
+ Cabal
+
Executable git-annex
Main-Is: git-annex.hs
Build-Depends:
@@ -247,11 +479,567 @@ Executable git-annex
Build-Depends: criterion, deepseq
CPP-Options: -DWITH_BENCHMARK
-custom-setup
- Setup-Depends: base (>= 4.5), hslogger, MissingH, unix-compat, process,
- unix, filepath, exceptions, bytestring, directory, IfElse, data-default,
- Cabal
-
-source-repository head
- type: git
- location: git://git-annex.branchable.com/
+ Other-Modules:
+ Annex
+ Annex.Action
+ Annex.AdjustedBranch
+ Annex.AutoMerge
+ Annex.BloomFilter
+ Annex.Branch
+ Annex.Branch.Transitions
+ Annex.BranchState
+ Annex.CatFile
+ Annex.CheckAttr
+ Annex.CheckIgnore
+ Annex.Common
+ Annex.Concurrent
+ Annex.Content
+ Annex.Content.Direct
+ Annex.Difference
+ Annex.DirHashes
+ Annex.Direct
+ Annex.Drop
+ Annex.Environment
+ Annex.FileMatcher
+ Annex.Fixup
+ Annex.GitOverlay
+ Annex.HashObject
+ Annex.Hook
+ Annex.Ingest
+ Annex.Init
+ Annex.InodeSentinal
+ Annex.Journal
+ Annex.Link
+ Annex.Locations
+ Annex.LockFile
+ Annex.LockPool
+ Annex.LockPool.PosixOrPid
+ Annex.MakeRepo
+ Annex.MetaData
+ Annex.MetaData.StandardFields
+ Annex.Notification
+ Annex.NumCopies
+ Annex.Path
+ Annex.Perms
+ Annex.Queue
+ Annex.Quvi
+ Annex.ReplaceFile
+ Annex.SpecialRemote
+ Annex.Ssh
+ Annex.TaggedPush
+ Annex.Transfer
+ Annex.UUID
+ Annex.Url
+ Annex.VariantFile
+ Annex.Version
+ Annex.View
+ Annex.View.ViewedFile
+ Annex.Wanted
+ Annex.WorkTree
+ Assistant
+ Assistant.Alert
+ Assistant.Alert.Utility
+ Assistant.BranchChange
+ Assistant.Changes
+ Assistant.Commits
+ Assistant.Common
+ Assistant.CredPairCache
+ Assistant.DaemonStatus
+ Assistant.DeleteRemote
+ Assistant.Drop
+ Assistant.Fsck
+ Assistant.Gpg
+ Assistant.Install
+ Assistant.Install.AutoStart
+ Assistant.Install.Menu
+ Assistant.MakeRemote
+ Assistant.Monad
+ Assistant.NamedThread
+ Assistant.NetMessager
+ Assistant.Pairing
+ Assistant.Pairing.MakeRemote
+ Assistant.Pairing.Network
+ Assistant.Pushes
+ Assistant.RemoteControl
+ Assistant.Repair
+ Assistant.RepoProblem
+ Assistant.Restart
+ Assistant.ScanRemotes
+ Assistant.Ssh
+ Assistant.Sync
+ Assistant.Threads.Committer
+ Assistant.Threads.ConfigMonitor
+ Assistant.Threads.Cronner
+ Assistant.Threads.DaemonStatus
+ Assistant.Threads.Glacier
+ Assistant.Threads.Merger
+ Assistant.Threads.MountWatcher
+ Assistant.Threads.NetWatcher
+ Assistant.Threads.PairListener
+ Assistant.Threads.ProblemFixer
+ Assistant.Threads.Pusher
+ Assistant.Threads.RemoteControl
+ Assistant.Threads.SanityChecker
+ Assistant.Threads.TransferPoller
+ Assistant.Threads.TransferScanner
+ Assistant.Threads.TransferWatcher
+ Assistant.Threads.Transferrer
+ Assistant.Threads.UpgradeWatcher
+ Assistant.Threads.Upgrader
+ Assistant.Threads.Watcher
+ Assistant.Threads.WebApp
+ Assistant.Threads.XMPPClient
+ Assistant.Threads.XMPPPusher
+ Assistant.TransferQueue
+ Assistant.TransferSlots
+ Assistant.TransferrerPool
+ Assistant.Types.Alert
+ Assistant.Types.BranchChange
+ Assistant.Types.Buddies
+ Assistant.Types.Changes
+ Assistant.Types.Commits
+ Assistant.Types.CredPairCache
+ Assistant.Types.DaemonStatus
+ Assistant.Types.NamedThread
+ Assistant.Types.NetMessager
+ Assistant.Types.Pushes
+ Assistant.Types.RemoteControl
+ Assistant.Types.RepoProblem
+ Assistant.Types.ScanRemotes
+ Assistant.Types.ThreadName
+ Assistant.Types.ThreadedMonad
+ Assistant.Types.TransferQueue
+ Assistant.Types.TransferSlots
+ Assistant.Types.TransferrerPool
+ Assistant.Types.UrlRenderer
+ Assistant.Unused
+ Assistant.Upgrade
+ Assistant.WebApp
+ Assistant.WebApp.Common
+ Assistant.WebApp.Configurators
+ Assistant.WebApp.Configurators.AWS
+ Assistant.WebApp.Configurators.Delete
+ Assistant.WebApp.Configurators.Edit
+ Assistant.WebApp.Configurators.Fsck
+ Assistant.WebApp.Configurators.IA
+ Assistant.WebApp.Configurators.Local
+ Assistant.WebApp.Configurators.Pairing
+ Assistant.WebApp.Configurators.Preferences
+ Assistant.WebApp.Configurators.Ssh
+ Assistant.WebApp.Configurators.Unused
+ Assistant.WebApp.Configurators.Upgrade
+ Assistant.WebApp.Configurators.WebDAV
+ Assistant.WebApp.Configurators.XMPP
+ Assistant.WebApp.Control
+ Assistant.WebApp.DashBoard
+ Assistant.WebApp.Documentation
+ Assistant.WebApp.Form
+ Assistant.WebApp.Gpg
+ Assistant.WebApp.MakeRemote
+ Assistant.WebApp.Notifications
+ Assistant.WebApp.OtherRepos
+ Assistant.WebApp.Page
+ Assistant.WebApp.Repair
+ Assistant.WebApp.RepoId
+ Assistant.WebApp.RepoList
+ Assistant.WebApp.SideBar
+ Assistant.WebApp.Types
+ Assistant.XMPP
+ Assistant.XMPP.Buddies
+ Assistant.XMPP.Client
+ Assistant.XMPP.Git
+ Backend
+ Backend.Hash
+ Backend.URL
+ Backend.Utilities
+ Backend.WORM
+ Build.BuildVersion
+ Build.BundledPrograms
+ Build.Configure
+ Build.DesktopFile
+ Build.DistributionUpdate
+ Build.EvilLinker
+ Build.EvilSplicer
+ Build.InstallDesktopFile
+ Build.LinuxMkLibs
+ Build.NullSoftInstaller
+ Build.OSXMkLibs
+ Build.Standalone
+ Build.TestConfig
+ Build.Version
+ BuildFlags
+ CmdLine
+ CmdLine.Action
+ CmdLine.Batch
+ CmdLine.GitAnnex
+ CmdLine.GitAnnex.Options
+ CmdLine.GitAnnexShell
+ CmdLine.GitAnnexShell.Checks
+ CmdLine.GitAnnexShell.Fields
+ CmdLine.GlobalSetter
+ CmdLine.Option
+ CmdLine.Seek
+ CmdLine.Usage
+ Command
+ Command.Add
+ Command.AddUnused
+ Command.AddUrl
+ Command.Adjust
+ Command.Assistant
+ Command.Benchmark
+ Command.CalcKey
+ Command.CheckPresentKey
+ Command.Commit
+ Command.ConfigList
+ Command.ContentLocation
+ Command.Copy
+ Command.Dead
+ Command.Describe
+ Command.DiffDriver
+ Command.Direct
+ Command.Drop
+ Command.DropKey
+ Command.DropUnused
+ Command.EnableRemote
+ Command.ExamineKey
+ Command.Expire
+ Command.Find
+ Command.FindRef
+ Command.Fix
+ Command.Forget
+ Command.FromKey
+ Command.Fsck
+ Command.FuzzTest
+ Command.GCryptSetup
+ Command.Get
+ Command.Group
+ Command.GroupWanted
+ Command.Help
+ Command.Import
+ Command.ImportFeed
+ Command.InAnnex
+ Command.Indirect
+ Command.Info
+ Command.Init
+ Command.InitRemote
+ Command.List
+ Command.Lock
+ Command.LockContent
+ Command.Log
+ Command.LookupKey
+ Command.Map
+ Command.MatchExpression
+ Command.Merge
+ Command.MetaData
+ Command.Migrate
+ Command.Mirror
+ Command.Move
+ Command.NotifyChanges
+ Command.NumCopies
+ Command.PreCommit
+ Command.Proxy
+ Command.ReKey
+ Command.ReadPresentKey
+ Command.RecvKey
+ Command.RegisterUrl
+ Command.Reinit
+ Command.Reinject
+ Command.RemoteDaemon
+ Command.Repair
+ Command.Required
+ Command.ResolveMerge
+ Command.RmUrl
+ Command.Schedule
+ Command.Semitrust
+ Command.SendKey
+ Command.SetKey
+ Command.SetPresentKey
+ Command.Smudge
+ Command.Status
+ Command.Sync
+ Command.Test
+ Command.TestRemote
+ Command.TransferInfo
+ Command.TransferKey
+ Command.TransferKeys
+ Command.Trust
+ Command.Unannex
+ Command.Undo
+ Command.Ungroup
+ Command.Uninit
+ Command.Unlock
+ Command.Untrust
+ Command.Unused
+ Command.Upgrade
+ Command.VAdd
+ Command.VCycle
+ Command.VFilter
+ Command.VPop
+ Command.Version
+ Command.Vicfg
+ Command.View
+ Command.Wanted
+ Command.Watch
+ Command.WebApp
+ Command.Whereis
+ Command.XMPPGit
+ Common
+ Config
+ Config.Cost
+ Config.Files
+ Creds
+ Crypto
+ Database.Fsck
+ Database.Handle
+ Database.Keys
+ Database.Keys.Handle
+ Database.Keys.SQL
+ Database.Queue
+ Database.Types
+ Git
+ Git.AutoCorrect
+ Git.Branch
+ Git.BuildVersion
+ Git.CatFile
+ Git.CheckAttr
+ Git.CheckIgnore
+ Git.Command
+ Git.Command.Batch
+ Git.Config
+ Git.Construct
+ Git.CurrentRepo
+ Git.DiffTree
+ Git.DiffTreeItem
+ Git.Env
+ Git.FileMode
+ Git.FilePath
+ Git.Filename
+ Git.Fsck
+ Git.GCrypt
+ Git.HashObject
+ Git.Hook
+ Git.Index
+ Git.LockFile
+ Git.LsFiles
+ Git.LsTree
+ Git.Merge
+ Git.Objects
+ Git.Queue
+ Git.Ref
+ Git.RefLog
+ Git.Remote
+ Git.Remote.Remove
+ Git.Repair
+ Git.Sha
+ Git.SharedRepository
+ Git.Status
+ Git.Tree
+ Git.Types
+ Git.UnionMerge
+ Git.UpdateIndex
+ Git.Url
+ Git.Version
+ Limit
+ Limit.Wanted
+ Logs
+ Logs.Activity
+ Logs.Chunk
+ Logs.Chunk.Pure
+ Logs.Difference
+ Logs.Difference.Pure
+ Logs.FsckResults
+ Logs.Group
+ Logs.Location
+ Logs.MapLog
+ Logs.MetaData
+ Logs.NumCopies
+ Logs.PreferredContent
+ Logs.PreferredContent.Raw
+ Logs.Presence
+ Logs.Presence.Pure
+ Logs.Remote
+ Logs.RemoteState
+ Logs.Schedule
+ Logs.SingleValue
+ Logs.TimeStamp
+ Logs.Transfer
+ Logs.Transitions
+ Logs.Trust
+ Logs.Trust.Basic
+ Logs.Trust.Pure
+ Logs.UUID
+ Logs.UUIDBased
+ Logs.Unused
+ Logs.View
+ Logs.Web
+ Messages
+ Messages.Concurrent
+ Messages.Internal
+ Messages.JSON
+ Messages.Progress
+ Remote
+ Remote.BitTorrent
+ Remote.Bup
+ Remote.Ddar
+ Remote.Directory
+ Remote.Directory.LegacyChunked
+ Remote.External
+ Remote.External.Types
+ Remote.GCrypt
+ Remote.Git
+ Remote.Glacier
+ Remote.Helper.AWS
+ Remote.Helper.Chunked
+ Remote.Helper.Chunked.Legacy
+ Remote.Helper.Encryptable
+ Remote.Helper.Git
+ Remote.Helper.Hooks
+ Remote.Helper.Http
+ Remote.Helper.Messages
+ Remote.Helper.ReadOnly
+ Remote.Helper.Special
+ Remote.Helper.Ssh
+ Remote.Hook
+ Remote.List
+ Remote.Rsync
+ Remote.Rsync.RsyncUrl
+ Remote.S3
+ Remote.Tahoe
+ Remote.Web
+ Remote.WebDAV
+ Remote.WebDAV.DavLocation
+ RemoteDaemon.Common
+ RemoteDaemon.Core
+ RemoteDaemon.Transport
+ RemoteDaemon.Transport.GCrypt
+ RemoteDaemon.Transport.Ssh
+ RemoteDaemon.Transport.Ssh.Types
+ RemoteDaemon.Types
+ Test
+ Types
+ Types.Availability
+ Types.Backend
+ Types.BranchState
+ Types.CleanupActions
+ Types.Command
+ Types.Creds
+ Types.Crypto
+ Types.DeferredParse
+ Types.DesktopNotify
+ Types.Difference
+ Types.Distribution
+ Types.FileMatcher
+ Types.GitConfig
+ Types.Group
+ Types.Key
+ Types.KeySource
+ Types.LockCache
+ Types.Messages
+ Types.MetaData
+ Types.NumCopies
+ Types.RefSpec
+ Types.Remote
+ Types.ScheduledActivity
+ Types.StandardGroups
+ Types.StoreRetrieve
+ Types.Test
+ Types.TrustLevel
+ Types.UUID
+ Types.UrlContents
+ Types.View
+ Upgrade
+ Upgrade.V0
+ Upgrade.V1
+ Upgrade.V2
+ Upgrade.V3
+ Upgrade.V4
+ Upgrade.V5
+ Utility.Applicative
+ Utility.Base64
+ Utility.Batch
+ Utility.Bloom
+ Utility.CoProcess
+ Utility.CopyFile
+ Utility.DBus
+ Utility.Daemon
+ Utility.Data
+ Utility.DataUnits
+ Utility.DirWatcher
+ Utility.DirWatcher.FSEvents
+ Utility.DirWatcher.INotify
+ Utility.DirWatcher.Kqueue
+ Utility.DirWatcher.Types
+ Utility.DirWatcher.Win32Notify
+ Utility.Directory
+ Utility.DiskFree
+ Utility.Dot
+ Utility.DottedVersion
+ Utility.Env
+ Utility.Exception
+ Utility.ExternalSHA
+ Utility.FileMode
+ Utility.FileSize
+ Utility.FileSystemEncoding
+ Utility.Format
+ Utility.FreeDesktop
+ Utility.Glob
+ Utility.Gpg
+ Utility.Hash
+ Utility.HumanNumber
+ Utility.HumanTime
+ Utility.InodeCache
+ Utility.JSONStream
+ Utility.LinuxMkLibs
+ Utility.LockFile
+ Utility.LockFile.LockStatus
+ Utility.LockFile.PidLock
+ Utility.LockFile.Posix
+ Utility.LockFile.Windows
+ Utility.LockPool
+ Utility.LockPool.LockHandle
+ Utility.LockPool.PidLock
+ Utility.LockPool.Posix
+ Utility.LockPool.STM
+ Utility.LockPool.Windows
+ Utility.LogFile
+ Utility.Lsof
+ Utility.Matcher
+ Utility.Metered
+ Utility.Misc
+ Utility.Monad
+ Utility.Mounts
+ Utility.Network
+ Utility.NotificationBroadcaster
+ Utility.OSX
+ Utility.OptParse
+ Utility.PID
+ Utility.Parallel
+ Utility.PartialPrelude
+ Utility.Path
+ Utility.Percentage
+ Utility.PosixFiles
+ Utility.Process
+ Utility.Process.Shim
+ Utility.QuickCheck
+ Utility.Quvi
+ Utility.Rsync
+ Utility.SRV
+ Utility.SafeCommand
+ Utility.Scheduled
+ Utility.Scheduled.QuickCheck
+ Utility.Shell
+ Utility.SimpleProtocol
+ Utility.SshConfig
+ Utility.SystemDirectory
+ Utility.TList
+ Utility.Tense
+ Utility.ThreadLock
+ Utility.ThreadScheduler
+ Utility.Tmp
+ Utility.Touch
+ Utility.Url
+ Utility.UserInfo
+ Utility.Verifiable
+ Utility.WebApp
+ Utility.WinProcess
+ Utility.Yesod