summaryrefslogtreecommitdiff
path: root/debian
Commit message (Collapse)AuthorAge
* webapp: Fix bug setting up ssh repo if the user enters "~/" at the start of ↵Gravatar Joey Hess2013-06-25
| | | | the path.
* webapp: Ensure that ssh keys generated for different directories on a server ↵Gravatar Joey Hess2013-06-25
| | | | are always different.
* webapp: Fix bug when setting up a remote ssh repo repeatedly on the same server.Gravatar Joey Hess2013-06-25
| | | | | | | | | | | | | The ssh setup first runs ssh to the real hostname, to probe if a ssh key is needed. If one is, it generates a mangled hostname that uses a key. This mangled hostname was being used to ssh into the server to set up the key. But if the server already had the key set up, and it was locked down, the setup would fail. This changes it to use the real hostname when sshing in to set up the key, which avoids the problem. Note that it will redundantly set up the key on the ssh server. But it's the same key; the ssh key generation code uses the key if it already exists.
* fsck: Ensures that direct mode is used for files when it's enabled.Gravatar Joey Hess2013-06-24
| | | | | | A common failure mode for direct mode has been for files to end up still stored in indirect mode. While I hope that doesn't happen anymore, fsck should deal with it.
* bup: Handle /~/ in bup remote paths. Thanks, Oliver MatthewsGravatar Joey Hess2013-06-23
|
* assistant: Daily sanity check thread is run niced.Gravatar Joey Hess2013-06-21
|
* assistant --autostart: Automatically ionices the daemons it starts.Gravatar Joey Hess2013-06-21
|
* releasing version 4.201306214.20130621Gravatar Joey Hess2013-06-21
|
* Enable assistant and WebDAV support on powerpc and sparc architectures, ↵Gravatar Joey Hess2013-06-21
| | | | which now have the necessary dependencies built.
* assistant: On Linux, the expensive transfer scan is run niced.Gravatar Joey Hess2013-06-20
| | | | | | | This is a compromise. I would like to nice every thread except for the webapp thread, but it's not practical to do so. That would need every thread to run as a bound thread, which could add significant overhead. And any forkIO would escape the nice level.
* Windows: The test suite now passes on Windows (a few broken parts are disabled).Gravatar Joey Hess2013-06-18
| | | | | | | | | | | Better to have a working test suite that doesn't test a few things than no working test suite. Most of the disabled stuff is because for some reason "git annex sync" doesn't work when run inside the test suite. Looks like PATH problems. The directory and rsync special remotes seem broken on Windows, or maybe the tests are. Pretty sure the hook special remote test is broken.
* avoid newline translation when writing to git hash-objectGravatar Joey Hess2013-06-18
| | | | They're like mushrooms, just keep popping up.
* Revert "Windows: Ssh connection caching is now supported."Gravatar Joey Hess2013-06-17
| | | | | | Yeah, that didn't actually work. Got error messages like it couldn't read from the control socket, so probably ssh doesn't really support that on Windows, at least the cygwin ssh build I'm using.
* Windows: Ssh connection caching is now supported.Gravatar Joey Hess2013-06-17
| | | | Turns out the socket stuff just works on windows.
* fsck: Avoid getting confused by Windows path separatorsGravatar Joey Hess2013-06-17
|
* annex.debug can now be set to enable debug logging by default. The webapp's ↵Gravatar Joey Hess2013-06-17
| | | | debugging check box does this.
* update standards-versionGravatar Joey Hess2013-06-17
|
* status: No longer shows dead repositories.Gravatar Joey Hess2013-06-17
| | | | | This is because people continually whine about it. Seemingly not aware that data generally cannot be deleted from git anyway.
* assistant: In direct mode, objects are now only dropped when all associated ↵Gravatar Joey Hess2013-06-15
| | | | 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
* Windows: Fix hang when adding several files at once.Gravatar Joey Hess2013-06-14
|
* Android: Fix use of cp command to not try to use features present only on ↵Gravatar Joey Hess2013-06-14
| | | | build system.
* sync: Better support for bare git remotes. Now pushes directly to the master ↵Gravatar Joey Hess2013-06-12
| | | | 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.
* Direct mode: No longer temporarily remove write permission bit of files when ↵Gravatar Joey Hess2013-06-12
| | | | | | | | | | | | | | adding them. This write permission frobbing is very appropriate in indirect mode, since annexed objects are stored as immutably as can be managed. But not in direct mode, where files should be able to be modified at any time. There are already sufficient guards that there's no need to prevent a file being written to while it's being ingested, in direct mode. The inode cache will detect (most) types of modifications, and the add will fail. Then a re-add should be done. The assistant should get another inotify change event, and automatically add the new version of the file.
* Merge branch 'glacier'Gravatar Joey Hess2013-06-11
|\ | | | | | | | | Conflicts: debian/changelog
* | webapp: When the user switches to display a different repository, that ↵Gravatar Joey Hess2013-06-11
| | | | | | | | repository becomes the default repository to be displayed next time the webapp gets started.
* | Android: Make the "Open webapp" menu item open the just created repository ↵Gravatar Joey Hess2013-06-10
| | | | | | | | when a new repo is made.
* | Android: Add .thumbnails to .gitignore when setting up a camera repository.Gravatar Joey Hess2013-06-10
| |
* | Supports indirect mode on encfs in paranoia mode, and other filesystems that ↵Gravatar Joey Hess2013-06-10
| | | | | | | | do not support hard links, but do support symlinks and other POSIX filesystem features.
* | releasing version 4.201306014.20130601Gravatar Joey Hess2013-06-01
| |
* | Android: Work around Android devices where the `am` command doesn't work.Gravatar Joey Hess2013-05-31
| |
* | Can now restart certain long-running git processes if they crash, and ↵Gravatar Joey Hess2013-05-31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | continue working. Fuzz tests have shown that git cat-file --batch sometimes stops running. It's not yet known why (no error message; repo seems ok). But this is something we can deal with in the CoProcess framework, since all 3 types of long-running git processes should be restartable if they fail. Note that, as implemented, only IO errors are caught. So an error thrown by the reveiver, when it sees something that is not valid output from git cat-file (etc) will not cause a restart. I don't want it to retry if git commands change their output or are just outputting garbage. This does mean that if the command did a partial output and crashed in the middle, it would still not be restarted. There is currently no guard against restarting a command repeatedly, if, for example, it crashes repeatedly on startup.
| * glacier: Better handling of the glacier inventory, which avoids duplicate ↵Gravatar Joey Hess2013-05-29
|/ | | | | | | | | | | | | | | | | | | | | | | | uploads to the same glacier repository by `git annex copy`. The checkpresent hook can return either True or, False, or fail with a message if it cannot successfully check the remote. Currently for glacier, when --trust-glacier is not set, it always returns False. Crucially, in the case when a file is in glacier, this is telling git-annex it's not there, so copy re-uploads it. This is not desirable; it breaks using glacier-cli to retreive that file later, and it wastes money/bandwidth. What if it instead, when the glacier inventory is missing a file, it returns False. And when the glacier inventory has a file, unless --trust-glacier is set, it *fails*. The result would be: * `git annex copy --to glacier` would only send things not listed in inventory. If a file is listed in the inventory, `copy` would complain that --trust-glacier` is not set, and not re-upload the file. * `git annex drop` would only trust that glacier has a file when --trust-glacier is set. Behavior unchanged. * `git annex move --to glacier`, when the file is not listed in inventory, would send the file, and delete it locally. Behavior unchanged. * `git annex move --to glacier`, when the file is listed in inventory, would only trust that glacier has the file when --trust-glacier is set * `git annex copy --from glacier` / `git annex get`, when the file is located in glacier, would trust the location log, and attempt to get the file from glacier.
* Android: Added an "Open WebApp" item to the terminal's menu. Should work for ↵Gravatar Joey Hess2013-05-28
| | | | Android devices that cannot auto-open the webapp on start.
* XMPP: Fix a file descriptor leak.Gravatar Joey Hess2013-05-26
|
* sync: Fix double merge conflict resolution handling.Gravatar Joey Hess2013-05-26
| | | | | | | Ie, when there'a a conflicted merge we may get foo.variant-xxxx created in a merge. If a second merge conflict occurs on that new file, it was not falling back to putting in the whole key (which should stop the merge conflicts happening for good, but is ugly).
* content: New command line way to view and configure a repository's preferred ↵Gravatar Joey Hess2013-05-25
| | | | content settings.
* Improve error handling when getting uuid of http remotes to auto-ignore, ↵Gravatar Joey Hess2013-05-25
| | | | like with ssh remotes.
* assistant: Work around git-cat-file's not reloading the index after files ↵Gravatar Joey Hess2013-05-25
| | | | | | are staged. Argh.
* Fix bug in parsing of parens in some preferred content expressions. This ↵Gravatar Joey Hess2013-05-24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | fixes the behavior of the manual mode group. The current manual mode preferred content expression is: "present and (((exclude=*/archive/* and exclude=archive/*) or (not (copies=archive:1 or copies=smallarchive:1))) or (not copies=semitrusted+:1))" The old matcher misparsed this, to basically: OR (present and (...)) (not copies=semitrusted+:1)) The paren handling and indeed the whole conversion from tokens to the matcher was just wrong. The new way may not be the cleverest, but I think it is correct, and you can see how it pattern matches structurally against the expressions when parsing them. That expression is now parsed to: MAnd (MOp <function>) (MOr (MOr (MAnd (MOp <function>) (MOp <function>)) (MNot (MOr (MOp <function>) (MOp <function>)))) (MNot (MOp <function>))) Which appears correct, and behaves correct in testing. Also threw in a simplifier, so the final generated Matcher has less unnecessary clutter in it. Mostly so that I could more easily read & confirm them. Also, added a simple test of the Matcher to the test suite. There is a small chance of badly formed preferred content expressions behaving differently than before due to this rewrite.
* Android app: Avoid using hard links to app's lib directory, which is ↵Gravatar Joey Hess2013-05-23
| | | | | | | sometimes on a different filesystem than the data directory. Assumes symlinks work on all android. If not, this would need to be adapted to try both. This worked for me.
* XMPP: Send pings and use them to detect when contact with the server is lost.Gravatar Joey Hess2013-05-22
| | | | | | I noticed that when my modem hung up and redialed, my xmpp client was left sending messages into the void. This will also handle any idle disconnection issues.
* hook special remote: Added combined hook program support.Gravatar Joey Hess2013-05-21
|
* XMPP: Avoid redundant and unncessary pushes. Note that this breaks ↵Gravatar Joey Hess2013-05-21
| | | | compatibility with previous versions of git-annex, which will refuse to accept any XMPP pushes from this version.
* releasing version 4.201305214.20130521Gravatar Joey Hess2013-05-21
|
* mention autobuild fixesGravatar Joey Hess2013-05-20
|
* Detect bad content in ~/.config/git-annex/program and look in PATH instead.Gravatar Joey Hess2013-05-20
|
* Fix a bug in the git-annex branch handling code that could cause info from a ↵Gravatar Joey Hess2013-05-20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | remote to not be merged and take effect immediately. This bug was turned up by the test suite, running fsck in direct mode. A repository was cloned, was put into direct mode, was fscked, and fsck incorrectly said that no copy existed of a file, that was actually present in origin. This turned out to occur because fsck first did a Annex.Branch.change, recording that it did not locally have the file. That was recorded in the journal. Since neither the git annex direct not the fsck had yet needed to read any info from the branch, but had only made changes to it, the origin/git-annex branch was not yet merged in. So the journal got a location log entry written to it, but this did not include the location log info for the origin. When fsck then did a Annex.Branch.get, it trusted the journal was cosnsitent, and returned it, again w/o merging from origin/git-annex. This latter behavior is the actual bug. Refer to commit e9bfa8eaed3ff59a4c0bc8d4d677bc493177807c for the thinking behind it being ok to make a change to a file on the branch, without first merging the branch. That thinking still stands. However, it means that files in the journal cannot be trusted to be consistent if the branch has not been merged. So, to fix, just enure the branch gets merged, even when reading from the journal. In tests, this does not seem to cause any extra merging. Except, of course, in the one case described above. But git annex add, etc, are able to make changes w/o first merging the branch.
* run the test suite twice, once in direct modeGravatar Joey Hess2013-05-20
| | | | | On a filesystem that only supports direct mode, it will test direct mode twice, but oh well.
* direct mode bug fix: After a conflicted merge was automatically resolved, ↵Gravatar Joey Hess2013-05-20
| | | | | | | | | | | | | | | | | the content of a file that was already present could incorrectly be replaced with a symlink. The bug was in movein, which just replaceFile'd the file with a symlink, even if it already had the desired content, before trying to pull the content out of the annex and replace the symlink with it. That was ok-ish for non conflicted merges, where if the file existed it would be an old version of the content. But for conflicted merges, the automatic merge resolver has already run, and will have already put the desired content into the file for the local variant. Also, made removeDirect not trust that the associated files map is correct. Only if it can verify that another file has the content will it not move it into .git/annex/objects.
* debian architecture build funGravatar Joey Hess2013-05-19
|