summaryrefslogtreecommitdiff
path: root/debian
Commit message (Collapse)AuthorAge
* random ssh keys (╯°□°)╯︵ ┻━┻ gnome-keyringGravatar Joey Hess2013-04-14
| | | | | | | | | | | | | | 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. Note that neither I nor #debian-devel were able to quite reproduce this problem, but I believe it exists, and that this fixes it. And it certianly won't hurt anything..
* updateGravatar Joey Hess2013-04-13
|
* connect existing meters to the transfer log for downloadsGravatar Joey Hess2013-04-11
| | | | | | | | | | | | | | Most remotes have meters in their implementations of retrieveKeyFile already. Simply hooking these up to the transfer log makes that information available. Easy peasy. This is particularly valuable information for encrypted remotes, which otherwise bypass the assistant's polling of temp files, and so don't have good progress bars yet. Still some work to do here (see progressbars.mdwn changes), but this is entirely an improvement from the lack of progress bars for encrypted downloads.
* addurl: Register transfer so the webapp can see it.Gravatar Joey Hess2013-04-11
| | | | | | * addurl: Register transfer so the webapp can see it. * addurl: Automatically retry downloads that fail, as long as some additional content was downloaded.
* addurl: Bugfix: Did not properly add file in direct mode.Gravatar Joey Hess2013-04-11
|
* assistant: Bug fix to avoid annexing the files that git uses to stand in for ↵Gravatar Joey Hess2013-04-10
| | | | | | symlinks on FAT and other filesystem not supporting symlinks. also, blog for the day..
* assistant: Added sequence numbers to XMPP git push packets. (Not yet used.)Gravatar Joey Hess2013-04-10
| | | | | | | For backwards compatability, "" is treated as "0" sequence number. --debug will show xmpp sequence numbers now, but they are not otherwise used.
* assistant: Stop any transfers the assistant initiated on shutdown.Gravatar Joey Hess2013-04-10
|
* changelogGravatar Joey Hess2013-04-10
|
* The version number is now derived from git, unless built with ↵Gravatar Joey Hess2013-04-10
| | | | VERSION_FROM_CHANGELOG.
* Added annex.web-download-command setting.Gravatar Joey Hess2013-04-08
|
* webapp: When a repository's group is changed, rescan for transfers.Gravatar Joey Hess2013-04-08
|
* webapp: New --listen= option allows running the webapp on one computer and ↵Gravatar Joey Hess2013-04-08
| | | | | | | connecting to it from another. Does not yet use HTTPS. I'd need to generate a certificate, and I'm not sure what's the best way to do that.
* Avoid using runghc when building the Debian package, as that needs ghci.Gravatar Joey Hess2013-04-07
|
* better archive directory handlingGravatar Joey Hess2013-04-06
| | | | | Adjust preferred content expressions so that content in archive directories is preferred until it has reached an archive or smallarchive repository.
* changelog & minor style fixesGravatar Joey Hess2013-04-06
|
* Bugfix: Direct mode no longer repeatedly checksums duplicated files.Gravatar Joey Hess2013-04-06
| | | | | | | | | | | | | | | | | Fixed by storing a list of cached inodes for a key, instead of just one. Backwards compatability note: An old git-annex version will fail to parse an inode cache file that has been written by a new version, and has multiple items. It will succees if just one. So old git-annexes will have even worse behavior when there are duplicated files, if that is possible. I don't think it will be a problem. (Famous last words.) Also, note that it doesn't expire old and unused inode caches for a key. It would be possible to add this if needed; just look through the associated files for a key and if there are more cached inodes, throw out any not corresponding to associated files. Unless a file is being copied repeatedly and the old copy deleted, this lack of expiry should not be a problem.
* prep release4.20130405Gravatar Joey Hess2013-04-05
|
* Use lower case hash directories for storing files on crippled filesystems, ↵Gravatar Joey Hess2013-04-04
| | | | | | | | | | | | | | | same as is already done for bare repositories. * since this is a crippled filesystem anyway, git-annex doesn't use symlinks on it * so there's no reason to use the mixed case hash directories that we're stuck using to avoid breaking everyone's symlinks to the content * so we can do what is already done for all bare repos, and make non-bare repos on crippled filesystems use the all-lower case hash directories * which are, happily, all 3 letters long, so they cannot conflict with mixed case hash directories * so I was able to 100% fix this and even resuming `git annex add` in the test case will recover and it will all just work.
* init: Probe whether the filesystem supports fifos, and if not, disable ssh ↵Gravatar Joey Hess2013-04-04
| | | | connection caching.
* avoid queueing uploads to remotes that already have the contentGravatar Joey Hess2013-04-02
|
* Update working tree files fully atomicallyGravatar Joey Hess2013-04-02
| | | | | | | | | | | This avoids commit churn by the assistant when eg, replacing a file with a symlink. But, just as importantly, it prevents the working tree being left with a deleted file if git-annex, or perhaps the whole system, crashes at the wrong time. (It also probably avoids confusing displays in file managers.)
* assistant: Fix bug that could cause direct mode files to be unstaged from git.Gravatar Joey Hess2013-04-02
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | My test case for this bug is to have the assistant running and syncing to a remote, and create a file in the annex. Then at the command line run git annex drop. The assistant sees that the file is gone, sees it's a wanted file, and downloads it from the remote. With a directory special remote and a small file, I was seeing around 1 time in 3, a race where the file got unstaged from git after it got downloaded. Looking at what direct mode content managing code does in this case, it deletes the symlink, and then adds the file content back. It would be possible, sometimes, to avoid removing the symlink and do this atomically. And I probably should.. but in some cases, particularly where the file needs to be run through `cp` (multiple direct mode files with same content), there's no way to atomically replace the symlink with the content. Anyway, the bug turns out to be something that the watcher does right for indirect mode, but not for direct mode. When it got an add event, it checked to see if this was a new file, or one we've already added. In the latter case, no add event was queued. But that means that only the rm event is queued, and so it unstages the file. Fixed by queueing an add event even when the file is already in git. Tested by running hundreds of drops in a loop; file remained staged.
* drop --auto: Fix bug that prevented dropping files from untrusted repositories.Gravatar Joey Hess2013-04-01
| | | | This is a corresponding bug to the one I fixed yesterday in the assistant.
* move content from remote when user asks to delete itGravatar Joey Hess2013-03-31
|
* Adjust built-in preferred content expressions to make most types of ↵Gravatar Joey Hess2013-03-31
| | | | repositories want content that is only located on untrusted or dead repositories.
* webapp: Added UI to delete repositories. Closes: #689847Gravatar Joey Hess2013-03-31
|
* changelogGravatar Joey Hess2013-03-30
|
* changelogGravatar Joey Hess2013-03-29
|
* assistant: Check small files into git directly.Gravatar Joey Hess2013-03-29
|
* New annex.largefiles setting, which configures which files `git annex add` ↵Gravatar Joey Hess2013-03-29
| | | | | | | | | | | | | and the assistant add to the annex. I would have sort of liked to put this in .gitattributes, but it seems it does not support multi-word attribute values. Also, making this a single config setting makes it easy to only parse the expression once. A natural next step would be to make the assistant `git add` files that are not annex.largefiles. OTOH, I don't think `git annex add` should `git add` such files, because git-annex command line tools are not in the business of wrapping git command line tools.
* webapp: Run ssh server probes in a way that will work when the login shell ↵Gravatar Joey Hess2013-03-29
| | | | is a monstrosity that should have died 25 years ago, such as csh.
* Build debian package without using cabal, which writes to HOME. Closes: #704205Gravatar Joey Hess2013-03-29
|
* webapp: Progess bar fixes for many types of special remotes.Gravatar Joey Hess2013-03-28
| | | | | | | | | | | | | There was confusion in different parts of the progress bar code about whether an update contained the total number of bytes transferred, or the number of bytes transferred since the last update. One way this bug showed up was progress bars that seemed to stick at zero for a long time. In order to fix it comprehensively, I add a new BytesProcessed data type, that is explicitly a total quantity of bytes, not a delta. Note that this doesn't necessarily fix every problem with progress bars. Particularly, buffering can now cause progress bars to seem to run ahead of transfers, reaching 100% when data is still being uploaded.
* webapp: Fix a race that sometimes caused alerts or other notifications to be ↵Gravatar Joey Hess2013-03-27
| | | | | | | | | | | | | | | | | | | missed if they occurred while a page was loading. When a page is loaded, the javascript requests an notification url, and does long polling on the url to be informed of changes. But if a change occured before the notification url was requested, it would not be notified of that change, and so the page display would not update. I fixed this by *always* updating the page display after it gets the notification url. This is extra work, but the overhead is not noticable in the other overhead of loading a page. (A nicer way would be to somehow record the version of a page initially loaded, and then compare it with the current version when getting the notification url, and only force an update if it's changed. But getting the "version" of the different parts of the page that use long polling is difficult.)
* Per-command usage messages.Gravatar Joey Hess2013-03-27
|
* Group subcommands into sections in usage. Closes: #703797Gravatar Joey Hess2013-03-25
|
* prep for release tomorrowGravatar Joey Hess2013-03-22
|
* adding removable drive improvementsGravatar Joey Hess2013-03-20
|
* reorganize osx app, so it can be put in PATHGravatar Joey Hess2013-03-20
| | | | | | Move all the binaries and libraries under a bundle/ subdirectory; so when it's in PATH only git-annex, runshell, and git-annex-webapp will be available.
* updateGravatar Joey Hess2013-03-20
|
* get, copy, move: Display an error message when an identical transfer is ↵Gravatar Joey Hess2013-03-19
| | | | already in progress, rather than failing with no indication why.
* assistant: The ConfigMonitor left one zombie behind each time it checked for ↵Gravatar Joey Hess2013-03-18
| | | | changes, now fixed.
* webapp: Force wrap long filenames in transfer display.Gravatar Joey Hess2013-03-18
|
* webapp: Improved alerts displayed when syncing with remotes, and when ↵Gravatar Joey Hess2013-03-18
| | | | syncing with a remote fails.
* assistant: Fix OSX bug that prevented committing changed files to a ↵Gravatar Joey Hess2013-03-17
| | | | repository when in indirect mode.
* assistant: Avoid syncing with annex-ignored remotes when reconnecting to the ↵Gravatar Joey Hess2013-03-17
| | | | network, or connecting a drive.
* webapp: Switch all forms to POST.Gravatar Joey Hess2013-03-16
|
* Fix several bugs caused by a bad Ord instance for Remote.Gravatar Joey Hess2013-03-16
| | | | | | | | | | | | | | | | | | | | | | | | | A long time ago I made Remote be an instance of the Ord typeclass, with an implementation that compared the costs of Remotes. That seemed like a good idea at the time, as it saved typing.. But at the time I was still making custom Read and Show instances too. I've since learned that this is *not* a good idea, and neither is making custom Ord instances, without deep thought about the possible sets of values in a type. Haskell typeclasses are not a toy. This Ord instance came around and bit me when I put Remotes into a Set, because now remotes with the same cost appeared to be in the Set even if they were not. Also affected putting Remotes into a Map. Rarely does a bug go this deep. I've fixed it comprehensively, first removing the Ord instance entirely, and fixing the places that wanted to order remotes by cost to do it explicitly. Then adding back an Ord instance that is much more sane. Also by checking the rest of the Ord instances in the code base (which were all ok). While doing that, I found lots of places that kept remotes in Maps and Sets. All of it was probably subtly broken in one way or another before this fix, but it would be hard to say exactly how the bugs would manifest.
* map: Combine duplicate repositories, for a nicer looking map.Gravatar Joey Hess2013-03-16
|