Remote IDs were wrong (the bound check was incorrect), and patches to pull weren't checked against the local channel
7HOBLRD43W2R5OVOYZVDO5LYPBZS7OSLDS7FH4NVNMBL3AZGMLSQC 6WFOU7UXCYM5UWA5WVZ72XFRJWJA5GWCIAC5PI5NOEFHNFD3VKNAC 27RZYCM3XP72CW7FYGE373YAFD6EEZOZ4YAHEKV6JE5L6Z5N3JNAC 7SQ7COLT73S6WT7H4ILJOQYRLYJVVYK4FWWCQ7TP6BVL5XMXMX3QC A3RM526Y7LUXNYW4TL56YKQ5GVOK2R5D7JJVTSQ6TT5MEXIR6YAAC L2VH4BYK3IULLGBHXMZJWKRKDQY43QEMQRTXFJCNRDE7PODLXWTAC SXEYMYF7P4RZMZ46WPL4IZUTSQ2ATBWYZX7QNVMS3SGOYXYOHAGQC YN63NUZO4LVJ7XPMURDULTXBVJKW5MVCTZ24R7Z52QMHO3HPDUVQC IVLLXQ5ZWZDKHO4TNQG3TPXN34H6Y2WXPAGSO4PWCYNSKUZWOEJQC 5HF7C67M4DZMYTCIG32XEQQ662AHQMIHTHUK7TAVSO52XLMFBZPAC M5FK3ABTKBDG6HHW32G7UKRJEJQKD2U7BPXNZ3HVHBKULWVV6CTQC EUZFFJSOWV4PXDFFPDAFBHFUUMOFEU6ST7JH57YYRRR2SEOXLN6QC I52XSRUH5RVHQBFWVMAQPTUSPAJ4KNVID2RMI3UGCVKFLYUO6WZAC BE7GUCI2N6TX3P2HRMFSH7XLJKILDPOKOXKA7HWOABBFNKCKMZLAC Q45QHPO4HDTEZF2W4UDZSYYQ46BPEIWSW4GJILZR5HTJNLKXJABQC let to_download: Result<Vec<libpijul::Hash>, anyhow::Error> = specific_changes.iter().map(|h| Ok(txn.hash_from_prefix(h)?.0)).collect();
let mut to_download = Vec::new();for h in specific_changes {let h = txn.hash_from_prefix(h)?.0;if txn.get_revchanges(current_channel, &h)?.is_none() {to_download.push(h)}}
let original_: HashSet<_> = original.iter().collect();let mut now_ = HashSet::with_capacity(original.len());let mut result = Vec::with_capacity(original.len());for &h in now {now_.insert(h);result.push(h);}let mut stack = now.to_vec();stack.reverse();while let Some(n) = stack.pop() {// check that all of `now`'s deps are in now or not in originalfor d in c.get_dependencies(&n)? {
let mut now_ = HashSet::new();let mut result = Vec::new();for &h in now.iter() {for d in c.get_dependencies(&h)? {