#
#
# patch "ChangeLog"
# from [335f117fc53c5fec8a6c265bf0eb5ef0d06f948b]
# to [09d0751cf953275c657ba110b5f04adea65c5c6b]
#
# patch "netcmd.cc"
# from [9ac3f6b7a08c59615bfd86fcad7ca931fb1b8758]
# to [5a63ccd88ddb02cf5853e13ce3fff6ea20851a53]
#
============================================================
--- ChangeLog 335f117fc53c5fec8a6c265bf0eb5ef0d06f948b
+++ ChangeLog 09d0751cf953275c657ba110b5f04adea65c5c6b
@@ -1,3 +1,8 @@
+2006-01-21 Nathaniel Smith
+
+ * netcmd.cc (read): Expand the error message we issue on protocol
+ version mismatch to be a bit more informative.
+
2006-01-21 Timothy Brownawell
* tests/t_db_execute.at: Play with the files table instead of the
============================================================
--- netcmd.cc 9ac3f6b7a08c59615bfd86fcad7ca931fb1b8758
+++ netcmd.cc 5a63ccd88ddb02cf5853e13ce3fff6ea20851a53
@@ -89,9 +89,13 @@
u8 extracted_ver = extract_datum_lsb(inbuf, pos, "netcmd protocol number");
if (extracted_ver != version)
- throw bad_decode(F("protocol version mismatch: wanted '%d' got '%d'")
+ throw bad_decode(F("protocol version mismatch: wanted '%d' got '%d'\n"
+ "%s")
% widen(version)
- % widen(extracted_ver));
+ % widen(extracted_ver)
+ % ((version < extracted_ver)
+ ? _("the remote side has a newer, incompatible version of monotone")
+ : _("the remote side has an older, incompatible version of monotone")));
version = extracted_ver;
u8 cmd_byte = extract_datum_lsb(inbuf, pos, "netcmd code");
@@ -380,13 +384,13 @@
// syntax is:
type = read_netcmd_item_type(payload, pos, "done netcmd, item type");
n_items = extract_datum_uleb128(payload, pos,
- "done netcmd, item-to-send count");
+ "done netcmd, item-to-send count");
assert_end_of_buffer(payload, pos, "done netcmd payload");
}
void
netcmd::write_done_cmd(netcmd_item_type type,
- size_t n_items)
+ size_t n_items)
{
cmd_code = done_cmd;
payload.clear();
@@ -711,7 +715,7 @@
L(boost::format("checking i/o round trip on refine_cmd\n"));
netcmd out_cmd, in_cmd;
string buf;
- refinement_type out_ty (refinement_query), in_ty(refinement_response);
+ refinement_type out_ty (refinement_query), in_ty(refinement_response);
merkle_node out_node, in_node;
out_node.set_raw_slot(0, id(raw_sha1("The police pulled Kris Kringle over")));