# # # patch "skel/monotonerc" # from [e06142b15f04777fd4ef76fc52ab6586f6a87807] # to [474b1596ed18d7cd8d3deece139ed84d245c8351] # # patch "www/admin-source_control_backend.php" # from [9379456da9dab9d28315a8be28a5f7a99e123ccf] # to [fba0353ba15fd485a423e7d0cb980081ebc0fcb9] # # patch "www/common.js" # from [16bbaeed375db0ace6fdb2e7ebaea9ac2acd748a] # to [76b1fd12e77aeee9ee10541d60b43d786b5831eb] # ============================================================ --- skel/monotonerc e06142b15f04777fd4ef76fc52ab6586f6a87807 +++ skel/monotonerc 474b1596ed18d7cd8d3deece139ed84d245c8351 @@ -46,6 +46,26 @@ end return true end -function note_netsync_end() - execute("DBROTATE", "queue", get_confdir()) + + +function note_netsync_start(session_id, my_role, sync_type, remote_host, + remote_keyname, includes, excludes) + if netsync_info == nil then netsync_info = {} end + netsync_info[session_id] = "new" end + +function note_netsync_revision_received(rid, rdat, certs, session_id) + netsync_info[session_id] = "received" +end + +function note_netsync_cert_received(rid, key, name, value, sid) + netsync_info[sid] = "received" +end + +function note_netsync_end(session_id, status, bytes_in, bytes_out, certs_in, + certs_out, revs_in, revs_out, keys_in, keys_out) + if netsync_info[session_id] == "received" then + execute("DBROTATE", "queue", get_confdir()) + end + netsync_info[session_id] = nil +end ============================================================ --- www/admin-source_control_backend.php 9379456da9dab9d28315a8be28a5f7a99e123ccf +++ www/admin-source_control_backend.php fba0353ba15fd485a423e7d0cb980081ebc0fcb9 @@ -69,12 +69,13 @@ if ($action == "getsrv") { exec("$monotone -d '$projdir/kdb' db init 2>&1", $out, $res1); exec("$monotone -d '$projdir/kdb' read '$projdir/keyfile'", $out, $res2); exec("$monotone --key-to-push '$keyname' -d '$projdir/kdb' push '$project.$hostname' '' -k '$hostkey' 2>&1", $out, $res3); - exec("rm '$projdir/kdb' '$projdir/keyfile'"); + exec("rm -f '$projdir/kdb' '$projdir/kdb-journal' '$projdir/keyfile'"); if($res1 || $res2 || $res3) { $outstr = ""; foreach ($out as $i) $outstr = $outstr . $i . "\n"; - print $json->encode(array("error" => "Key upload failed.", "verboseError" => $outstr)); + print $json->encode(array("error" => "Key upload failed...", + "verboseError" => $outstr)); } else print $json->encode(array("result" => "ok")); } ============================================================ --- www/common.js 16bbaeed375db0ace6fdb2e7ebaea9ac2acd748a +++ www/common.js 76b1fd12e77aeee9ee10541d60b43d786b5831eb @@ -24,7 +24,7 @@ call_server = function (url, args, nam, todo[nam] = d; d.addCallback(function (data) { if (data.error != undefined) { - if(data.verboseError != undefined) { + if(data.verboseError == undefined) { status("Error: " + data.error); } else { verberr = data.verboseError;