Commit graph

87 commits

Author SHA1 Message Date
Joey Hess
6d5a84a4fc read through all design docs and updated done items 2012-11-30 13:48:44 -04:00
Joey Hess
3a0cffcfed when a Download finishes, queue Uploads
This ensures file propigate takes place in situations such as: Usb drive A
is connected to B. A's master branch is already in sync with B, but it is
being used to sneakernet some files around, so B downloads those. There is no
master branch change, so C does not request these files. B needs to upload
the files it just downloaded on to C, etc.

My first try at this, I saw loops happen. B uploaded to C, which then
tried to upload back to B (because it had not received the updated
git-annex branch from B yet). B already had the file, but it still created
a transfer info file from the incoming transfer, and its watcher saw
that be removed, and tried to upload back to C.

These loops should have been fixed by my previous commit. (They never
affected ssh remotes, only local ones, it seemed.) While C might still try
to upload to B, or to some other remote that already has the file, the
extra work dies out there.
2012-09-18 14:10:33 -04:00
Joey Hess
e9238e9588 avoid starting a download for a local transfer when the remote already has the key
Turns out that recvkey already does this same check. This avoids a transfer
file being created for the download that never happened, which in turn
will avoid the assistant seeing that the download has finished, when no
transfer actually took place.
2012-09-18 13:59:03 -04:00
Joey Hess
3c22977e44 deferred downloads
Now when a download is queued and there's no known remote to get it from,
it's added to a deferred download list, which will be retried later.

The Merger thread tries to queue any deferred downloads when it receives
a push to the git-annex branch.

Note that the Merger thread now also forces an update of the git-annex
branch. The assistant was not updating this branch before, and it saw a
(mostly) correct view of state, but now that incoming pushes go to
synced/git-annex, it needs to be merged in.
2012-09-17 21:05:50 -04:00
Joey Hess
1e37c0c5fc note 2012-09-17 13:43:08 -04:00
Joey Hess
601ee470af sync: Pushes the git-annex branch to remote/synced/git-annex, rather than directly to remote/git-annex.
This fixes a problem I was seeing in the assistant where two remotes would
attempt to sync with one another at the same time, and both failed pushing
the diverged git-annex branch. Then when both tried to resolve the failed
push, they each modified their git-annex branch, which again each blocked
the other from pushing into it. The result was that the git-annex
branches were perpetually diverged (despite having the same content!) and
once the assistant fell into this trap, it couldn't get out and always
had to do the slow push/fail/pull/merge/push/fail cycle.
2012-09-16 17:54:12 -04:00
Joey Hess
dd9e1f9831 blog for the day 2012-09-15 22:40:21 -04:00
Joey Hess
b453ea8b48 found some bugs 2012-09-15 15:24:07 -04:00
Joey Hess
f417f7153f move todo item to right place; reply 2012-09-13 17:44:37 -04:00
Joey Hess
34aeecb78a fix bug where resuming a transfer also started one queued transfer 2012-08-31 11:47:35 -04:00
Joey Hess
ab6e1221ce bug 2012-08-29 18:25:28 -04:00
Joey Hess
5d5b6c8be2 fix repeated pause and resume of a transfer
I had an intuition that throwTo might be blocking because an exception was
caught and the exception handler was running. This seems to be the case,
and is avoided by using try. However, I can't really find anywhere in
throwTo's documentation that justifies this behavior.
2012-08-29 18:02:52 -04:00
Joey Hess
067e7f82c7 update 2012-08-29 17:48:36 -04:00
Joey Hess
aeffc5fa70 pause, then resume, then pause fails
Most puzzling.
2012-08-29 15:26:12 -04:00
Joey Hess
7ebe1d4875 update 2012-08-29 13:45:14 -04:00
Joey Hess
07de26ed7b simple transfer queue display cleanup
Don't display redundant queued downloads. The only problem with this is
that it reduces the total number of queued transfers the webapp displays.
2012-08-29 13:41:47 -04:00
Joey Hess
f533f2e79b update 2012-08-29 13:14:25 -04:00
Joey Hess
cc94ff2d1d remove todo about behavior that turns out to be desired
Drives that are not mounted still have Remotes, and it makes sense to scan
them along with all the other remotes on startup, so we end up with queued
transfers for them, that will be used when they get mounted.
2012-08-29 13:05:46 -04:00
Joey Hess
c39e190535 updates 2012-08-28 17:30:48 -04:00
Joey Hess
c1adde5294 finally merge the assistant into master
Progress bars still need to be done, otherwise it's fully working.
Although much work remains to hit all the use cases.
2012-08-27 14:49:09 -04:00
Joey Hess
b12db9ef92 Merge branch 'master' into assistant
Conflicts:
	debian/changelog

