serialize_workspace.rs

 1use std::{fs::File, path::Path};
 2
 3const TEST_FILE: &'static str = "test-db.db";
 4
 5fn main() -> anyhow::Result<()> {
 6    env_logger::init();
 7    let db = db::Db::open_in_memory("db");
 8
 9    let file = Path::new(TEST_FILE);
10
11    let f = File::create(file)?;
12    drop(f);
13
14    db.write_kvp("test", "1")?;
15    db.write_kvp("test-2", "2")?;
16
17    db.workspace_for_roots(&["/tmp1"]);
18    db.workspace_for_roots(&["/tmp1", "/tmp2"]);
19    db.workspace_for_roots(&["/tmp1", "/tmp2", "/tmp3"]);
20    db.workspace_for_roots(&["/tmp2", "/tmp3"]);
21    db.workspace_for_roots(&["/tmp2", "/tmp3", "/tmp4"]);
22    db.workspace_for_roots(&["/tmp2", "/tmp4"]);
23    db.workspace_for_roots(&["/tmp2"]);
24
25    db.write_to(file).ok();
26
27    println!("Wrote database!");
28
29    Ok(())
30}