summaryrefslogtreecommitdiff
path: root/Assistant/Threads
Commit message (Collapse)AuthorAge
* sync, assistant: Sync with remotes that have annex-ignore setGravatar Joey Hess2013-04-22
| | | | | | | | This is so git remotes on servers without git-annex installed can be used to keep clients' git repos in sync. This is a behavior change, but since annex-sync can be set to disable syncing with a remote, I think it's acceptable.
* fix warningGravatar Joey Hess2013-04-20
|
* assistant: Work around misfeature in git 1.8.2 that makes `git commit ↵Gravatar Joey Hess2013-04-18
| | | | | | --alow-empty -m ""` run an editor. See http://git-annex.branchable.com/bugs/assistant_hangs_during_commit/
* refactor static route definition -- android webapp build fixGravatar Joey Hess2013-04-17
| | | | | | Incidentially should work around the last problem that prevented the webapp building on Android. (Except for a few places I need to clean up after hand-fixing the spliced TH code.)
* remove debugGravatar Joey Hess2013-04-11
|
* 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.
* 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..
* 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.
* 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.
* 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.
* refactor alert button creation codeGravatar Joey Hess2013-04-04
|
* check for unused keys on an unwanted remote, and move them off, before ↵Gravatar Joey Hess2013-04-03
| | | | deleting it
* clean up urlrenderer handling when the webapp is not builtGravatar Joey Hess2013-04-03
|
* detect when unwanted remote is empty and remove itGravatar Joey Hess2013-04-03
| | | | Needs fixes to build when the webapp is disabled.
* more efficient uuid to remote lookupGravatar Joey Hess2013-04-02
|
* convert "./file" from inotify to just "file"Gravatar Joey Hess2013-04-02
| | | | This just prettifies some display.
* 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.)
* optimise last commitGravatar Joey Hess2013-04-02
| | | | | Rather than re-adding a direct mode file unnecessarily when it's not changed, just re-stage the symlink.
* 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.
* webapp: Added UI to delete repositories. Closes: #689847Gravatar Joey Hess2013-03-31
|
* 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.
* avoid removing a transfer being made by another processGravatar Joey Hess2013-03-28
| | | | | When another process is running a transfer, if we try to run a dup it'll fail, and we should not remove the transfer from the transfer display.
* 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.)
* fix build with xmpp and w/o webappGravatar Joey Hess2013-03-24
|
* maintain pools of running transferkeys processes (untested)Gravatar Joey Hess2013-03-19
|
* move display of transfer scan in progress to transfers section of dashboardGravatar Joey Hess2013-03-19
| | | | | This way it's only visible when transfers are not running, which is about what a user would expect.
* new alert while scanningGravatar Joey Hess2013-03-18
| | | | | | | Like the old one, but does not mention which remotes are scanned. I think this is less confusing, as it does not imply the remotes were somehow accessed (which they are not; inaccessible remotes can be scanned.)
* deal with transferkey crashingGravatar Joey Hess2013-03-18
| | | | | | | | | | If transferkey crashes or even fails to run, the TransferWatcher will not see the transfer info file be created, so will not remove the transfer from the list of active transfers. This causes the list to grow continually, and all active transfers are displayed in the webapp. So, put in a guard. I assume that transferkey will not exit 0 while neglecting to clean up.
* ensureGravatar Joey Hess2013-03-18
|
* optimisation for transfers to drives that are not plugged inGravatar Joey Hess2013-03-18
| | | | | | Rather than forking a git-annex transferkey only to have it fail, just immediately record the failed transfer (so when the drive is plugged in, the scan will retry it).
* 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.
* xmpp: Re-enable XA flag, since disabling it did not turn out to help with ↵Gravatar Joey Hess2013-03-16
| | | | the problems Google Talk has with not always sending presence messages to clients.
* xmpp: send a presence query when there's an important message to sendGravatar Joey Hess2013-03-16
| | | | | | | This may work around google talk's horrible presence handling, in which clients often don't learn about other clients, at least when using the same account. This way, every time we start a git push over xmpp, we'll waste bandwidth asking clients to please try again to identify themselves.
* xmpp: --debug now enables a sanitized dump of the XMPP protocolGravatar Joey Hess2013-03-16
| | | | So I can debug these damn google talk presence issues.
* make liftAnnex and liftAssistant polymorphic, like liftIOGravatar Joey Hess2013-03-16
|
* webapp: Display an alert when there are XMPP remotes, and a cloud transfer ↵Gravatar Joey Hess2013-03-15
| | | | repository needs to be configured.
* webapp: Improved UI for pairing your own devices together using XMPP.Gravatar Joey Hess2013-03-15
|
* no longer need webapp state storage! excellentGravatar Joey Hess2013-03-15
|
* assistant: Be smarter about avoiding unncessary transfers.Gravatar Joey Hess2013-03-13
| | | | | | | | | Just before starting a transfer, do one last check that it's still preferred content. I was just doing this for uploads, as part of the smarter flood filling bug, but realized it's also possible for a download that was preferred content to change to not be before the download begins, so check that too.
* tweakGravatar Joey Hess2013-03-13
|
* gratuitous rename HomeR -> DashboardRGravatar Joey Hess2013-03-12
|
* split repolist out of configuration, into its own tab (temporarily)Gravatar Joey Hess2013-03-12
|
* better handling of batch renamesGravatar Joey Hess2013-03-11
| | | | | | | Rather than wait a full second, which may be longer than needed, or too short to get all the rename events, we start a mode where we wait 1/10th of a second, and if there are Changes received, wait again. Basically we're back in batch mode when this happens.
* detect directory rename and wait up to 1 second to get all the changesGravatar Joey Hess2013-03-11
|
* synthesize RmChange when a directory is deletedGravatar Joey Hess2013-03-11
| | | | | This gets directory renames closer to being fully detected. There's close to no extra overhead to doing it this way.
* finish fast direct mode rename handling. wow, it's fastGravatar Joey Hess2013-03-11
|
* fix changeFile to not be partialGravatar Joey Hess2013-03-11
| | | | That led to runtime crashes, without even a warning from -Wall. Yipes!