Updated changelog for assistant and webapp
2012-08-27 13:31:54 -04:00
Joey Hess
bb68f1c525 update 2012-08-26 15:44:32 -04:00
Joey Hess
c70f565529 update 2012-08-26 14:15:03 -04:00
Joey Hess
dda61b1b80 blog for the day 2012-08-24 17:40:38 -04:00
Joey Hess
47875e9b94 update 2012-08-24 13:13:41 -04:00
Joey Hess
d5d4b8db34 update 2012-08-23 16:24:22 -04:00
Joey Hess
e43feeb5b4 update 2012-08-22 15:45:20 -04:00
Joey Hess
6873ca0c1b blog for the day 2012-08-21 20:25:20 -04:00
Joey Hess
abe5a73d3f Merge branch 'master' into assistant 2012-07-25 23:18:39 -04:00
Joey Hess
bd2b388fd8 update 2012-07-25 15:07:41 -04:00
Joey Hess
03979d4d54 Merge branch 'master' into assistant
Conflicts:
	Makefile
2012-07-25 14:55:53 -04:00
Joey Hess
25581b01c8 works on Gnome 3 2012-07-23 19:55:26 -04:00
Joey Hess
892f1e6abe TransferScanner design thoughts 2012-07-22 23:49:52 -04:00
Joey Hess
e4592649d6 Merge branch 'master' into assistant
Conflicts:
	git-annex.cabal
2012-07-22 12:50:54 -04:00
Joey Hess
9c7475eb46 update 2012-07-20 18:17:44 -04:00
Joey Hess
133b4581d1 Merge branch 'master' into assistant 2012-07-20 15:08:15 -04:00
Joey Hess
e8ccf0bd11 update 2012-07-19 23:46:24 -04:00
Joey Hess
2fdca82a64 Merge branch 'master' into assistant 2012-07-19 00:58:53 -04:00
Joey Hess
61695f9f41 blog for the day 2012-07-18 19:42:29 -04:00
Joey Hess
f2ed3d6c8e Merge branch 'threaded' into assistant 2012-07-18 18:17:33 -04:00
Joey Hess
cfdd4d6602 blog for the day and updates 2012-07-17 18:51:46 -04:00
Joey Hess
30f7b1599c Merge branch 'master' into assistant 2012-07-17 12:27:12 -04:00
Joey Hess
dc2e0d0d9b updates 2012-07-17 11:55:36 -04:00
Joey Hess
fa3aef96e2 Merge branch 'master' into assistant 2012-07-16 15:06:08 -04:00
Joey Hess
bd037c4ca3 update 2012-07-13 12:07:54 -04:00
Joey Hess
92ce8c6164 update 2012-07-08 12:24:51 -06:00
Joey Hess
268b4b7d6e done 2012-07-07 22:12:37 -06:00
Joey Hess
f74f0b46c1 update 2012-07-07 21:42:52 -06:00
Joey Hess
ec8ba6bf58 Merge branch 'master' into assistant 2012-07-07 11:51:19 -06:00
Joey Hess
7e76e49b9f fixed 2012-07-07 11:48:59 -06:00