27 lines
1.2 KiB
Markdown
27 lines
1.2 KiB
Markdown
Made the MountWatcher update state for remotes located in a drive that
|
|
gets mounted. This was tricky code. First I had to make remotes declare
|
|
when they're located in a local directory. Then it has to rescan git
|
|
configs of git remotes (because the git repo mounted at a mount point may
|
|
change), and update all the state that a newly available remote can affect.
|
|
|
|
And it works: I plug in a drive containing one of my git remotes, and the
|
|
assistant automatically notices it and syncs the git repositories.
|
|
|
|
---
|
|
|
|
But, data isn't transferred yet. When a disconnected remote becomes
|
|
connected, keys should be transferred in both directions to get back into
|
|
sync.
|
|
|
|
To that end, added Yet Another Thread; the TransferScanner thread
|
|
will scan newly available remotes to find keys, and queue low priority
|
|
transfers to get them fully in sync.
|
|
|
|
(Later, this will probably also be used for network remotes that become
|
|
available when moving between networks. I think network-manager sends
|
|
dbus events it could use..)
|
|
|
|
This new thread is missing a crucial peice, it doesn't yet have a way to
|
|
find the keys that need to be transferred. Doing that efficiently (without
|
|
scanning the whole git working copy) is Hard. I'm considering design
|
|
possibilities..
|