Concatenating edits with order conflict resolutions (if relevant), and parsing the text format of the result
[?]
Nov 27, 2020, 11:18 AM
KVBLRDOUFRYB6BPOQJDD7OVBYMTTPDAUX7CJ5DC3U7WFRI5OLWRACDependencies
- [2]
SXEYMYF7Fixing the bad changes in history (unfortunately, by rebooting). - [3]
I52XSRUHMassive cleanup, and simplification - [4]
JRSBH6HTIdentification of line numbers in replacements - [5]
ISQJRA3OFixing the parsing of zombie resurrection in the change text format
Change contents
- replacement in libpijul/src/diff/replace.rs at line 62
let change = Atom::NewVertex(NewVertex {let change = NewVertex { - replacement in libpijul/src/diff/replace.rs at line 69
});}; - replacement in libpijul/src/diff/replace.rs at line 78
replacement: change,replacement: Atom::NewVertex(change), - edit in libpijul/src/diff/replace.rs at line 83
}}Some(Record::SolveOrderConflict { change: c, local }) => {// If the last record solved a conflict, replace// the empty "solving" line with this change.if change.up_context.len() == 1 && change.up_context[0].change.is_none() {if let Atom::NewVertex(mut c) = c {c.down_context.extend(change.down_context.into_iter());c.start = change.start;c.end = change.end;self.rec.actions.push(Record::SolveOrderConflict {change: Atom::NewVertex(c),local,});return Ok(());}} else {self.rec.actions.push(Record::SolveOrderConflict { change: c, local }) - replacement in libpijul/src/diff/replace.rs at line 114
change,change: Atom::NewVertex(change), - edit in libpijul/src/change.rs at line 1795
print_change_contents(&mut w, changes, change, change_contents)?; - edit in libpijul/src/change.rs at line 1806
print_change_contents(&mut w, changes, change, change_contents)?; - edit in libpijul/src/change.rs at line 1817
print_change_contents(&mut w, changes, change, change_contents)?; - edit in libpijul/src/change.rs at line 2257
}if h.starts_with("+") {text_changes::parse_line_add(h, repl, contents_) - edit in libpijul/src/change.rs at line 2258
text_changes::parse_line_add(h, repl, contents_) - replacement in libpijul/src/change.rs at line 2295
if let Some(cap) = CONTEXT.captures(h) {if h.starts_with("+ ") {if let Atom::NewVertex(ref mut change) = change {if change.start == change.end {change.start = ChangePosition(contents_.len() as u64);}text_changes::parse_line_add(h, change, contents_)}} else if let Some(cap) = CONTEXT.captures(h) { - replacement in libpijul/src/change.rs at line 2310
change.start = ChangePosition(contents_.len() as u64);change.end = ChangePosition(contents_.len() as u64);if let (Some(new_start), Some(new_end)) = (cap.get(4), cap.get(5)) {let new_start = new_start.as_str().parse::<u64>().unwrap();let new_end = new_end.as_str().parse::<u64>().unwrap();change.start = ChangePosition(contents_.len() as u64);change.end =ChangePosition(contents_.len() as u64 + new_end - new_start);offsets.insert(new_end, change.end);}