Export metadata

andybalholm
Mar 18, 2023, 8:03 PM
UFSP7C7B2ERFJ2XVVVNXGZRXUEMFSMRABC5YXXLK6ONMFG6QBNHAC

Dependencies

  • [2] IKID4WPY Include "state" for each change.
  • [3] ATRA7XTT RIIR: factor out Repository struct
  • [4] YNZMKRJD include more information in log
  • [5] W7HZ5VFM RIIR: list changes
  • [*] TQBJZLD7 RIIR: hello, world

Change contents

  • edit in rust/src/main.rs at line 4
    [3.58][2.160:183]()
    use libpijul::Base32;
  • edit in rust/src/main.rs at line 8
    [3.147]
    [7.68]
    mod fast_export;
    use fast_export::FastExportStream;
  • edit in rust/src/main.rs at line 16
    [3.1602]
    [3.291]
    opts.optopt("b", "branch", "branch name in git", "NAME");
  • edit in rust/src/main.rs at line 22
    [3.1633]
    [3.1674]
    let mut stream = FastExportStream {
    branch_name: matches.opt_str("b").unwrap_or(channel.to_string()),
    };
  • replacement in rust/src/main.rs at line 28
    [3.1701][2.184:273](),[2.273][3.1722:1853](),[3.1733][3.1722:1853]()
    println!("{}", c.hash.to_base32());
    println!("{}", c.state.to_base32());
    println!("{}", c.timestamp);
    println!("{:?}", c.authors);
    println!("{}", c.message);
    println!("");
    [3.1701]
    [3.939]
    stream.write_commit(&c);
  • file addition: fast_export.rs (----------)
    [7.33]
    use crate::repo::Change;
    pub struct FastExportStream {
    pub branch_name: String,
    }
    impl FastExportStream {
    pub fn write_commit(&mut self, c: &Change) {
    println!("commit refs/heads/{}", self.branch_name);
    // TODO: mark
    let committer = if c.authors.len() > 0 {
    &c.authors[0]
    } else {
    "<>"
    };
    println!("committer {} {} +0000", committer, c.timestamp.timestamp());
    let message = match &c.description {
    Some(description) => format!("{}\n\n{}", c.message, description),
    None => c.message.to_string(),
    };
    println!("data {}", message.len());
    println!("{}", message);
    // TODO: from
    // TODO: deleteall
    // TODO: files
    println!("");
    }
    }