replacement in libpijul/src/tests/unrecord.rs at line 24
[4.3868]→[4.3868:3930](∅→∅) − repo.write_file("dir/file")?.write_all(b"a\nx\nb\nd\n")?;
+ repo.write_file("dir/file", Inode::ROOT)?
+ .write_all(b"a\nx\nb\nd\n")?;
replacement in libpijul/src/tests/unrecord.rs at line 62
[4.250818]→[4.4746:4808](∅→∅) − repo.write_file("dir/file")?.write_all(b"a\nx\ny\nd\n")?;
+ repo.write_file("dir/file", Inode::ROOT)?
+ .write_all(b"a\nx\ny\nd\n")?;
replacement in libpijul/src/tests/unrecord.rs at line 183
[4.254929]→[4.7588:7644](∅→∅) − repo.write_file("file")?.write_all(b"a\nd\n")?;
+ repo.write_file("file", Inode::ROOT)?.write_all(b"a\nd\n")?;
replacement in libpijul/src/tests/unrecord.rs at line 188
[4.255132]→[4.7782:7844](∅→∅) − repo2.write_file("file")?.write_all(b"a\nb\nx\nc\nd\n")?;
+ repo2
+ .write_file("file", Inode::ROOT)?
+ .write_all(b"a\nb\nx\nc\nd\n")?;
replacement in libpijul/src/tests/unrecord.rs at line 193
[4.255312]→[4.7932:7997](∅→∅) − repo2.write_file("file")?.write_all(b"a\nb\nx\nc\ny\nd\n")?;
+ repo2
+ .write_file("file", Inode::ROOT)?
+ .write_all(b"a\nb\nx\nc\ny\nd\n")?;
replacement in libpijul/src/tests/unrecord.rs at line 242
[4.257055]→[4.9449:9500](∅→∅) − repo.write_file("file")?.write_all(file)?;
+ repo.write_file("file", Inode::ROOT)?.write_all(file)?;
replacement in libpijul/src/tests/unrecord.rs at line 250
[4.257356]→[4.9711:9773](∅→∅) − repo2.write_file("file")?.write_all(b"a\nb\nx\nc\nd\n")?;
+ repo2
+ .write_file("file", Inode::ROOT)?
+ .write_all(b"a\nb\nx\nc\nd\n")?;
replacement in libpijul/src/tests/unrecord.rs at line 280
[4.258535]→[4.5162:5243](∅→∅) − let (alive_, reachable_) = check_alive(&*txn.read(), &channel.read().graph);
+ let (alive_, reachable_) = check_alive(&*txn.read(), &channel.read());
replacement in libpijul/src/tests/unrecord.rs at line 350
[4.261132]→[4.6131:6212](∅→∅) − let (alive_, reachable_) = check_alive(&*txn.read(), &channel.read().graph);
+ let (alive_, reachable_) = check_alive(&*txn.read(), &channel.read());
replacement in libpijul/src/tests/unrecord.rs at line 380
[4.261933]→[4.12512:12574](∅→∅) − repo.write_file("dir/file")?.write_all(b"a\nx\nb\nd\n")?;
+ repo.write_file("dir/file", Inode::ROOT)?
+ .write_all(b"a\nx\nb\nd\n")?;
replacement in libpijul/src/tests/unrecord.rs at line 494
[4.266093]→[4.15305:15360](∅→∅) − repo.write_file("file")?.write_all(b"a\nx\nb\n")?;
+ repo.write_file("file", Inode::ROOT)?
+ .write_all(b"a\nx\nb\n")?;
replacement in libpijul/src/tests/unrecord.rs at line 497
[4.8473]→[4.15435:15490](∅→∅),
[4.15435]→[4.15435:15490](∅→∅) − repo.write_file("file")?.write_all(b"a\ny\nb\n")?;
+ repo.write_file("file", Inode::ROOT)?
+ .write_all(b"a\ny\nb\n")?;
replacement in libpijul/src/tests/unrecord.rs at line 519
[4.15988]→[4.15988:16034](∅→∅) − let mut w = repo.write_file("file")?;
+ let mut w = repo.write_file("file", Inode::ROOT)?;
replacement in libpijul/src/tests/unrecord.rs at line 594
[4.269093]→[4.16773:16829](∅→∅) − repo.write_file("file")?.write_all(b"a\nd\n")?;
+ repo.write_file("file", Inode::ROOT)?.write_all(b"a\nd\n")?;
replacement in libpijul/src/tests/unrecord.rs at line 667
[4.18031]→[4.18031:18077](∅→∅) − let mut w = repo.write_file("file")?;
+ let mut w = repo.write_file("file", Inode::ROOT)?;
replacement in libpijul/src/tests/unrecord.rs at line 719
[4.19418]→[4.19418:19464](∅→∅) − let mut w = repo.write_file("file")?;
+ let mut w = repo.write_file("file", Inode::ROOT)?;
replacement in libpijul/src/tests/unrecord.rs at line 727
[4.19626]→[4.19626:19672](∅→∅) − let mut w = repo.write_file("file")?;
+ let mut w = repo.write_file("file", Inode::ROOT)?;
edit in libpijul/src/tests/text_changes.rs at line 29
[4.3725]→[4.3725:3775](∅→∅) − let change0 = store.get_change(&h0).unwrap();
replacement in libpijul/src/tests/text_changes.rs at line 30
[4.115]→[4.3775:3874](∅→∅),
[4.3775]→[4.3775:3874](∅→∅) − text_test(&store, &change0, h0);
−
− write!(repo.write_file("file")?, "a\nx\nc\ne\ny\nf\n")?;
+ write!(repo.write_file("file", Inode::ROOT)?, "a\nx\nc\ne\ny\nf\n")?;
replacement in libpijul/src/tests/text_changes.rs at line 33
[4.3936]→[4.3936:4023](∅→∅) − let change1 = store.get_change(&h1).unwrap();
− text_test(&store, &change1, h1);
+ let _change1 = store.get_change(&h1).unwrap();
replacement in libpijul/src/tests/text_changes.rs at line 37
[4.4124]→[4.4124:4211](∅→∅) − let change2 = store.get_change(&h2).unwrap();
− text_test(&store, &change2, h2);
+ let _change2 = store.get_change(&h2).unwrap();
replacement in libpijul/src/tests/text_changes.rs at line 42
[4.4356]→[4.4356:4443](∅→∅) − let change3 = store.get_change(&h3).unwrap();
− text_test(&store, &change3, h3);
+ let _change3 = store.get_change(&h3).unwrap();
replacement in libpijul/src/tests/text_changes.rs at line 60
[4.5423]→[4.5423:5510](∅→∅) − let solution = store.get_change(&h).unwrap();
− text_test(&store, &solution, h);
+ let _solution = store.get_change(&h).unwrap();
edit in libpijul/src/tests/text_changes.rs at line 63
[4.5522]→[4.5522:5618](∅→∅),
[4.5618]→[4.116:148](∅→∅),
[4.148]→[4.5618:5657](∅→∅),
[4.5618]→[4.5618:5657](∅→∅),
[4.5657]→[4.149:211](∅→∅),
[4.211]→[4.5657:5712](∅→∅),
[4.5657]→[4.5657:5712](∅→∅),
[4.5712]→[4.212:265](∅→∅),
[4.265]→[4.5761:5849](∅→∅),
[4.5761]→[4.5761:5849](∅→∅),
[4.5849]→[3.91:203](∅→∅),
[3.203]→[4.5849:7407](∅→∅),
[4.370]→[4.5849:7407](∅→∅),
[4.5849]→[4.5849:7407](∅→∅),
[4.7407]→[4.371:405](∅→∅) − }
−
− fn text_test<C: ChangeStore>(c: &C, change0: &Change, h: Hash) {
− let mut v = Vec::new();
− let mut v_old = Vec::new();
− // let channel = channel.borrow();
− change0.write_old(c, Some(h), true, &mut v_old).unwrap();
− change0.write(c, Some(h), true, &mut v).unwrap();
−
− println!("{}", String::from_utf8_lossy(&v_old));
−
− for i in std::str::from_utf8(&v).unwrap().lines() {
− debug!("{}", i);
− }
− let change0 =
− Change::read_old(std::io::Cursor::new(&v_old[..]), &mut HashMap::default()).unwrap();
− let change1 = Change::read(std::io::Cursor::new(&v[..]), &mut HashMap::default()).unwrap();
− if change0.header != change1.header {
− error!("header: {:#?} != {:#?}", change0.header, change1.header);
− }
− if change0.dependencies != change1.dependencies {
− error!(
− "deps: {:#?} != {:#?}",
− change0.dependencies, change1.dependencies
− );
− }
− if change0.extra_known != change1.extra_known {
− error!(
− "extra: {:#?} != {:#?}",
− change0.extra_known, change1.extra_known
− );
− }
− if change0.metadata != change1.metadata {
− error!("meta: {:#?} != {:#?}", change0.metadata, change1.metadata);
− }
− if change0.changes != change1.changes {
− if change0.changes.len() != change1.changes.len() {
− trace!("change0.changes = {:#?}", change0.changes);
− trace!("change1.changes = {:#?}", change1.changes);
− } else {
− for (a, b) in change0.changes.iter().zip(change1.changes.iter()) {
− trace!("change0: {:#?}", a);
− trace!("change1: {:#?}", b);
− for (a, b) in a.iter().zip(b.iter()) {
− if a != b {
− error!("change0 -> {:#?}", a);
− error!("change1 -> {:#?}", b);
− }
− }
− }
− }
− }
− if change0.contents != change1.contents {
− error!("change0.contents = {:?}", change0.contents);
− error!("change1.contents = {:?}", change1.contents);
− }
− assert_eq!(change0, change1);
replacement in libpijul/src/tests/text.rs at line 66
− repo.write_file("file").unwrap().write_all(&buf).unwrap();
+ repo.write_file("file", Inode::ROOT)
+ .unwrap()
+ .write_all(&buf)
+ .unwrap();
replacement in libpijul/src/tests/rollback.rs at line 25
[4.906]→[4.13024:13052](∅→∅) − repo.write_file("file")
+ repo.write_file("file", Inode::ROOT)
replacement in libpijul/src/tests/rollback.rs at line 31
[4.1101]→[4.13195:13223](∅→∅) − repo.write_file("file")
+ repo.write_file("file", Inode::ROOT)
replacement in libpijul/src/tests/rollback.rs at line 49
[4.13630]→[4.13630:13684](∅→∅) − let mut w = repo.write_file("file").unwrap();
+ let mut w = repo.write_file("file", Inode::ROOT).unwrap();
replacement in libpijul/src/tests/rollback.rs at line 96
[4.3226]→[4.14033:14061](∅→∅) − repo.write_file("file")
+ repo.write_file("file", Inode::ROOT)
replacement in libpijul/src/tests/rollback.rs at line 102
[4.3421]→[4.14196:14259](∅→∅) − repo.write_file("file").unwrap().write_all(b"a\ny\nb\n")?;
+ repo.write_file("file", Inode::ROOT)
+ .unwrap()
+ .write_all(b"a\ny\nb\n")?;
replacement in libpijul/src/tests/rollback.rs at line 118
[4.14555]→[4.14555:14609](∅→∅) − let mut w = repo.write_file("file").unwrap();
+ let mut w = repo.write_file("file", Inode::ROOT).unwrap();
replacement in libpijul/src/tests/performance.rs at line 25
[4.278957]→[4.15940:15994](∅→∅) − let mut w = repo.write_file("file").unwrap();
+ let mut w = repo.write_file("file", Inode::ROOT).unwrap();
replacement in libpijul/src/tests/performance.rs at line 36
[4.16250]→[4.16250:16304](∅→∅) − let mut w = repo.write_file("file").unwrap();
+ let mut w = repo.write_file("file", Inode::ROOT).unwrap();
replacement in libpijul/src/tests/performance.rs at line 47
[4.279819]→[2.269:312](∅→∅) − let graph = &channel.read().graph;
+ let graph = channel.read();
replacement in libpijul/src/tests/performance.rs at line 49
[4.6028]→[2.313:461](∅→∅) − let mut cursor = txn.read().graph_cursor(graph, None).unwrap();
− while let Some(Ok(_)) = txn.read().next_graph(graph, &mut cursor) {
+ let mut cursor = txn.read().graph_cursor(&*graph, None).unwrap();
+ while let Some(Ok(_)) = txn.read().next_graph(&*graph, &mut cursor) {
replacement in libpijul/src/tests/performance.rs at line 83
[4.280798]→[4.16803:16857](∅→∅) − let mut w = repo.write_file("file").unwrap();
+ let mut w = repo.write_file("file", Inode::ROOT).unwrap();
replacement in libpijul/src/tests/performance.rs at line 95
[4.17205]→[4.17205:17259](∅→∅) − let mut w = repo.write_file("file").unwrap();
+ let mut w = repo.write_file("file", Inode::ROOT).unwrap();
replacement in libpijul/src/tests/performance.rs at line 109
[4.17292]→[4.17292:17409](∅→∅) − &[
− txn.read().graph(&channel.read()),
− txn.read().graph(&channel2.read()),
− ],
+ &[&channel.read().graph, &channel2.read().graph],
replacement in libpijul/src/tests/performance.rs at line 115
[4.17416]→[4.17416:17470](∅→∅) − let mut w = repo.write_file("file").unwrap();
+ let mut w = repo.write_file("file", Inode::ROOT).unwrap();
replacement in libpijul/src/tests/performance.rs at line 136
[4.282400]→[2.462:505](∅→∅) − let graph = &channel.read().graph;
+ let graph = &channel.read();
replacement in libpijul/src/tests/performance.rs at line 149
[4.282696]→[2.655:699](∅→∅) − let graph = &channel2.read().graph;
+ let graph = &channel2.read();
replacement in libpijul/src/tests/partial.rs at line 70
[4.19277]→[4.19277:19413](∅→∅) − repo.write_file("a/b/c/d").unwrap().write_all(b"edits\n")?;
− repo.write_file("e/f/g/h").unwrap().write_all(b"edits\n")?;
+ repo.write_file("a/b/c/d", Inode::ROOT)
+ .unwrap()
+ .write_all(b"edits\n")?;
+ repo.write_file("e/f/g/h", Inode::ROOT)
+ .unwrap()
+ .write_all(b"edits\n")?;
replacement in libpijul/src/tests/missing_context.rs at line 52
[4.293258]→[4.21584:21650](∅→∅) − repo_bob.write_file("file").unwrap().write_all(bob).unwrap();
+ repo_bob
+ .write_file("file", Inode::ROOT)
+ .unwrap()
+ .write_all(bob)
+ .unwrap();
replacement in libpijul/src/tests/missing_context.rs at line 60
[4.13476]→[4.21737:21765](∅→∅) + .write_file("file", Inode::ROOT)
replacement in libpijul/src/tests/missing_context.rs at line 69
[4.21916]→[4.21916:21948](∅→∅) + .write_file("file", Inode::ROOT)
replacement in libpijul/src/tests/missing_context.rs at line 130
[4.22999]→[4.22999:23059](∅→∅) − let mut w = repo_alice.write_file("file").unwrap();
+ let mut w = repo_alice.write_file("file", Inode::ROOT).unwrap();
replacement in libpijul/src/tests/missing_context.rs at line 186
[4.23552]→[4.23552:23610](∅→∅) − let mut w = repo_bob.write_file("file").unwrap();
+ let mut w = repo_bob.write_file("file", Inode::ROOT).unwrap();
replacement in libpijul/src/tests/missing_context.rs at line 240
[4.298481]→[4.24364:24430](∅→∅) − repo_bob.write_file("file").unwrap().write_all(bob).unwrap();
+ repo_bob
+ .write_file("file", Inode::ROOT)
+ .unwrap()
+ .write_all(bob)
+ .unwrap();
replacement in libpijul/src/tests/missing_context.rs at line 250
[4.24524]→[4.24524:24552](∅→∅) + .write_file("file", Inode::ROOT)
replacement in libpijul/src/tests/filesystem.rs at line 16
[4.300768]→[4.25133:25165](∅→∅) − repo.write_file("dir/file")
+ repo.write_file("dir/file", Inode::ROOT)
replacement in libpijul/src/tests/filesystem.rs at line 52
[4.301962]→[4.25810:25842](∅→∅) − repo.write_file("dir/file")
+ repo.write_file("dir/file", Inode::ROOT)
replacement in libpijul/src/tests/filesystem.rs at line 122
[4.304454]→[4.27097:27129](∅→∅) − repo.write_file("dir/file")
+ repo.write_file("dir/file", Inode::ROOT)
edit in libpijul/src/tests/file_conflicts.rs at line 130
+ {
+ let txn_ = txn_bob.write();
+ let mut f = std::fs::File::create("/tmp/conflict0")?;
+ crate::pristine::debug(&*txn_, &txn_.graph(&*channel_bob.read()), &mut f)?;
+ }
+ info!("recording resolution");
edit in libpijul/src/tests/file_conflicts.rs at line 149
+ let txn_ = txn_bob.write();
+ let mut f = std::fs::File::create("/tmp/conflict1")?;
+ crate::pristine::debug(&*txn_, &txn_.graph(&*channel_bob.read()), &mut f)?;
replacement in libpijul/src/tests/file_conflicts.rs at line 511
[4.34872]→[4.34872:34906](∅→∅) − .write_file("a/b/c/file")
+ .write_file("a/b/c/file", Inode::ROOT)
replacement in libpijul/src/tests/file_conflicts.rs at line 631
[4.36315]→[4.36315:36350](∅→∅) − .write_file("a/b/c/file2")
+ .write_file("a/b/c/file2", Inode::ROOT)
replacement in libpijul/src/tests/file_conflicts.rs at line 756
[4.37790]→[4.37790:37824](∅→∅) − .write_file("a/b/d/file")
+ .write_file("a/b/d/file", Inode::ROOT)
replacement in libpijul/src/tests/file_conflicts.rs at line 891
[4.39974]→[4.39974:40008](∅→∅) − .write_file("a/b/c/file")
+ .write_file("a/b/c/file", Inode::ROOT)
replacement in libpijul/src/tests/file_conflicts.rs at line 898
[4.40162]→[4.40162:40196](∅→∅) − .write_file("a/b/c/file")
+ .write_file("a/b/c/file", Inode::ROOT)
replacement in libpijul/src/tests/file_conflicts.rs at line 941
[4.41035]→[4.41035:41101](∅→∅) − let mut w = repo_alice.write_file("a/b/c/file").unwrap();
+ let mut w = repo_alice.write_file("a/b/c/file", Inode::ROOT).unwrap();
replacement in libpijul/src/tests/file_conflicts.rs at line 1387
[4.47265]→[4.47265:47293](∅→∅) + .write_file("file", Inode::ROOT)
replacement in libpijul/src/tests/file_conflicts.rs at line 1394
[4.351662]→[4.47425:47489](∅→∅) − repo_bob.write_file("file").unwrap().write_all(b"a\nd\n")?;
+ repo_bob
+ .write_file("file", Inode::ROOT)
+ .unwrap()
+ .write_all(b"a\nd\n")?;
replacement in libpijul/src/tests/file_conflicts.rs at line 1414
[4.352588]→[4.47825:47916](∅→∅) − let (alive, reachable) = check_alive(&*txn_alice.read(), &channel_alice.read().graph);
+ let (alive, reachable) = check_alive(&*txn_alice.read(), &channel_alice.read());
edit in libpijul/src/tests/file_conflicts.rs at line 1573
+ }
+
+ Ok(())
+ }
+
+ #[test]
+ fn move_back_noundel_test() -> Result<(), anyhow::Error> {
+ env_logger::try_init().unwrap_or(());
+
+ let repo_alice = working_copy::memory::Memory::new();
+ let changes = changestore::memory::Memory::new();
+ let env_alice = pristine::sanakirja::Pristine::new_anon()?;
+ let txn_alice = env_alice.arc_txn_begin().unwrap();
+ let channel_alice = txn_alice.write().open_or_create_channel("main")?;
+ repo_alice.add_file("a", b"a\n".to_vec());
+ txn_alice.write().add_file("a", 0)?;
+ let _init = record_all(&repo_alice, &changes, &txn_alice, &channel_alice, "")?;
+
+ repo_alice.rename("a", "b").unwrap_or(());
+ txn_alice.write().move_file("a", "b", 0)?;
+ let _mv = record_all(&repo_alice, &changes, &txn_alice, &channel_alice, "")?;
+
+ repo_alice.rename("b", "a").unwrap_or(());
+ txn_alice.write().move_file("b", "a", 0)?;
+
+ info!("MOVE BACK");
+ {
+ let txn_ = txn_alice.write();
+ let mut f = std::fs::File::create("/tmp/moveback")?;
+ crate::pristine::debug(&*txn_, &txn_.graph(&*channel_alice.read()), &mut f)?;
edit in libpijul/src/tests/file_conflicts.rs at line 1604
+ let back = record_all(&repo_alice, &changes, &txn_alice, &channel_alice, "")?;
edit in libpijul/src/tests/file_conflicts.rs at line 1606
+ let back = changes.get_change(&back).unwrap();
+ match back.hashed.changes[0] {
+ crate::change::Hunk::FileMove { .. } => {}
+ ref x => {
+ panic!("{:#?}", x);
+ }
+ }
replacement in libpijul/src/tests/diff.rs at line 35
[4.1330]→[4.1330:1362](∅→∅) − repo.write_file("file")
+ repo.write_file("file", Inode::ROOT)
replacement in libpijul/src/tests/conflict.rs at line 52
[4.358774]→[4.50369:50435](∅→∅) − repo_bob.write_file("file").unwrap().write_all(bob).unwrap();
+ repo_bob
+ .write_file("file", Inode::ROOT)
+ .unwrap()
+ .write_all(bob)
+ .unwrap();
replacement in libpijul/src/tests/conflict.rs at line 61
[4.50525]→[4.50525:50553](∅→∅) + .write_file("file", Inode::ROOT)
replacement in libpijul/src/tests/conflict.rs at line 117
[4.50919]→[4.50919:50979](∅→∅) − let mut w = repo_alice.write_file("file").unwrap();
+ let mut w = repo_alice.write_file("file", Inode::ROOT).unwrap();
replacement in libpijul/src/tests/conflict.rs at line 262
[4.364464]→[4.52629:52695](∅→∅) − repo_bob.write_file("file").unwrap().write_all(bob).unwrap();
+ repo_bob
+ .write_file("file", Inode::ROOT)
+ .unwrap()
+ .write_all(bob)
+ .unwrap();
replacement in libpijul/src/tests/conflict.rs at line 271
[4.52787]→[4.52787:52815](∅→∅) + .write_file("file", Inode::ROOT)
replacement in libpijul/src/tests/conflict.rs at line 279
[4.52982]→[4.52982:53010](∅→∅) + .write_file("file", Inode::ROOT)
replacement in libpijul/src/tests/conflict.rs at line 334
[4.53376]→[4.53376:53436](∅→∅) − let mut w = repo_alice.write_file("file").unwrap();
+ let mut w = repo_alice.write_file("file", Inode::ROOT).unwrap();
replacement in libpijul/src/tests/conflict.rs at line 413
[4.54133]→[4.54133:54191](∅→∅) − let mut w = repo_bob.write_file("file").unwrap();
+ let mut w = repo_bob.write_file("file", Inode::ROOT).unwrap();
replacement in libpijul/src/tests/conflict.rs at line 500
[4.371225]→[4.55299:55365](∅→∅) − repo_bob.write_file("file").unwrap().write_all(bob).unwrap();
+ repo_bob
+ .write_file("file", Inode::ROOT)
+ .unwrap()
+ .write_all(bob)
+ .unwrap();
replacement in libpijul/src/tests/conflict.rs at line 509
[4.55455]→[4.55455:55483](∅→∅) + .write_file("file", Inode::ROOT)
replacement in libpijul/src/tests/conflict.rs at line 535
[4.55788]→[4.55788:55848](∅→∅) − let mut w = repo_alice.write_file("file").unwrap();
+ let mut w = repo_alice.write_file("file", Inode::ROOT).unwrap();
replacement in libpijul/src/tests/conflict.rs at line 624
[4.375120]→[4.56707:56769](∅→∅) − repo.write_file("file").unwrap().write_all(bob).unwrap();
+ repo.write_file("file", Inode::ROOT)
+ .unwrap()
+ .write_all(bob)
+ .unwrap();
replacement in libpijul/src/tests/conflict.rs at line 631
[4.375509]→[4.56840:56904](∅→∅) − repo.write_file("file").unwrap().write_all(alice).unwrap();
+ repo.write_file("file", Inode::ROOT)
+ .unwrap()
+ .write_all(alice)
+ .unwrap();
replacement in libpijul/src/tests/conflict.rs at line 656
[4.57134]→[4.57134:57188](∅→∅) − let mut w = repo.write_file("file").unwrap();
+ let mut w = repo.write_file("file", Inode::ROOT).unwrap();
replacement in libpijul/src/tests/conflict.rs at line 758
[4.379318]→[4.58063:58125](∅→∅) − repo.write_file("file").unwrap().write_all(bob).unwrap();
+ repo.write_file("file", Inode::ROOT)
+ .unwrap()
+ .write_all(bob)
+ .unwrap();
replacement in libpijul/src/tests/conflict.rs at line 765
[4.379707]→[4.58196:58260](∅→∅) − repo.write_file("file").unwrap().write_all(alice).unwrap();
+ repo.write_file("file", Inode::ROOT)
+ .unwrap()
+ .write_all(alice)
+ .unwrap();
replacement in libpijul/src/tests/conflict.rs at line 790
[4.58490]→[4.58490:58544](∅→∅) − let mut w = repo.write_file("file").unwrap();
+ let mut w = repo.write_file("file", Inode::ROOT).unwrap();
replacement in libpijul/src/tests/conflict.rs at line 887
[4.383330]→[4.59374:59444](∅→∅) − repo.write_file("file").unwrap().write_all(bob).unwrap();
+ repo.write_file("file", Inode::ROOT)
+ .unwrap()
+ .write_all(bob)
+ .unwrap();
replacement in libpijul/src/tests/conflict.rs at line 900
[4.383758]→[4.59518:59590](∅→∅) − repo.write_file("file").unwrap().write_all(alice).unwrap();
+ repo.write_file("file", Inode::ROOT)
+ .unwrap()
+ .write_all(alice)
+ .unwrap();
replacement in libpijul/src/tests/conflict.rs at line 929
[4.59824]→[4.59824:59878](∅→∅) − let mut w = repo.write_file("file").unwrap();
+ let mut w = repo.write_file("file", Inode::ROOT).unwrap();
replacement in libpijul/src/tests/conflict.rs at line 1033
[4.387750]→[4.60735:60801](∅→∅) − repo_bob.write_file("file").unwrap().write_all(bob).unwrap();
+ repo_bob
+ .write_file("file", Inode::ROOT)
+ .unwrap()
+ .write_all(bob)
+ .unwrap();
replacement in libpijul/src/tests/conflict.rs at line 1042
[4.60891]→[4.60891:60919](∅→∅) + .write_file("file", Inode::ROOT)
replacement in libpijul/src/tests/conflict.rs at line 1088
[4.61224]→[4.61224:61284](∅→∅) − let mut w = repo_alice.write_file("file").unwrap();
+ let mut w = repo_alice.write_file("file", Inode::ROOT).unwrap();
replacement in libpijul/src/tests/conflict.rs at line 1174
[4.392201]→[4.62128:62194](∅→∅) − repo_bob.write_file("file").unwrap().write_all(bob).unwrap();
+ repo_bob
+ .write_file("file", Inode::ROOT)
+ .unwrap()
+ .write_all(bob)
+ .unwrap();
replacement in libpijul/src/tests/conflict.rs at line 1183
[4.62284]→[4.62284:62312](∅→∅) + .write_file("file", Inode::ROOT)
replacement in libpijul/src/tests/conflict.rs at line 1237
[4.394057]→[4.62730:62791](∅→∅) − repo_alice.write_file("file").unwrap().write_all(b"x")?;
+ repo_alice
+ .write_file("file", Inode::ROOT)
+ .unwrap()
+ .write_all(b"x")?;
replacement in libpijul/src/tests/conflict.rs at line 1425
[4.399819]→[4.63646:63712](∅→∅) − repo_bob.write_file("file").unwrap().write_all(bob).unwrap();
+ repo_bob
+ .write_file("file", Inode::ROOT)
+ .unwrap()
+ .write_all(bob)
+ .unwrap();
replacement in libpijul/src/tests/conflict.rs at line 1434
[4.63802]→[4.63802:63830](∅→∅) + .write_file("file", Inode::ROOT)
replacement in libpijul/src/tests/conflict.rs at line 1460
[4.64135]→[4.64135:64195](∅→∅) − let mut w = repo_alice.write_file("file").unwrap();
+ let mut w = repo_alice.write_file("file", Inode::ROOT).unwrap();
replacement in libpijul/src/tests/conflict.rs at line 1551
[4.403679]→[4.65171:65237](∅→∅) − repo_bob.write_file("file").unwrap().write_all(bob).unwrap();
+ repo_bob
+ .write_file("file", Inode::ROOT)
+ .unwrap()
+ .write_all(bob)
+ .unwrap();
replacement in libpijul/src/tests/conflict.rs at line 1561
[4.65327]→[4.65327:65355](∅→∅) + .write_file("file", Inode::ROOT)
replacement in libpijul/src/tests/conflict.rs at line 1586
[4.65660]→[4.65660:65720](∅→∅) − let mut w = repo_alice.write_file("file").unwrap();
+ let mut w = repo_alice.write_file("file", Inode::ROOT).unwrap();
replacement in libpijul/src/tests/conflict.rs at line 1611
[4.65983]→[4.65983:66041](∅→∅) − let mut w = repo_bob.write_file("file").unwrap();
+ let mut w = repo_bob.write_file("file", Inode::ROOT).unwrap();
replacement in libpijul/src/tests/conflict.rs at line 1684
[4.407969]→[4.66836:66910](∅→∅) − repo_alice.write_file("file").unwrap().write_all(c).unwrap();
+ repo_alice
+ .write_file("file", Inode::ROOT)
+ .unwrap()
+ .write_all(c)
+ .unwrap();
replacement in libpijul/src/tests/conflict.rs at line 1710
[4.408873]→[4.67246:67310](∅→∅) − repo_bob.write_file("file").unwrap().write_all(b"x\nc\n")?;
+ repo_bob
+ .write_file("file", Inode::ROOT)
+ .unwrap()
+ .write_all(b"x\nc\n")?;
replacement in libpijul/src/tests/conflict.rs at line 1744
[4.409911]→[4.67562:67626](∅→∅) − repo_bob.write_file("file").unwrap().write_all(b"x\nc\n")?;
+ repo_bob
+ .write_file("file", Inode::ROOT)
+ .unwrap()
+ .write_all(b"x\nc\n")?;
replacement in libpijul/src/tests/conflict.rs at line 1823
[4.412374]→[4.68520:68594](∅→∅) − repo_alice.write_file("file").unwrap().write_all(c).unwrap();
+ repo_alice
+ .write_file("file", Inode::ROOT)
+ .unwrap()
+ .write_all(c)
+ .unwrap();
replacement in libpijul/src/tests/conflict.rs at line 1850
[4.68943]→[4.68943:68971](∅→∅) + .write_file("file", Inode::ROOT)
replacement in libpijul/src/tests/conflict.rs at line 1879
[4.69317]→[4.69317:69345](∅→∅) + .write_file("file", Inode::ROOT)
replacement in libpijul/src/tests/conflict.rs at line 1978
[4.70712]→[4.70712:70740](∅→∅) + .write_file("file", Inode::ROOT)
replacement in libpijul/src/tests/conflict.rs at line 1985
[4.417345]→[4.70884:70950](∅→∅) − repo_bob.write_file("file").unwrap().write_all(bob).unwrap();
+ repo_bob
+ .write_file("file", Inode::ROOT)
+ .unwrap()
+ .write_all(bob)
+ .unwrap();
replacement in libpijul/src/tests/conflict.rs at line 1994
[4.71042]→[4.71042:71070](∅→∅) + .write_file("file", Inode::ROOT)
replacement in libpijul/src/tests/conflict.rs at line 2019
[4.71376]→[4.71376:71404](∅→∅) + .write_file("file", Inode::ROOT)
replacement in libpijul/src/tests/conflict.rs at line 2113
[4.72836]→[4.72836:72864](∅→∅) + .write_file("file", Inode::ROOT)
replacement in libpijul/src/tests/conflict.rs at line 2126
[4.422082]→[4.73016:73082](∅→∅) − repo_bob.write_file("file").unwrap().write_all(bob).unwrap();
+ repo_bob
+ .write_file("file", Inode::ROOT)
+ .unwrap()
+ .write_all(bob)
+ .unwrap();
replacement in libpijul/src/tests/conflict.rs at line 2135
[4.73172]→[4.73172:73200](∅→∅) + .write_file("file", Inode::ROOT)
replacement in libpijul/src/tests/conflict.rs at line 2161
[4.73505]→[4.73505:73565](∅→∅) − let mut w = repo_alice.write_file("file").unwrap();
+ let mut w = repo_alice.write_file("file", Inode::ROOT).unwrap();
replacement in libpijul/src/tests/conflict.rs at line 2189
[4.73829]→[4.73829:73887](∅→∅) − let mut w = repo_bob.write_file("file").unwrap();
+ let mut w = repo_bob.write_file("file", Inode::ROOT).unwrap();
replacement in libpijul/src/tests/conflict.rs at line 2223
[4.74237]→[4.74237:74295](∅→∅) − let mut w = repo_bob.write_file("file").unwrap();
+ let mut w = repo_bob.write_file("file", Inode::ROOT).unwrap();
replacement in libpijul/src/tests/conflict.rs at line 2324
[4.428215]→[4.75077:75143](∅→∅) − repo_bob.write_file("file").unwrap().write_all(bob).unwrap();
+ repo_bob
+ .write_file("file", Inode::ROOT)
+ .unwrap()
+ .write_all(bob)
+ .unwrap();
replacement in libpijul/src/tests/conflict.rs at line 2331
[4.75231]→[4.75231:75259](∅→∅) + .write_file("file", Inode::ROOT)
replacement in libpijul/src/tests/conflict.rs at line 2337
[4.75409]→[4.75409:75437](∅→∅) + .write_file("file", Inode::ROOT)
replacement in libpijul/src/tests/conflict.rs at line 2345
[4.75590]→[4.75590:75618](∅→∅) + .write_file("file", Inode::ROOT)
replacement in libpijul/src/tests/conflict.rs at line 2351
[4.75777]→[4.75777:75805](∅→∅) + .write_file("file", Inode::ROOT)
replacement in libpijul/src/tests/conflict.rs at line 2357
[4.75965]→[4.75965:75993](∅→∅) + .write_file("file", Inode::ROOT)
replacement in libpijul/src/tests/conflict.rs at line 2385
[4.76443]→[4.76443:76503](∅→∅) − let mut w = repo_alice.write_file("file").unwrap();
+ let mut w = repo_alice.write_file("file", Inode::ROOT).unwrap();
replacement in libpijul/src/tests/conflict.rs at line 2416
[4.76835]→[4.76835:76893](∅→∅) − let mut w = repo_bob.write_file("file").unwrap();
+ let mut w = repo_bob.write_file("file", Inode::ROOT).unwrap();
replacement in libpijul/src/tests/conflict.rs at line 2449
[4.77743]→[4.77743:77771](∅→∅) + .write_file("file", Inode::ROOT)
replacement in libpijul/src/tests/conflict.rs at line 2475
[4.78172]→[4.78172:78257](∅→∅) − let (alive_, reachable_) = check_alive(&*txn.read(), &channel_bob.read().graph);
+ let (alive_, reachable_) = check_alive(&*txn.read(), &channel_bob.read());
replacement in libpijul/src/tests/conflict.rs at line 2494
[4.433926]→[4.78338:78421](∅→∅) − let (alive, reachable) = check_alive(&*txn.read(), &channel_bob.read().graph);
+ let (alive, reachable) = check_alive(&*txn.read(), &channel_bob.read());
replacement in libpijul/src/tests/conflict.rs at line 2510
[4.78604]→[4.78604:78691](∅→∅) − let (alive, reachable) = check_alive(&*txn.read(), &channel_charlie.read().graph);
+ let (alive, reachable) = check_alive(&*txn.read(), &channel_charlie.read());
replacement in libpijul/src/tests/conflict.rs at line 2529
[4.435224]→[4.78780:78867](∅→∅) − let (alive, reachable) = check_alive(&*txn.read(), &channel_charlie.read().graph);
+ let (alive, reachable) = check_alive(&*txn.read(), &channel_charlie.read());
replacement in libpijul/src/tests/conflict.rs at line 2600
[4.437747]→[4.80029:80120](∅→∅) − let (alive, reachable) = check_alive(&*txn_alice.read(), &channel_alice.read().graph);
+ let (alive, reachable) = check_alive(&*txn_alice.read(), &channel_alice.read());
replacement in libpijul/src/tests/clone.rs at line 24
[4.81569]→[4.81569:81601](∅→∅) − repo.write_file("file")
+ repo.write_file("file", Inode::ROOT)
replacement in libpijul/src/tests/clone.rs at line 90
[4.82573]→[4.82573:82709](∅→∅) − repo.write_file("a/b/c/d").unwrap().write_all(b"edits\n")?;
− repo.write_file("e/f/g/h").unwrap().write_all(b"edits\n")?;
+ repo.write_file("a/b/c/d", Inode::ROOT)
+ .unwrap()
+ .write_all(b"edits\n")?;
+ repo.write_file("e/f/g/h", Inode::ROOT)
+ .unwrap()
+ .write_all(b"edits\n")?;
replacement in libpijul/src/tests/change.rs at line 115
[4.450786]→[4.84303:84364](∅→∅) − write!(repo.write_file("file")?, "a\nx\nc\ne\ny\nf\n")?;
+ write!(repo.write_file("file", Inode::ROOT)?, "a\nx\nc\ne\ny\nf\n")?;
replacement in libpijul/src/tests/add_file.rs at line 38
[4.30223]→[4.30223:30324](∅→∅) − crate::fs::iter_graph_children(&txn, &changes, &channel.graph, Position::ROOT).unwrap();
+ crate::fs::iter_graph_children(&txn, &changes, &channel, Position::ROOT).unwrap();
replacement in libpijul/src/tests/add_file.rs at line 43
[4.455516]→[4.30386:30485](∅→∅) − let mut it = crate::fs::iter_graph_children(&txn, &changes, &channel.graph, key).unwrap();
+ let mut it = crate::fs::iter_graph_children(&txn, &changes, &channel, key).unwrap();
replacement in libpijul/src/tests/add_file.rs at line 45
[4.43645]→[4.35918:35989](∅→∅) − crate::fs::iter_paths(&txn, &channel.graph, file_key, |path| {
+ crate::fs::iter_paths(&txn, &channel, file_key, |path| {
replacement in libpijul/src/tests/add_file.rs at line 55
[4.455960]→[4.30658:30752](∅→∅) − let mut it = crate::fs::iter_basenames(&txn, &changes, &channel.graph, key).unwrap();
+ let mut it = crate::fs::iter_basenames(&txn, &changes, &channel, key).unwrap();
replacement in libpijul/src/tests/add_file.rs at line 206
[4.459870]→[4.39049:39081](∅→∅) − repo.write_file("dir/file")
+ repo.write_file("dir/file", Inode::ROOT)
replacement in libpijul/src/tests/add_file.rs at line 234
[4.460858]→[4.25721:25786](∅→∅) − repo.write_file("dir/file")?.write_all(b"a\nb\nc\ne\nf\n")?;
+ repo.write_file("dir/file", Inode::ROOT)?
+ .write_all(b"a\nb\nc\ne\nf\n")?;
replacement in libpijul/src/tests/add_file.rs at line 237
[4.88462]→[4.25922:25984](∅→∅),
[4.25922]→[4.25922:25984](∅→∅) − repo.write_file("dir/file")?.write_all(b"a\nb\nc\nf\n")?;
+ repo.write_file("dir/file", Inode::ROOT)?
+ .write_all(b"a\nb\nc\nf\n")?;
replacement in libpijul/src/tests/add_file.rs at line 240
[4.88531]→[4.26262:26321](∅→∅),
[4.26262]→[4.26262:26321](∅→∅) − repo.write_file("dir/file")?.write_all(b"a\nb\nc\n")?;
+ repo.write_file("dir/file", Inode::ROOT)?
+ .write_all(b"a\nb\nc\n")?;
replacement in libpijul/src/tests/add_file.rs at line 718
[4.476642]→[4.94356:94441](∅→∅) − let (alive, reachable) = check_alive(&*txn_alice.read(), &channel.read().graph);
+ let (alive, reachable) = check_alive(&*txn_alice.read(), &channel.read());