fn push(
client: &Client,
kind: Kind,
dir: &Path,
listed: &Listed,
state: &mut State,
refetch: &mut BTreeSet<String>,
report: &mut Report,
) -> Result<Option<SyncError>, SyncError>Expand description
Sends what changed here: edits with If-Match, new items with If-None-Match, deletions. The state follows each answer, so a push cut short keeps what it did. What the server refuses of one item, or what cannot be read of it, is returned, the others sent all the same; a lost connection stops it.