Factor out load_channel function

andybalholm
Mar 17, 2023, 10:52 PM
RVRUZGHUCMZO2UAXMT5NVJM62XK3B3TZWXZFWZKKGIX6RI7LPLCQC

Dependencies

  • [2] ATRA7XTT RIIR: factor out Repository struct

Change contents

  • edit in rust/src/repo.rs at line 6
    [2.137]
    [2.137]
    use libpijul::pristine::sanakirja::Txn;
    use libpijul::pristine::ChannelRef;
  • replacement in rust/src/repo.rs at line 38
    [2.819][2.819:884]()
    return Ok(Repository {
    pristine,
    });
    [2.819]
    [2.884]
    return Ok(Repository { pristine });
    }
    fn load_channel(
    &mut self,
    txn: &Txn,
    channel_name: &str,
    ) -> Result<ChannelRef<Txn>, Box<dyn Error>> {
    match txn.load_channel(channel_name) {
    Ok(opt) => match opt {
    Some(c) => Ok(c),
    None => Err(Box::new(NoSuchChannelError {
    channel_name: channel_name.to_string(),
    })),
    },
    Err(err) => Err(err.into()),
    }
  • replacement in rust/src/repo.rs at line 59
    [2.1024][2.1024:1171]()
    let channel = txn.load_channel(&channel_name)?.ok_or(NoSuchChannelError {
    channel_name: channel_name.to_string(),
    })?;
    [2.1024]
    [2.1171]
    let channel = self.load_channel(&txn, channel_name)?;