replacement in "libpijul/src/record.rs" at line 88
[3.489987]→[3.1609:1662](∅→∅) − pub actions: Vec<Hunk<Option<ChangeId>, Local>>,
+ pub actions: Vec<Hunk<Option<ChangeId>, LocalByte>>,
edit in "libpijul/src/record.rs" at line 867
edit in "libpijul/src/record.rs" at line 984
+ }
+
+ pub fn take_updatables(&mut self) -> HashMap<usize, InodeUpdate> {
+ std::mem::replace(&mut self.updatables, HashMap::default())
+ }
+
+
+ pub fn into_change<T: ChannelTxnT + DepsTxnT<DepsError = <T as GraphTxnT>::GraphError>>(
+ self,
+ txn: &T,
+ channel: &ChannelRef<T>,
+ header: crate::change::ChangeHeader,
+ ) -> Result<
+ crate::change::LocalChange<
+ crate::change::Hunk<Option<Hash>, crate::change::Local>,
+ crate::change::Author,
+ >,
+ TxnErr<T::GraphError>,
+ > {
+ let actions = self
+ .actions
+ .into_iter()
+ .map(|rec| rec.globalize(txn).unwrap())
+ .collect();
+ let contents = if let Ok(c) = Arc::try_unwrap(self.contents) {
+ c.into_inner()
+ } else {
+ unreachable!()
+ };
+ Ok(crate::change::LocalChange::make_change(
+ txn,
+ &channel,
+ actions,
+ contents,
+ header,
+ Vec::new(),
+ )?)
replacement in "libpijul/src/diff/replace.rs" at line 4
[3.780074]→[3.0:51](∅→∅),
[3.51]→[3.780127:780197](∅→∅),
[3.2023]→[3.780127:780197](∅→∅),
[3.780127]→[3.780127:780197](∅→∅) − use crate::change::{Atom, Hunk, Local, NewVertex};
− use crate::pristine::{ChangeId, ChangePosition, EdgeFlags, Position};
+ use crate::change::{Atom, Hunk, LocalByte, NewVertex};
+ use crate::pristine::{ChangeId, ChangePosition, EdgeFlags, Position, Inode};
edit in "libpijul/src/diff/replace.rs" at line 35
replacement in "libpijul/src/diff/replace.rs" at line 111
[3.2274]→[3.782892:782919](∅→∅),
[3.86387]→[3.782892:782919](∅→∅),
[3.782892]→[3.782892:782919](∅→∅) edit in "libpijul/src/diff/replace.rs" at line 114
edit in "libpijul/src/diff/mod.rs" at line 131
edit in "libpijul/src/diff/mod.rs" at line 174
edit in "libpijul/src/diff/mod.rs" at line 185
replacement in "libpijul/src/diff/delete.rs" at line 6
[3.805588]→[3.130:190](∅→∅) − use crate::change::{Atom, EdgeMap, Hunk, Local, NewVertex};
+ use crate::change::{Atom, EdgeMap, Hunk, LocalByte, NewVertex};
edit in "libpijul/src/diff/delete.rs" at line 21
replacement in "libpijul/src/diff/delete.rs" at line 26
− self.delete_lines(txn, channel, diff, d, lines_a, lines_b, r, encoding)?;
+ self.delete_lines(txn, channel, diff, d, lines_a, lines_b, inode, r, encoding)?;
edit in "libpijul/src/diff/delete.rs" at line 35
edit in "libpijul/src/diff/delete.rs" at line 59
replacement in "libpijul/src/diff/delete.rs" at line 70
[3.807223]→[3.807223:807254](∅→∅) edit in "libpijul/src/diff/delete.rs" at line 73
replacement in "libpijul/src/diff/delete.rs" at line 85
[3.808117]→[3.808117:808148](∅→∅) edit in "libpijul/src/diff/delete.rs" at line 88
edit in "libpijul/src/diff/delete.rs" at line 235
replacement in "libpijul/src/diff/delete.rs" at line 282
[3.814259]→[3.814259:814286](∅→∅) edit in "libpijul/src/diff/delete.rs" at line 285
edit in "libpijul/src/change.rs" at line 677
+ pub struct LocalByte {
+ pub path: String,
+ pub line: usize,
+ pub inode: Inode,
+ pub byte: Option<usize>,
+ }
+
+ #[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
edit in "libpijul/src/change.rs" at line 688
[3.851125]→[2.549:578](∅→∅) − pub byte: Option<usize>,
replacement in "libpijul/src/change.rs" at line 1105
[2.1542]→[2.1542:1598](∅→∅) − pub fn atom_map<B, E, F: FnMut(A) -> Result<B, E>>(
+ pub fn atom_map<B, E, Loc, F: FnMut(A) -> Result<B, E>, L: FnMut(Local) -> Loc>(
replacement in "libpijul/src/change.rs" at line 1108
[2.1617]→[2.1617:1658](∅→∅) − ) -> Result<BaseHunk<B, Local>, E> {
+ mut l: L,
+ ) -> Result<BaseHunk<B, Loc>, E> {
replacement in "libpijul/src/change.rs" at line 1177
[2.2968]→[3.865735:865758](∅→∅),
[3.122238]→[3.865735:865758](∅→∅),
[3.865735]→[3.865735:865758](∅→∅) replacement in "libpijul/src/change.rs" at line 1188
[2.3129]→[3.866026:866049](∅→∅),
[3.122345]→[3.866026:866049](∅→∅),
[3.866026]→[3.866026:866049](∅→∅) replacement in "libpijul/src/change.rs" at line 1193
[2.3259]→[3.866200:866223](∅→∅),
[3.122394]→[3.866200:866223](∅→∅),
[3.866200]→[3.866200:866223](∅→∅) replacement in "libpijul/src/change.rs" at line 1197
[2.3393]→[3.866378:866401](∅→∅),
[3.122443]→[3.866378:866401](∅→∅),
[3.866378]→[3.866378:866401](∅→∅) replacement in "libpijul/src/change.rs" at line 1205
[2.3518]→[3.866548:866571](∅→∅),
[3.122492]→[3.866548:866571](∅→∅),
[3.866548]→[3.866548:866571](∅→∅) replacement in "libpijul/src/change.rs" at line 1212
[2.3528]→[2.3528:3572](∅→∅) − impl<Local> Hunk<Option<ChangeId>, Local> {
+ impl Hunk<Option<ChangeId>, LocalByte> {
replacement in "libpijul/src/change.rs" at line 1217
[2.3699]→[2.3699:3743](∅→∅) − self.atom_map(|x| x.globalize(txn))
+ self.atom_map(
+ |x| x.globalize(txn),
+ |l| Local { path: l.path, line: l.line }
+ )
edit in "libpijul/src/change/text_changes.rs" at line 719
[3.61420]→[2.3744:3780](∅→∅) edit in "libpijul/src/change/text_changes.rs" at line 738
[3.62075]→[2.3781:3817](∅→∅) edit in "libpijul/src/change/text_changes.rs" at line 862
[3.66364]→[2.3818:3858](∅→∅) edit in "libpijul/src/change/text_changes.rs" at line 872
[3.66801]→[2.3859:3899](∅→∅) edit in "libpijul/src/change/text_changes.rs" at line 889
[3.67507]→[2.3900:3936](∅→∅)