git-annex/Assistant
Joey Hess 4ac2fd0a22 ensure that git-annex branch is pushed after a successful transfer
I now have this topology working:

   assistant ---> {bare repo, special remote} <--- assistant

And, I think, also this one:

        +----------- bare repo --------+
        v                              v
  assistant ---> special remote <--- assistant

While before with assistant <---> assistant connections, both sides got
location info updated after a transfer, in this topology, the bare repo
*might* get its location info updated, but the other assistant has no way to
know that it did. And a special remote doesn't record location info,
so transfers to it won't propigate out location log changes at all.

So, for these to work, after a transfer succeeds, the git-annex branch
needs to be pushed. This is done by recording a synthetic commit has
occurred, which lets the pusher handle pushing out the change (which will
include actually committing any still journalled changes to the git-annex
branch).

Of course, this means rather a lot more syncing action than happened
before. At least the pusher bundles together very close together pushes,
somewhat. Currently it just waits 2 seconds between each push.
2012-10-28 16:05:34 -04:00
..
Install ifdef osx includes 2012-09-28 19:18:08 -04:00
Pairing webapp: Switched to using the same multicast IP address that avahi uses. 2012-10-22 15:50:30 -04:00
Threads ensure that git-annex branch is pushed after a successful transfer 2012-10-28 16:05:34 -04:00
WebApp ensure that git-annex branch is pushed after a successful transfer 2012-10-28 16:05:34 -04:00
Alert.hs add XMPP nudge alert, displayed after making a cloud repository 2012-10-27 12:25:29 -04:00
BranchChange.hs use a newtype for better type safety 2012-10-24 13:15:31 -04:00
Changes.hs always check with ls-files before adding new files 2012-10-02 17:41:23 -04:00
Commits.hs ensure that git-annex branch is pushed after a successful transfer 2012-10-28 16:05:34 -04:00
Common.hs display errors when any named thread crashes 2012-09-06 14:56:04 -04:00
DaemonStatus.hs better variable name 2012-10-14 14:50:03 -04:00
Drop.hs check and drop after uploads 2012-10-18 16:05:43 -04:00
Install.hs ifdef osx includes 2012-09-28 19:18:08 -04:00
MakeRemote.hs make repo description optional 2012-10-14 16:32:55 -04:00
Pairing.hs hlint 2012-09-13 00:57:52 -04:00
Pushes.hs reconnect XMPP when NetWatcher notices a change 2012-10-27 00:42:14 -04:00
ScanRemotes.hs scan multiple remotes in one pass 2012-08-26 14:09:02 -04:00
Ssh.hs Use USER and HOME environment when set, and only fall back to getpwent, which doesn't work with LDAP or NIS. 2012-10-25 18:17:54 -04:00
Sync.hs add git-annex branch commit when assistant is syncing 2012-10-28 15:33:21 -04:00
ThreadedMonad.hs fork off git-annex copy for transfers 2012-08-10 14:14:08 -04:00
TransferQueue.hs reorder 2012-10-14 15:09:37 -04:00
TransferSlots.hs TransferSlots: Use SafeSemaphore's MSemN instead of QSemN from base 2012-10-05 17:02:51 -04:00
WebApp.hs nub the autostart file 2012-10-14 15:19:34 -04:00
XMPP.hs reconnect XMPP when NetWatcher notices a change 2012-10-27 00:42:14 -04:00