RM225IDQR36MNBMN7OT2R562M4FUD6L34RY7A3WDBBETZIIDKZ5AC
K4CVMIUKNWBZ676IKSR5MYKTCDPPCRGWVAGYU772CE2B3AGAP4KQC
7HOBLRD43W2R5OVOYZVDO5LYPBZS7OSLDS7FH4NVNMBL3AZGMLSQC
L2VH4BYK3IULLGBHXMZJWKRKDQY43QEMQRTXFJCNRDE7PODLXWTAC
SXEYMYF7P4RZMZ46WPL4IZUTSQ2ATBWYZX7QNVMS3SGOYXYOHAGQC
MU5GSJAW65PEG3BRYUKZ7O37BPHW3MOX3S5E2RFOXKGUOJEEDQ5AC
IVLLXQ5ZWZDKHO4TNQG3TPXN34H6Y2WXPAGSO4PWCYNSKUZWOEJQC
27RZYCM3XP72CW7FYGE373YAFD6EEZOZ4YAHEKV6JE5L6Z5N3JNAC
A3RM526Y7LUXNYW4TL56YKQ5GVOK2R5D7JJVTSQ6TT5MEXIR6YAAC
FBXYP7QM7SG6P2JDJVQPPCRKJE3GVYXNQ5GVV4GRDUNG6Q4ZRDJQC
YN63NUZO4LVJ7XPMURDULTXBVJKW5MVCTZ24R7Z52QMHO3HPDUVQC
CCLLB7OIFNFYJZTG3UCI7536TOCWSCSXR67VELSB466R24WLJSDAC
for thing in txn.iter_remote(&remote_ref.lock().remote, 0)? {
let (_, libpijul::pristine::Pair { a: hash, b: merkle }) = thing?;
if state_cond(txn, &merkle)? {
break;
} else if change_cond(txn, &hash.into()) {
to_download.push(Hash::from(hash));
let mut tags = HashSet::new();
{
let rem = remote_ref.lock();
for thing in txn.iter_remote(&rem.remote, 0)? {
let (n, libpijul::pristine::Pair { a: hash, b: merkle }) = thing?;
if state_cond(txn, &merkle)? {
break;
} else if change_cond(txn, &hash.into()) {
to_download.push(Hash::from(hash));
if txn.is_tagged(&rem.tags, (*n).into())? {
tags.insert(merkle.into());
}
}
static ref CHANGELIST_LINE: Regex =
Regex::new(r#"(?P<num>[0-9]+)\.(?P<hash>[A-Za-z0-9]+)\.(?P<merkle>[A-Za-z0-9]+)"#).unwrap();
static ref CHANGELIST_LINE: Regex = Regex::new(
r#"(?P<num>[0-9]+)\.(?P<hash>[A-Za-z0-9]+)\.(?P<merkle>[A-Za-z0-9]+)(?P<tag>\.)?"#
)
.unwrap();
writeln!(o, "{}.{}.{}", n, h.to_base32(), m.to_base32())?
if txn.is_tagged(&channel.read().tags, n)? {
writeln!(o, "{}.{}.{}.", n, h.to_base32(), m.to_base32())?
} else {
writeln!(o, "{}.{}.{}", n, h.to_base32(), m.to_base32())?
}