summaryrefslogtreecommitdiff
path: root/debian
Commit message (Collapse)AuthorAge
* Avoid repeated location log commits when a remote is receiving files.Gravatar Joey Hess2012-01-28
| | | | | | | | | Done by adding a oneshot mode, in which location log changes are written to the journal, but not committed. Taking advantage of git-annex's existing ability to recover in this situation. This is used by git-annex-shell and other places where changes are made to a remote's location log.
* remove Utility.Conditional and use IfElseGravatar Joey Hess2012-01-24
| | | | | | | This drops the >>! and >>? with the nice low fixity. IfElse does have undocumented >>=>>! and >>=>>? operators, but I deem that too fishy. Anyway, using whenM and unlessM is easier; I sometimes mixed the operators up.
* releasing version 3.201201233.20120123Gravatar Joey Hess2012-01-23
|
* ssh connection cachingGravatar Joey Hess2012-01-20
| | | | | | | | | | | 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. Note: The rsync special remote does not yet participate in the ssh connection caching.
* fsck --from remote --fastGravatar Joey Hess2012-01-20
| | | | | | | Avoids expensive file transfers, at the expense of checking file size and/or contents. Required some reworking of the remote code.
* update NEWSGravatar Joey Hess2012-01-19
| | | | | | | | | Add news item recommending fscking directory special remotes. Remote news item about URL backend being removed; it was later added back to be used by git annex addurl --fast. Link NEWS into top level.
* fsck --fromGravatar Joey Hess2012-01-19
| | | | | | | | | | | | | | | | 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. (Several optimisations are possible, to speed it up, of course.. This is the slow and stupid remote fsck to start with.) 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!
* releasing version 3.201201163.20120116Gravatar Joey Hess2012-01-16
|
* Fix data loss bug in directory special remoteGravatar Joey Hess2012-01-16
| | | | | | | | | | | | | | | | 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. I reproduced data loss when moving files to a partition that was almost full. Interrupting a transfer could have similar results. Easily fixed by using a temp file which is then moved atomically into place once the transfer completes. I've audited other calls to copyFileExternal, and other special remote file transfer code; everything else seems to use temp files correctly (rsync, git), or otherwise use atomic transfers (bup, S3).
* debhelper v9Gravatar Joey Hess2012-01-15
| | | | kills that ugly python message during build
* releasing version 3.201201153.20120115Gravatar Joey Hess2012-01-15
|
* Fix QuickCheck dependency in cabal file.Gravatar Joey Hess2012-01-15
|
* add a configure check for StatFSGravatar Joey Hess2012-01-15
| | | | | | | | | | | | This way, the build log will indicate whether StatFS can be relied on. I've tested all the failing architectures now, and on all of them, the StatFS code now returns Nothing, rather than Just nonsense. Also, if annex.diskreserve is set on a platform where StatFS is not working, git-annex will complain. Also, the Makefile was missing the sources target used when building with cabal.
* Add a sanity check for bad StatFS results.Gravatar Joey Hess2012-01-14
| | | | | | | | | | | | | | | git-annex FTBFS on s390, mips, powerpc, sparc. That StatFS code is failing on all of them. At least on s390, the failure appears as: Just (FileSystemStats {fsStatBlockSize = 4096, fsStatBlockCount = 0, fsStatByteCount = 0, fsStatBytesFree = 0, fsStatBytesAvailable = 0, fsStatBytesUsed = 0}) While I don't understand why this is happening, or how to fix it, bandaid over it by checking for obviously bad values and returning Nothing. That disables disk free space checking, but at least git-annex will work. Upstream bug: http://code.google.com/p/xmobar/issues/detail?id=70
* Add libghc-testpack-dev to build depends on all arches.Gravatar Joey Hess2012-01-13
|
* git-annex, git-union-merge: Support GIT_DIR and GIT_WORK_TREE.Gravatar Joey Hess2012-01-13
| | | | | Note that GIT_WORK_TREE cannot influence GIT_DIR; that is necessary for git-fake-bare and vcsh type things to work.
* Add annex-trustlevel configuration settings, which can be used to override ↵Gravatar Joey Hess2012-01-09
| | | | | | | | | | | | | the trust level of a remote. This overrides the trust.log, and is overridden by the command-line trust parameters. It would have been nicer to have Logs.Trust.trustMap just look up the configuration for all remotes, but a dependency loop prevented that (Remotes depends on Logs.Trust in several ways). So instead, look up the configuration when building remotes, storing it in the same forcetrust field used for the command-line trust parameters.
* map: Fix display of remote reposGravatar Joey Hess2012-01-08
| | | | A change to break local cycles made remote repos be dropped entirely.
* log: Add --gource mode, which generates output usable by gource.Gravatar Joey Hess2012-01-07
| | | | | As part of this, I fixed up how log was getting the descriptions of remotes.
* releasing version 3.201201063.20120106Gravatar Joey Hess2012-01-07
|
* Fix overbroad gpg --no-tty fix from last release.Gravatar Joey Hess2012-01-07
| | | | | | | Only set --no-tty when GPG_AGENT_INFO is set and batch mode is used. In the test suite, set GPG_AGENT_INFO to /dev/null to avoid the test suite relying on /dev/tty.
* typoGravatar Joey Hess2012-01-06
|
* log: New command that displays the location log for file, showing each ↵Gravatar Joey Hess2012-01-06
| | | | | | | | | | | | | | | repository they were added to and removed from. This needs to run git log on the location log files to get at all past versions of the file, which tends to be a bit slow. It would be possible to make a version optimised for showing the location logs for every key. That would only need to run git log once, so would be faster, but it would need to process an enormous amount of data, so would not speed up the individual file case. In the future it would be nice to support log --format. log --json also doesn't work right yet.
* remove S3stub stuffGravatar Joey Hess2012-01-05
| | | | | Let's keep that in a no-s3 branch, which can be merged into eg, debian-stable.
* Don't list S3 as a remote type when built without S3 support.Gravatar Joey Hess2012-01-05
|
* Support unescaped repository urls, like git does.Gravatar Joey Hess2012-01-05
| | | | | | | | Turns out that git will accept a .git/config containing an url with eg, spaces in its name. Handle this by escaping the url if it's not valid. This also fixes support for urls containing escaped characters like %20 for space. Before, the path from the url was not unescaped properly.
* releasing version 3.201201053.20120105Gravatar Joey Hess2012-01-05
|
* Run gpg with --no-tty. Closes: #654721Gravatar Joey Hess2012-01-05
|
* fsck: Do backend-specific check before checking numcopies is satisfied.Gravatar Joey Hess2012-01-03
| | | | | This way, when a checksum check fails and the content is moved aside, the numcopies check also warns if there are not enough copies.
* Added quickcheck to build dependencies, and fail if test suite cannot be built.Gravatar Joey Hess2012-01-03
|
* no implicit dotfiles in addGravatar Joey Hess2012-01-03
| | | | | | | | | | | | | | | | | | | | | | | | 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. One reason for this is that it will make git-annex more usable with vcsh, where you don't want "vcsh big annex add" to check in all the dotfiles that are already versioned in other repositories. (If you're using vcsh for repos that contain non-dotfiles, this won't help, and you'll need to .gitignore such things, but this will cover the common case.) A more general reason why this seems like a good idea is the same reason ls ignores dotfiles, just the unix convention that they are cruft that is kept out of the way most of the time. All the other git-annex commands still do deal with any dotfiles that do get into the annex. This seemed right because if I've gone to the trouble to add a dotfile, I will want "git annex get ." to get it along with everything else.
* annex.web-options also worksGravatar Joey Hess2012-01-02
|
* Added remote.name.annex-web-options configuration setting, which can be used ↵Gravatar Joey Hess2012-01-02
| | | | 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).
* releasing version 3.201112313.20111231Gravatar Joey Hess2011-12-31
|
* sync --fast: Selects some of the remotes with the lowest annex.cost and ↵Gravatar Joey Hess2011-12-30
| | | | syncs those, in addition to any specified at the command line.
* updateGravatar Joey Hess2011-12-30
|
* Merge branch 'new-monad-control'Gravatar Joey Hess2011-12-30
|\ | | | | | | | | Conflicts: debian/changelog
* | fixed behavior when multiple insteadOf configs are provided for the same url ↵Gravatar Joey Hess2011-12-30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | base Consider this git config --list case: url.git+ssh://git@example.com/.insteadOf=gl url.git+ssh://git@example.com/.insteadOf=shared Since config is stored in a Map, only the last of the values for this key was stored and available for use by the insteadOf code. But that is wrong; git allows either "gl" or "shared" to be used in an url and the insteadOf value to be substituted in. To support this, it seems best to keep the existing config map as-is, and add a second map that accumulates a list of multiple values for config keys. This new fullconfig map can be used in the rare places where multiple values for a key make sense, without needing to complicate everything else. Haskell's laziness and data sharing keep the overhead of adding this second map low.
| * Updated to build with monad-control 0.3.Gravatar Joey Hess2011-12-24
|/
* find --jsonGravatar Joey Hess2011-12-23
|
* Format strings can be specified using the new --find option, to control what ↵Gravatar Joey Hess2011-12-22
| | | | is output by git annex find.
* Can now be built with older git versions (before 1.7.7); the resulting ↵Gravatar Joey Hess2011-12-22
| | | | | | | binary should only be used with old git. Remove git old version check from configure, and use the git version it was built against in the git check-attr code.
* Add --include, which is the same as --not --exclude.Gravatar Joey Hess2011-12-22
|
* Improve deletion of files from rsync special remotes. Closes: #652849Gravatar Joey Hess2011-12-21
| | | | | | Rsync is only run once, with include / exclude rules used to specify exactly what to delete. This is faster, and avoids ugly error messages from rsync, and doesn't fail if the content already got deleted somehow.
* test fsck in bare repos (75%)Gravatar Joey Hess2011-12-21
|
* test bup special remote (74% coverage)Gravatar Joey Hess2011-12-21
|
* test coverage improvementsGravatar Joey Hess2011-12-21
|
* test encrypted special remoteGravatar Joey Hess2011-12-20
| | | | | This involved adding a test harness to run gpg with a dummy key, and lots of fun.
* Test suite improvements. Current top-level test coverage: 68%Gravatar Joey Hess2011-12-20
| | | | Been higher before, but a lot of new code has been added.
* map: --fast disables use of dot to display mapGravatar Joey Hess2011-12-20
| | | | Generally useful, and allows the test suite to test it.