Formatting
[?]
Jun 1, 2021, 5:09 PM
RRCSHAYZ6RLWVPNYHF2F5FSRL2KKJNPQUQRIJYLJGB23BZQQ7JLQCDependencies
- [2]
LCMHN5MIFixing an optimisation in reset where files not modified since the last output are not output again - [3]
VSOT2QH5Fixing channel drop (cleanup in other tables + order of reference drop) - [4]
MOPABMFWFixing a deadlock in working_copy::memory (used only in tests for now) - [5]
V3HHWF4QCommit function in libpijul - [6]
AD6M434Ofind_alive performance (matters a lot for unrecord) - [7]
LERRJNFCFixing the text change version of "FileMove" to include the former path - [8]
AAXP2534Tags: completing the subcommand - [9]
IXC43DSHFixing a bug in unrecord - [10]
KLBWKCUZuse ssh url syntax like git - [11]
352WW5FPFixing a bug when deleting conflict resolutions - [12]
2RXOCWUWMaking libpijul deterministic (and getting rid of `rand`) - [13]
3NZS5KNWMaking UnrecordError public - [14]
5GYRDN47Error cleanup in libpijul - [15]
SHSJ3Y53Fixing more tests - [16]
VNBLGT6GDo not output unmodified files when resetting (fix) - [17]
3AMEP2Y5More convenient interface for channels - [18]
IYJZVLETCleaning up the literate programming bits - [19]
SZWBLWZ4Reading ~/.ssh/config - [20]
KQTD46KVUnrecord: restore files *after* having unapplied the *entire* change - [21]
G6S6PWZEDo not touch the channel if this is a partial record - [22]
5SLOJYHGFixing the Git feature - [23]
NYOF5766track file encoding in the record, including change text for file adds - [24]
GDDYJH7Afix encoded file add - [25]
X7OHUPL5Fixing a bug in unrecord, and fixing the tests - [26]
TVVW53HZConflict resolution - [27]
SXEYMYF7Fixing the bad changes in history (unfortunately, by rebooting). - [28]
QNJBR73Kdon't return Result for infallible functions - [29]
5BRU2RRWCleanup (debugging a crash related to trees/inodes) - [30]
VO5OQW4WRemoving anyhow in libpijul - [31]
TVHECUPYFixing an unwrap on bad patches in unrecord (these patches cannot even be produced outside of bugs) - [32]
MDBC27ZUFixing a bug when unrecording directory deletions (the "directory marker" in the tree table was not set) - [33]
4NNR32V6conflicts - [34]
XR7MNOMUfile encoding in updates - [35]
ZSF3YFZTencoded file deletion - [36]
BD5PC25ADeleting conflict resolution vertices when the sides are deleted - [37]
NGCTMCDPcleaning up the deps and revdeps of unused changes after a channel drop - [38]
GHO6DWPIRefactoring iterators - [39]
3S6LU2U5abstract out FileMetadata (de)serialistion - [40]
QL6K2ZM3Tags - [41]
I24UEJQLVarious post-fire fixes - [42]
P6WE7YKLUnrecord did not check whether a file already existed before adding it back - [43]
Q3GU26WDmerge with changes from sanakirja v1.1.2 - [44]
G6YXRFH2Channel drop with tags - [45]
TIPZ7UXNStarted fixing the tests for parallel record/output - [46]
YN63NUZOSanakirja 1.0 - [47]
CCLLB7OIUpgrading to Sanakirja 0.15 + version bump - [*]
L4JXJHWXpijul/*: reorganize imports and remove extern crate
Change contents
- replacement in pijul/src/remote/ssh.rs at line 62
let p = cap.name("path0").unwrap_or_else(|| cap.name("path1").unwrap_or_else(|| cap.name("path2").unwrap())).as_str();let p = cap.name("path0").unwrap_or_else(|| {cap.name("path1").unwrap_or_else(|| cap.name("path2").unwrap())}).as_str(); - replacement in pijul/src/remote/ssh.rs at line 71
}else {} else { - replacement in pijul/src/remote/ssh.rs at line 247
pub fn load_secret_key(key_path: &Path, k: &str) -> Option<thrussh_keys::key::KeyPair> {match thrussh_keys::load_secret_key(&key_path, None) {pub fn load_secret_key<P: AsRef<Path>>(key_path: P, k: &str) -> Option<thrussh_keys::key::KeyPair> {match thrussh_keys::load_secret_key(key_path.as_ref(), None) { - edit in pijul/src/remote/local.rs at line 5[49.535][16.9780]
use anyhow::bail; - edit in pijul/src/commands/record.rs at line 377
debug!("write change"); - edit in pijul/src/commands/record.rs at line 379
debug!("write change done"); - replacement in libpijul/src/working_copy/memory.rs at line 300
if let Inode::File { ref mut contents, .. } = f {if let Inode::File {ref mut contents, ..} = f{ - replacement in libpijul/src/working_copy/memory.rs at line 307
})}); - replacement in libpijul/src/unrecord/working_copy.rs at line 68
continuecontinue; - replacement in libpijul/src/unrecord/working_copy.rs at line 111
let FileMetadata { basename, metadata, .. } = changeslet FileMetadata {basename, metadata, ..} = changes - replacement in libpijul/src/unrecord/mod.rs at line 197
working_copy::undo_file_deletion(txn, changes, channel, change_id, newedges, salt)?working_copy::undo_file_deletion(txn, changes, channel, change_id, newedges, salt,)? - replacement in libpijul/src/unrecord/mod.rs at line 375
let mut source = crate::apply::edge::find_source_vertex(txn, channel, &n.from, change_id, newedges.inode, n.flag, &mut ws.apply)?;let mut target = crate::apply::edge::find_target_vertex(txn, channel, &n.to, change_id, newedges.inode, n.flag, &mut ws.apply)?;let mut source = crate::apply::edge::find_source_vertex(txn,channel,&n.from,change_id,newedges.inode,n.flag,&mut ws.apply,)?;let mut target = crate::apply::edge::find_target_vertex(txn,channel,&n.to,change_id,newedges.inode,n.flag,&mut ws.apply,)?; - replacement in libpijul/src/unrecord/mod.rs at line 396
if must_reintroduce(txn, channel, changes, source, target, intro_ext, intro, change_id)? {if must_reintroduce(txn, channel, changes, source, target, intro_ext, intro, change_id,)? { - resurrect zombie in "libpijul/src/tests/mod.rs" at line 99
store: &P, - resurrect zombie in "libpijul/src/tests/mod.rs" at line 102
prefix: &str,) -> Result<Hash, anyhow::Error>where - resurrect zombie in "libpijul/src/tests/mod.rs" at line 108
R::Error: Send + Sync + 'static,{ - edit in libpijul/src/record.rs at line 9
use crate::{alive::retrieve, text_encoding::Encoding};use crate::{change::*, changestore::FileMetadata}; - edit in libpijul/src/record.rs at line 14[16.40928]→[16.731:731](∅→∅),[16.731]→[16.1496:1551](∅→∅),[16.489199]→[16.1496:1551](∅→∅),[16.1551]→[16.73:124](∅→∅),[16.489199]→[16.73:124](∅→∅)
use crate::{alive::retrieve, text_encoding::Encoding};use crate::{change::*, changestore::FileMetadata}; - replacement in libpijul/src/record.rs at line 58
crate::output:: FileError::Txn(t) => RecordError::Txn(t),crate::output::FileError::Txn(t) => RecordError::Txn(t), - replacement in libpijul/src/record.rs at line 613
rec.record_deleted_file(txn, txn.graph(channel), working_copy, &full_path, *vertex, changes)?rec.record_deleted_file(txn,txn.graph(channel),working_copy,&full_path,*vertex,changes,)? - replacement in libpijul/src/record.rs at line 982
path: crate::fs::find_path(changes, txn, channel, true, vertex)?.unwrap().0,path: crate::fs::find_path(changes, txn, channel, true, vertex)?.unwrap().0, - replacement in libpijul/src/pristine/sanakirja.rs at line 1868
if self.channel_has_state(&chan.states, &p.b).map_err(|e| e.0)?.is_some() {break 'outerif self.channel_has_state(&chan.states, &p.b).map_err(|e| e.0)?.is_some(){break 'outer; - replacement in libpijul/src/pristine/sanakirja.rs at line 1875
if self.get_changeset(&chan.changes, &p.a).map_err(|e| e.0)?.is_some() {continue 'outerif self.get_changeset(&chan.changes, &p.a).map_err(|e| e.0)?.is_some(){continue 'outer; - replacement in libpijul/src/pristine/sanakirja.rs at line 1890
breakbreak; - replacement in libpijul/src/pristine/mod.rs at line 375
) -> Result<Cursor<Self, &Self, Self::TagsCursor, L64, SerializedHash>,TxnErr<Self::GraphError>,>;) -> Result<Cursor<Self, &Self, Self::TagsCursor, L64, SerializedHash>, TxnErr<Self::GraphError>>; - replacement in libpijul/src/pristine/inode.rs at line 6
use byteorder::{ByteOrder, BigEndian};use byteorder::{BigEndian, ByteOrder}; - replacement in libpijul/src/output/output.rs at line 360
return last.duration_since(m).is_ok()return last.duration_since(m).is_ok(); - replacement in libpijul/src/output/output.rs at line 402
unsafe {*(c.as_mut_ptr() as *mut Position<ChangeId>) = output_item.pos}unsafe { *(c.as_mut_ptr() as *mut Position<ChangeId>) = output_item.pos } - replacement in libpijul/src/lib.rs at line 43
pub struct ParseError { s: String }pub struct ParseError {s: String,} - edit in libpijul/src/lib.rs at line 63
pub use crate::unrecord::UnrecordError; - edit in libpijul/src/lib.rs at line 71
pub use crate::unrecord::UnrecordError; - replacement in libpijul/src/lib.rs at line 75[12.4100]→[16.83668:83693](∅→∅),[16.83668]→[16.83668:83693](∅→∅),[16.83693]→[12.4101:4146](∅→∅),[12.4146]→[16.83782:83804](∅→∅),[16.83782]→[16.83782:83804](∅→∅),[16.83804]→[12.4147:4189](∅→∅)
pub type HashMap<K, V> =std::collections::HashMap<K, V, Hasher>;pub type HashSet<K> =std::collections::HashSet<K, Hasher>;pub type HashMap<K, V> = std::collections::HashMap<K, V, Hasher>;pub type HashSet<K> = std::collections::HashSet<K, Hasher>; - replacement in libpijul/src/lib.rs at line 84
pub fn commit<T: pristine::MutTxnT>(txn: std::sync::Arc<std::sync::RwLock<T>>) -> Result<(), T::GraphError> {pub fn commit<T: pristine::MutTxnT>(txn: std::sync::Arc<std::sync::RwLock<T>>,) -> Result<(), T::GraphError> { - replacement in libpijul/src/lib.rs at line 301
fn add(&mut self, path: &str, is_dir: bool, salt: u64) -> Result<(), fs::FsError<Self::GraphError>> {fn add(&mut self,path: &str,is_dir: bool,salt: u64,) -> Result<(), fs::FsError<Self::GraphError>> { - replacement in libpijul/src/lib.rs at line 310
fn move_file(&mut self, a: &str, b: &str, salt: u64) -> Result<(), fs::FsError<Self::GraphError>> {fn move_file(&mut self,a: &str,b: &str,salt: u64,) -> Result<(), fs::FsError<Self::GraphError>> { - replacement in libpijul/src/fs.rs at line 61
pub(crate) fn create_new_inode<T: TreeMutTxnT>(txn: &mut T, parent_id: &PathId, salt: u64) -> Result<Inode, TxnErr<T::TreeError>> {pub(crate) fn create_new_inode<T: TreeMutTxnT>(txn: &mut T,parent_id: &PathId,salt: u64,) -> Result<Inode, TxnErr<T::TreeError>> { - replacement in libpijul/src/find_alive.rs at line 9
let mut stack = vec![(SerializedEdge::empty(vertex0.start_pos(), ChangeId::ROOT), 0)];let mut stack = vec![(SerializedEdge::empty(vertex0.start_pos(), ChangeId::ROOT),0,)]; - replacement in libpijul/src/find_alive.rs at line 35
return Ok(alive)return Ok(alive); - edit in libpijul/src/diff/replace.rs at line 7
use crate::{HashMap, HashSet}; - edit in libpijul/src/diff/replace.rs at line 8
use crate::{HashMap, HashSet}; - edit in libpijul/src/diff/delete.rs at line 24
self.delete_lines(txn, channel, diff, d, lines_a, r, encoding)?; - resurrect zombie in "libpijul/src/diff/delete.rs" at line 24
debug!("delete {:?}: {:?}", r, d[r]); - edit in libpijul/src/diff/delete.rs at line 25
self.delete_lines(txn, channel, diff, d, lines_a, r, encoding)?; - replacement in libpijul/src/diff/delete.rs at line 107
debug!("first_vertex = {:?}, vertex = {:?}", first_vertex, diff.pos_a[first_vertex].vertex);debug!("first_vertex = {:?}, vertex = {:?}",first_vertex, diff.pos_a[first_vertex].vertex); - edit in libpijul/src/changestore/mod.rs at line 100
debug!("filemetadata read: {:?}", buf); - replacement in libpijul/src/changestore/mod.rs at line 104
pub fn write(&self, w: &mut Vec<u8>) {pub fn write(&self, mut w: &mut Vec<u8>) { - replacement in libpijul/src/changestore/mod.rs at line 106
bincode::serialize_into(w, self).unwrap()let l = w.len();bincode::serialize_into(&mut w, self).unwrap();debug!("filemetadata write: {:?}", &w[l..]); - edit in libpijul/src/change.rs at line 4
use chrono::{DateTime, Utc}; - edit in libpijul/src/change.rs at line 6
use chrono::{DateTime, Utc}; - edit in libpijul/src/change/text_changes.rs at line 426
debug!("add_name {:?}", n); - replacement in libpijul/src/apply.rs at line 117[16.94973]→[16.94973:94986](∅→∅),[16.94986]→[16.6197:6214](∅→∅),[16.6214]→[16.95008:95077](∅→∅),[16.95008]→[16.95008:95077](∅→∅)
txn,channel,internal,&hash,&change,workspace,txn, channel, internal, &hash, &change, workspace, - edit in libpijul/src/apply.rs at line 348