31 lines
1.4 KiB
Markdown
31 lines
1.4 KiB
Markdown
Spent most of the day making file content transfers robust. There were lots
|
|
of bugs, hopefully I've fixed most of them. It seems to work well now,
|
|
even when I throw a lot of files at it.
|
|
|
|
One of the changes also sped up transfers; it no longer roundtrips to the
|
|
remote to verify it has a file. The idea here is that when the assistant is
|
|
running, repos should typically be fairly tightly synced to their remotes
|
|
by it, so some of the extra checks that the `move` command does are
|
|
unnecessary.
|
|
|
|
Also spent some time trying to use ghc's threaded runtime, but continue to
|
|
be baffled by the random hangs when using it. This needs fixing eventually;
|
|
all the assistant's threads can potentially be blocked when it's waiting on
|
|
an external command it has run.
|
|
|
|
Also changed how transfer info files are locked. The lock file is now
|
|
separate from the info file, which allows the TransferWatcher thread to
|
|
notice when an info file is created, and thus actually track transfers
|
|
initiated by remotes.
|
|
|
|
---
|
|
|
|
I'm fairly close now to merging the `assistant` branch into `master`.
|
|
The data syncing code is very brute-force, but it will work well enough
|
|
for a first cut.
|
|
|
|
Next I can either add some repository network mapping, and use graph
|
|
analysis to reduce the number of data transfers, or I can move on to the
|
|
[[webapp]]. Not sure yet which I'll do. It's likely that since DebConf
|
|
begins tomorrow I'll put off either of those big things until after the
|
|
conference.
|