# # # 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")));