More convenient interface for channels
[?]
Jan 12, 2021, 1:18 PM
3AMEP2Y5J6GA4AWQONF4JVA3XSR3ASLHHKMYG44R72SOUY3UQCDACDependencies
- [2]
G6S6PWZEDo not touch the channel if this is a partial record - [3]
27PYHR6LMaking the get_latest_touch function (useful to make archives) public in libpijul - [4]
CXM5CBS2Fixing `pijul remove` when files are not deleted - [5]
UNZXTNSJChange text format: order dependencies in the order they were on the channel at record time - [6]
SXEYMYF7Fixing the bad changes in history (unfortunately, by rebooting). - [7]
GVQ7YSEDChecking for dependencies even for a local change - [8]
SLJ3OHD4unrecord: show list of changes if none were given as arguments - [9]
EGSVRZJVAvoid converting between base32 and hash in pijul::commands::unrecord - [10]
YAJAXIV5Unrecording changes atomically - [11]
CCLLB7OIUpgrading to Sanakirja 0.15 + version bump - [12]
I52XSRUHMassive cleanup, and simplification - [13]
5DVRL6MFHard-unrecord - [14]
IM6UFPOZFixing a test related to the tree/revtree tables - [15]
NA5I4WYNFixing the inverse of conflict resolutions - [16]
QMTANHVNReset: only output changed files - [17]
L4JXJHWXpijul/*: reorganize imports and remove extern crate - [18]
43AJ37IXGetting rid of edge validation, which does not work for zombie conflicts - [19]
5BRU2RRWCleanup (debugging a crash related to trees/inodes) - [20]
I3OVP3NHArchive: set the accurate and deterministic mtime - [21]
MU5GSJAWPartial push and pull (WARNING: breaks the existing protocol) - [22]
7PM25EXLRecursive apply was written a little too fast… - [23]
WZVCLZKYaddress clippy lints - [24]
VO5OQW4WRemoving anyhow in libpijul - [25]
XA23FMQMReset only files that have been modified - [26]
76PCXGMLPushing to, and pulling from the local repository - [27]
HMMMKONLFixing alive vertices - [28]
BONBSXAUArchive mtimes: optimal complexity in all cases - [29]
BXD3IQYNFixing --features git - [30]
DJYHARZ7Skipping old files when recording - [31]
6YMDOZIBRefactoring apply - [32]
KQTD46KVUnrecord: restore files *after* having unapplied the *entire* change - [33]
GHO6DWPIRefactoring iterators
Change contents
- edit in pijul/src/commands/unrecord.rs at line 8
use libpijul::pristine::sanakirja::Txn; - replacement in pijul/src/commands/unrecord.rs at line 84
.get_changeset(Txn::changes(&channel_), change_id).get_changeset(txn.changes(&channel_), change_id) - replacement in pijul/src/commands/unrecord.rs at line 99
if txn.get_changeset(Txn::changes(&channel_), d)?.is_some() {if txn.get_changeset(txn.changes(&channel_), d)?.is_some() { - replacement in pijul/src/commands/reset.rs at line 204
fn last_modified<T: ChannelTxnT>(_: &T, channel: &T::Channel) -> std::time::SystemTime {std::time::SystemTime::UNIX_EPOCH + std::time::Duration::from_secs(T::last_modified(channel))fn last_modified<T: ChannelTxnT>(txn: &T, channel: &T::Channel) -> std::time::SystemTime {std::time::SystemTime::UNIX_EPOCH + std::time::Duration::from_secs(txn.last_modified(channel)) - edit in pijul/src/commands/pushpull.rs at line 10
use libpijul::pristine::sanakirja::Txn; - replacement in pijul/src/commands/pushpull.rs at line 195
if txn.get_changeset(Txn::changes(&channel), h_int)?.is_none() {if txn.get_changeset(txn.changes(&channel), h_int)?.is_none() { - replacement in pijul/src/commands/pushpull.rs at line 343
.get_changeset(Txn::changes(&channel.borrow()), h_int)?.get_changeset(txn.changes(&channel.borrow()), h_int)? - replacement in pijul/src/commands/channel.rs at line 45
let name = libpijul::pristine::sanakirja::Txn::name(&channel);let name = txn.name(&channel); - replacement in libpijul/src/unrecord/working_copy.rs at line 38
txn.find_block_end(T::graph(channel), internal_pos(txn, &e.from, change_id)?)?;txn.find_block_end(txn.graph(channel), internal_pos(txn, &e.from, change_id)?)?; - replacement in libpijul/src/unrecord/working_copy.rs at line 67
T::graph(channel),txn.graph(channel), - replacement in libpijul/src/unrecord/working_copy.rs at line 130
T::graph(channel),txn.graph(channel), - replacement in libpijul/src/unrecord/working_copy.rs at line 142
.get_changeset(T::changes(channel), e.introduced_by)?.get_changeset(txn.changes(channel), e.introduced_by)? - replacement in libpijul/src/unrecord/working_copy.rs at line 157
txn.find_block_end(T::graph(channel), next.unwrap().1)txn.find_block_end(txn.graph(channel), next.unwrap().1) - replacement in libpijul/src/unrecord/mod.rs at line 88
let timestamp = if let Some(ts) = txn.get_changeset(T::changes(channel), change_id)? {let timestamp = if let Some(ts) = txn.get_changeset(txn.changes(channel), change_id)? { - replacement in libpijul/src/unrecord/mod.rs at line 101
if txn.get_changeset(T::changes(channel), d)?.is_some() {if txn.get_changeset(txn.changes(channel), d)?.is_some() { - replacement in libpijul/src/unrecord/mod.rs at line 119
if T::name(&br) != T::name(&channel)&& txn.get_changeset(T::changes(&br), change_id)?.is_some()if txn.name(&br) != txn.name(&channel)&& txn.get_changeset(txn.changes(&br), change_id)?.is_some() - replacement in libpijul/src/record.rs at line 166
.get_changeset(T::changes(channel), vertex.change)?.get_changeset(txn.changes(channel), vertex.change)? - replacement in libpijul/src/record.rs at line 205
T::graph(channel),txn.graph(channel), - replacement in libpijul/src/record.rs at line 215
T::graph(channel),txn.graph(channel), - replacement in libpijul/src/record.rs at line 377
for name_ in iter_adjacent(txn, T::graph(channel), vertex.inode_vertex(), f0, f1)? {for name_ in iter_adjacent(txn, txn.graph(channel), vertex.inode_vertex(), f0, f1)? { - replacement in libpijul/src/record.rs at line 388
let name_dest = txn.find_block_end(T::graph(channel), name_.dest).unwrap();let name_dest = txn.find_block_end(txn.graph(channel), name_.dest).unwrap(); - replacement in libpijul/src/record.rs at line 397
if let Some(v_papa) = iter_adjacent(txn, T::graph(channel), name_dest, f0, f1)?.next() {if let Some(v_papa) = iter_adjacent(txn, txn.graph(channel), name_dest, f0, f1)?.next() { - replacement in libpijul/src/record.rs at line 425
T::graph(channel),txn.graph(channel), - replacement in libpijul/src/record.rs at line 434
|| self.modified_since_last_commit::<T, _>(|| self.modified_since_last_commit(txn, - replacement in libpijul/src/record.rs at line 441
let mut ret = retrieve(txn, T::graph(channel), vertex)?;let mut ret = retrieve(txn, txn.graph(channel), vertex)?; - replacement in libpijul/src/record.rs at line 473
T::graph(channel),txn.graph(channel), - replacement in libpijul/src/record.rs at line 604
self.record_deleted_file(txn, T::graph(channel), working_copy, &full_path, vertex)?self.record_deleted_file(txn, txn.graph(channel), working_copy, &full_path, vertex)? - edit in libpijul/src/record.rs at line 616
txn: &T, - replacement in libpijul/src/record.rs at line 627
T::last_modified(channel)txn.last_modified(channel) - replacement in libpijul/src/record.rs at line 632
+ 2>= T::last_modified(channel))> txn.last_modified(channel)) - replacement in libpijul/src/pristine/sanakirja.rs at line 658
fn graph(c: &Channel) -> &Db<Vertex<ChangeId>, Edge> {fn graph<'a>(&self, c: &'a Self::Channel) -> &'a Db<Vertex<ChangeId>, Edge> { - replacement in libpijul/src/pristine/sanakirja.rs at line 661
fn name(c: &Channel) -> &str {fn name<'a>(&self, c: &'a Self::Channel) -> &'a str { - replacement in libpijul/src/pristine/sanakirja.rs at line 664
fn apply_counter(channel: &Self::Channel) -> u64 {fn apply_counter(&self, channel: &Self::Channel) -> u64 { - replacement in libpijul/src/pristine/sanakirja.rs at line 667
fn last_modified(channel: &Self::Channel) -> u64 {fn last_modified(&self, channel: &Self::Channel) -> u64 { - replacement in libpijul/src/pristine/sanakirja.rs at line 670
fn changes(channel: &Self::Channel) -> &Self::Changeset {fn changes<'a>(&self, channel: &'a Self::Channel) -> &'a Self::Changeset { - replacement in libpijul/src/pristine/sanakirja.rs at line 673
fn rev_changes(channel: &Self::Channel) -> &Self::RevChangeset {fn rev_changes<'a>(&self, channel: &'a Self::Channel) -> &'a Self::RevChangeset { - replacement in libpijul/src/pristine/mod.rs at line 157
fn name(channel: &Self::Channel) -> &str;fn graph(channel: &Self::Channel) -> &Self::Graph;fn apply_counter(channel: &Self::Channel) -> u64;fn last_modified(channel: &Self::Channel) -> u64;fn changes(channel: &Self::Channel) -> &Self::Changeset;fn rev_changes(channel: &Self::Channel) -> &Self::RevChangeset;fn name<'a>(&self, channel: &'a Self::Channel) -> &'a str;fn graph<'a>(&self, channel: &'a Self::Channel) -> &'a Self::Graph;fn apply_counter(&self, channel: &Self::Channel) -> u64;fn last_modified(&self, channel: &Self::Channel) -> u64;fn changes<'a>(&self, channel: &'a Self::Channel) -> &'a Self::Changeset;fn rev_changes<'a>(&self, channel: &'a Self::Channel) -> &'a Self::RevChangeset; - replacement in libpijul/src/pristine/mod.rs at line 561
T::cursor_revchangeset_ref(txn, T::rev_changes(&channel), Some(from))T::cursor_revchangeset_ref(txn, txn.rev_changes(&channel), Some(from)) - replacement in libpijul/src/pristine/mod.rs at line 569
.rev_cursor_revchangeset(T::rev_changes(&channel), None)?.rev_cursor_revchangeset(txn.rev_changes(&channel), None)? - edit in libpijul/src/pristine/mod.rs at line 584
let c = txn.rev_changes(&channel); - replacement in libpijul/src/pristine/mod.rs at line 587
T::rev_changes(&channel),c, - replacement in libpijul/src/pristine/mod.rs at line 600
Ok(txn.rev_cursor_revchangeset(T::rev_changes(&channel), from)?)Ok(txn.rev_cursor_revchangeset(txn.rev_changes(&channel), from)?) - replacement in libpijul/src/pristine/mod.rs at line 614
iter: T::cursor_revchangeset_ref(txn, T::rev_changes(&channel), Some(from_timestamp))?,iter: T::cursor_revchangeset_ref(txn, txn.rev_changes(&channel), Some(from_timestamp))?, - replacement in libpijul/src/pristine/mod.rs at line 632
iter: txn.rev_cursor_revchangeset(T::rev_changes(&channel), Some(from_timestamp))?,iter: txn.rev_cursor_revchangeset(txn.rev_changes(&channel), Some(from_timestamp))?, - replacement in libpijul/src/pristine/mod.rs at line 739
let done = debug(txn, T::graph(channel), &mut f)?;let done = debug(txn, txn.graph(channel), &mut f)?; - replacement in libpijul/src/pristine/mod.rs at line 1184
match is_ancestor_of(self.txn, T::graph(&self.channel), self.key, touched) {match is_ancestor_of(self.txn, self.txn.graph(&self.channel), self.key, touched) { - replacement in libpijul/src/pristine/mod.rs at line 1222
match is_ancestor_of(self.txn, T::graph(&self.channel), self.key, touched) {match is_ancestor_of(self.txn, self.txn.graph(&self.channel), self.key, touched) { - replacement in libpijul/src/pristine/mod.rs at line 1642
for x in T::cursor_revchangeset_ref(txn, T::rev_changes(&c), Some(pos))? {for x in T::cursor_revchangeset_ref(txn, txn.rev_changes(&c), Some(pos))? { - replacement in libpijul/src/pristine/mod.rs at line 1656
.rev_cursor_revchangeset(T::rev_changes(&c), None)?.rev_cursor_revchangeset(txn.rev_changes(&c), None)? - replacement in libpijul/src/pristine/mod.rs at line 1743
let (alive, reachable) = crate::pristine::check_alive(txn, T::graph(channel));let (alive, reachable) = crate::pristine::check_alive(txn, txn.graph(channel)); - replacement in libpijul/src/pristine/mod.rs at line 1769
let graph = crate::alive::retrieve::retrieve(txn, T::graph(channel), file_).unwrap();graph.debug(changes, txn, T::graph(channel), false, false, &mut f)?;let graph = crate::alive::retrieve::retrieve(txn, txn.graph(channel), file_).unwrap();graph.debug(changes, txn, txn.graph(channel), false, false, &mut f)?; - replacement in libpijul/src/pristine/mod.rs at line 1773
debug_root(txn, T::graph(channel), file.unwrap(), &mut f, false)?;debug_root(txn, txn.graph(channel), file.unwrap(), &mut f, false)?; - replacement in libpijul/src/pristine/channel_dump.rs at line 132
cursor: match self.txn.iter_graph(T::graph(&self.channel)) {cursor: match self.txn.iter_graph(self.txn.graph(&self.channel)) { - replacement in libpijul/src/pristine/channel_dump.rs at line 146
if let Some(x) = self.txn.next_graph(T::graph(&self.channel), &mut cursor) {if let Some(x) = self.txn.next_graph(self.txn.graph(&self.channel), &mut cursor) { - replacement in libpijul/src/pristine/channel_dump.rs at line 352
let t = T::apply_counter(&channel);let t = self.txn.apply_counter(&channel); - replacement in libpijul/src/output/output.rs at line 77
T::graph(channel),txn.graph(channel), - replacement in libpijul/src/output/output.rs at line 86
let dead = collect_dead_files(txn, T::graph(channel), pending_change_id, Inode::ROOT)?;let dead = collect_dead_files(txn, txn.graph(channel), pending_change_id, Inode::ROOT)?; - replacement in libpijul/src/output/output.rs at line 104
txn.get_changeset(T::changes(&channel), u.0.change)txn.get_changeset(txn.changes(&channel), u.0.change) - replacement in libpijul/src/output/output.rs at line 106
.cmp(&txn.get_changeset(T::changes(&channel), v.0.change).unwrap()).cmp(&txn.get_changeset(txn.changes(&channel), v.0.change).unwrap()) - replacement in libpijul/src/output/output.rs at line 168
collect_dead_files(txn, T::graph(channel), pending_change_id, inode)?;collect_dead_files(txn, txn.graph(channel), pending_change_id, inode)?; - replacement in libpijul/src/output/output.rs at line 179
T::graph(channel),txn.graph(channel), - replacement in libpijul/src/output/output.rs at line 311
crate::fs::rec_delete(txn, file_id.clone(), inode, true).map_err(PristineOutputError::Fs)?;crate::fs::rec_delete(txn, file_id.clone(), inode, true).map_err(PristineOutputError::Fs)?; - replacement in libpijul/src/output/output.rs at line 340
let mut l = retrieve(txn, T::graph(channel), output_item.pos)?;let mut l = retrieve(txn, txn.graph(channel), output_item.pos)?; - replacement in libpijul/src/output/output.rs at line 347
let dest = txn.find_block(T::graph(channel), edge.dest).unwrap();let dest = txn.find_block(txn.graph(channel), edge.dest).unwrap(); - replacement in libpijul/src/output/archive.rs at line 137
T::graph(&channel),txn.graph(&channel), - replacement in libpijul/src/output/archive.rs at line 155
txn.get_changeset(T::changes(&channel), u.0.change)txn.get_changeset(txn.changes(&channel), u.0.change) - replacement in libpijul/src/output/archive.rs at line 157
.cmp(&txn.get_changeset(T::changes(&channel), v.0.change).unwrap()).cmp(&txn.get_changeset(txn.changes(&channel), v.0.change).unwrap()) - replacement in libpijul/src/output/archive.rs at line 202
T::graph(&channel),txn.graph(&channel), - replacement in libpijul/src/output/archive.rs at line 211
let mut l = crate::alive::retrieve(txn, T::graph(&channel), output_item.pos)?;let mut l = crate::alive::retrieve(txn, txn.graph(&channel), output_item.pos)?; - replacement in libpijul/src/lib.rs at line 422
self.get_changeset(Self::changes(&channel.borrow()), cid)self.get_changeset(self.changes(&channel.borrow()), cid) - replacement in libpijul/src/lib.rs at line 434
pristine::is_alive(self, Self::graph(channel), a).map_err(|e| e.0)pristine::is_alive(self, self.graph(channel), a).map_err(|e| e.0) - replacement in libpijul/src/lib.rs at line 504
.get_revchangeset(Self::rev_changes(&channel.borrow()), n).get_revchangeset(self.rev_changes(&channel.borrow()), n) - replacement in libpijul/src/lib.rs at line 519
self.get_changeset(Self::changes(&channel.borrow()), h)self.get_changeset(self.changes(&channel.borrow()), h) - replacement in libpijul/src/lib.rs at line 585
let mut graph = alive::retrieve(self, Self::graph(&channel), v0)?;let mut graph = alive::retrieve(self, self.graph(&channel), v0)?; - replacement in libpijul/src/lib.rs at line 618
pristine::iter_adjacent(self, Self::graph(graph), key, min_flag, max_flag)pristine::iter_adjacent(self, self.graph(graph), key, min_flag, max_flag) - replacement in libpijul/src/fs.rs at line 784
for name in iter_adjacent(txn, T::graph(channel), current.inode_vertex(), flag0, flag1)? {for name in iter_adjacent(txn, txn.graph(channel), current.inode_vertex(), flag0, flag1)? { - replacement in libpijul/src/fs.rs at line 786
let name_dest = txn.find_block(T::graph(channel), name.dest).unwrap();let name_dest = txn.find_block(txn.graph(channel), name.dest).unwrap(); - replacement in libpijul/src/fs.rs at line 795
.get_changeset(T::changes(&channel), name.dest.change).get_changeset(txn.changes(&channel), name.dest.change) - replacement in libpijul/src/fs.rs at line 809
current = iter_adjacent(txn, T::graph(channel), next, flag0, flag1)?current = iter_adjacent(txn, txn.graph(channel), next, flag0, flag1)? - replacement in libpijul/src/fs.rs at line 836
let inode_vertex = txn.find_block_end(T::graph(channel), v).unwrap();let inode_vertex = txn.find_block_end(txn.graph(channel), v).unwrap(); - replacement in libpijul/src/fs.rs at line 838
for name in iter_adjacent(txn, T::graph(channel), v.inode_vertex(), flag0, flag1)? {for name in iter_adjacent(txn, txn.graph(channel), v.inode_vertex(), flag0, flag1)? { - replacement in libpijul/src/fs.rs at line 845
.get_changeset(T::changes(&channel), name.dest.change)?.get_changeset(txn.changes(&channel), name.dest.change)? - replacement in libpijul/src/fs.rs at line 848
let name_dest = txn.find_block_end(T::graph(channel), name.dest).unwrap();let name_dest = txn.find_block_end(txn.graph(channel), name.dest).unwrap(); - replacement in libpijul/src/fs.rs at line 851
for e in iter_adjacent(txn, T::graph(channel), name_dest, flag0, flag1)? {for e in iter_adjacent(txn, txn.graph(channel), name_dest, flag0, flag1)? { - replacement in libpijul/src/fs.rs at line 910
if let Some(t) = txn.get_changeset(T::changes(&channel), change)? {if let Some(t) = txn.get_changeset(txn.changes(&channel), change)? { - replacement in libpijul/src/diff/mod.rs at line 67
self.diff_binary(changes, txn, T::graph(channel), path, inode, a, &b)?;self.diff_binary(changes, txn, txn.graph(channel), path, inode, a, &b)?; - replacement in libpijul/src/diff/mod.rs at line 122
T::graph(channel),txn.graph(channel), - replacement in libpijul/src/change.rs at line 232
add_zombie_deps_from(txn, T::graph(channel), &mut zombie_deps, e.from)?;add_zombie_deps_to(txn, T::graph(channel), &mut zombie_deps, e.to)?add_zombie_deps_from(txn, txn.graph(channel), &mut zombie_deps, e.from)?;add_zombie_deps_to(txn, txn.graph(channel), &mut zombie_deps, e.to)? - replacement in libpijul/src/change.rs at line 246
txn.get_changeset(T::changes(&channel), a)txn.get_changeset(txn.changes(&channel), a) - replacement in libpijul/src/change.rs at line 248
.cmp(&txn.get_changeset(T::changes(&channel), b).unwrap()).cmp(&txn.get_changeset(txn.changes(&channel), b).unwrap()) - replacement in libpijul/src/change.rs at line 254
txn.get_changeset(T::changes(&channel), a)txn.get_changeset(txn.changes(&channel), a) - replacement in libpijul/src/change.rs at line 256
.cmp(&txn.get_changeset(T::changes(&channel), b).unwrap()).cmp(&txn.get_changeset(txn.changes(&channel), b).unwrap()) - replacement in libpijul/src/change.rs at line 363
let time = txn.get_changeset(T::changes(&channel), id)?.unwrap();let time = txn.get_changeset(txn.changes(&channel), id)?.unwrap(); - replacement in libpijul/src/change.rs at line 391
let time = if let Some(time) = txn.get_changeset(T::changes(&channel), dep)? {let time = if let Some(time) = txn.get_changeset(txn.changes(&channel), dep)? { - replacement in libpijul/src/change.rs at line 396
T::name(channel),txn.name(channel), - replacement in libpijul/src/apply.rs at line 98
if txn.get_changeset(T::changes(&channel), int)?.is_some() {if txn.get_changeset(txn.changes(&channel), int)?.is_some() { - replacement in libpijul/src/apply.rs at line 145
.get_changeset(T::changes(&channel), change_id)?.get_changeset(txn.changes(&channel), change_id)? - replacement in libpijul/src/apply.rs at line 161
txn.get_changeset(T::changes(&channel), int)?.is_some()txn.get_changeset(txn.changes(&channel), int)?.is_some() - replacement in libpijul/src/apply.rs at line 219
let n = T::apply_counter(channel);let n = txn.apply_counter(channel); - replacement in libpijul/src/apply.rs at line 221
if let Some(m) = txn.put_changes(channel, change_id, T::apply_counter(channel), hash)? {if let Some(m) = txn.put_changes(channel, change_id, txn.apply_counter(channel), hash)? { - replacement in libpijul/src/apply.rs at line 319
if txn.get_changeset(T::changes(&channel), int)?.is_some() {if txn.get_changeset(txn.changes(&channel), int)?.is_some() { - replacement in libpijul/src/apply.rs at line 330
update_inode(txn, T::graph(&channel), internal, update)?;update_inode(txn, &channel, internal, update)?; - replacement in libpijul/src/apply.rs at line 357
fn update_inode<T: GraphTxnT + TreeMutTxnT<TreeError = <T as GraphTxnT>::GraphError>>(fn update_inode<T: ChannelTxnT + TreeMutTxnT<TreeError = <T as GraphTxnT>::GraphError>>( - replacement in libpijul/src/apply.rs at line 359
channel: &T::Graph,channel: &T::Channel, - replacement in libpijul/src/apply.rs at line 371
.get_graph(&channel, vertex.inode_vertex(), None)?.get_graph(txn.graph(channel), vertex.inode_vertex(), None)? - replacement in libpijul/src/alive/output.rs at line 104
txn.get_changeset(T::changes(&channel), graph[*x].vertex.change)?txn.get_changeset(txn.changes(&channel), graph[*x].vertex.change)? - replacement in libpijul/src/alive/output.rs at line 115
.debug(changes, txn, T::graph(channel), false, true, f).debug(changes, txn, txn.graph(channel), false, true, f) - replacement in libpijul/src/alive/output.rs at line 200
graph.collect_forward_edges(txn, T::graph(channel), &scc, &forward_scc, forward)?;graph.collect_forward_edges(txn, txn.graph(channel), &scc, &forward_scc, forward)?;