Paul, I was looking at subversion/libsvn_client/merge.c:find_unmerged_mergeinfo() to review a recent bug fix for back-port.
It is said to be a "Helper for calculate_left_hand_side()", but I noticed it seems to be basically a function for comparing one mergeinfo catalog with another, to see what has not been merged from one to the other. That sounds like the same kind of calculation that normal merges, and the "svn merginfo" command, perform. Is there not an existing function we can use for this purpose? (Of course this function takes its input in a specific format, and generates several specific output indications, but those are details that could be wrapped around a generic "compare mergeinfo catalogs" function.) - Julian