file encoding in updates
[?]
Mar 6, 2021, 8:52 AM
XR7MNOMU5PMOOEY2EPPUABZ7NOP432RDCWUET23ONPXTT3JQIFIACDependencies
- [2]
PDTUHOMVfix left over conflicts - [3]
XSEODPNEFixing conflicts - [4]
Q3GU26WDmerge with changes from sanakirja v1.1.2 - [5]
VO5OQW4WRemoving anyhow in libpijul - [6]
X243Z3Y5Recording only the required metadata (can even be changed later!) - [7]
KVBLRDOUConcatenating edits with order conflict resolutions (if relevant), and parsing the text format of the result - [8]
CCFJ7VO3Renaming "Record" to "Hunk" in the changes - [9]
W4NSLQNGmake text_encoding available to all of libpijul - [10]
3AMEP2Y5More convenient interface for channels - [11]
KJDQ2WOMFixing the parsing of section headers in the text change format - [12]
JRSBH6HTIdentification of line numbers in replacements - [13]
GHO6DWPIRefactoring iterators - [14]
WZVCLZKYaddress clippy lints - [15]
QNJBR73Kdon't return Result for infallible functions - [16]
SXEYMYF7Fixing the bad changes in history (unfortunately, by rebooting). - [17]
YN63NUZOSanakirja 1.0 - [18]
BZCGXVS7Fixing two bugs around conflicts on the last line, where invalid patches were produced (first bug) and applied (second bug) - [19]
EAZ45JTFFixing a bug in change printing - [20]
CCLLB7OIUpgrading to Sanakirja 0.15 + version bump - [21]
6HNRL5RTdetect non-utf8 text files - [22]
246V5TYIdecode existing files - [23]
NYOF5766track file encoding in the record, including change text for file adds - [24]
CIEUBH46Fixing an index-out-of-bounds error when serialising bad changes - [25]
ZRUPLBBTColours in diff and change: separating concerns and dependencies - [26]
UM5DLRPBstore new non-UTF-8 files raw and decode to deplay the contents - [27]
YTQS4ES3Fixing a parsing problem (related to permissions), and the associated permissions
Change contents
- replacement in libpijul/src/working_copy/mod.rs at line 3
use crate::{pristine::InodeMetadata, text_encoding::Encoding};use crate::pristine::InodeMetadata;use crate::text_encoding::Encoding; - replacement in libpijul/src/record.rs at line 451
working_copylet encoding = working_copy - edit in libpijul/src/record.rs at line 465
&encoding, - edit in libpijul/src/diff/replace.rs at line 7
use crate::text_encoding::Encoding; - edit in libpijul/src/diff/replace.rs at line 37
encoding: &Option<Encoding>, - replacement in libpijul/src/diff/replace.rs at line 79
Some(Hunk::Edit { change: c, local }) => {Some(Hunk::Edit {change: c, local, ..}) => { - edit in libpijul/src/diff/replace.rs at line 87
encoding: encoding.clone(), - replacement in libpijul/src/diff/replace.rs at line 91
self.rec.actions.push(Hunk::Edit { change: c, local })self.rec.actions.push(Hunk::Edit {change: c,local,encoding: encoding.clone(),}) - edit in libpijul/src/diff/replace.rs at line 108
encoding: encoding.clone(), - edit in libpijul/src/diff/mod.rs at line 5
use crate::text_encoding::Encoding; - edit in libpijul/src/diff/mod.rs at line 62
encoding: &Option<Encoding>, - replacement in libpijul/src/diff/mod.rs at line 67
// TODO pass through the encodings and use that to decidelet mime_a = tree_magic_mini::from_u8(&d.contents_a);let mime_b = tree_magic_mini::from_u8(&b);debug!("mimes = {:?}, {:?}", mime_a, mime_b);if (!mime_a.starts_with("text/") || !mime_b.starts_with("text/")) && d.contents_a != b {// TODO pass through both encodings and use that to decideif encoding.is_none() { - edit in libpijul/src/diff/mod.rs at line 131
encoding, - replacement in libpijul/src/diff/mod.rs at line 135
self.replace(&d, &mut conflict_contexts, &lines_a, &lines_b, &dd, r);self.replace(&d,&mut conflict_contexts,&lines_a,&lines_b,&dd,r,encoding,); - edit in libpijul/src/diff/mod.rs at line 218
encoding: None, - edit in libpijul/src/diff/mod.rs at line 232
encoding: None, - edit in libpijul/src/diff/delete.rs at line 9
use crate::text_encoding::Encoding; - edit in libpijul/src/diff/delete.rs at line 22
encoding: &Option<Encoding>, - replacement in libpijul/src/diff/delete.rs at line 25
self.delete_lines(txn, channel, diff, d, lines_a, r)?;self.delete_lines(txn, channel, diff, d, lines_a, r, encoding)?; - edit in libpijul/src/diff/delete.rs at line 57
encoding: &Option<Encoding>, - edit in libpijul/src/diff/delete.rs at line 70
encoding: encoding.clone(), - edit in libpijul/src/diff/delete.rs at line 83
encoding: encoding.clone(), - replacement in libpijul/src/change.rs at line 5
use crate::{pristine::*, text_encoding::Encoding};use crate::pristine::*;use crate::text_encoding::Encoding; - replacement in libpijul/src/change.rs at line 613
Hunk::Edit { change, local } => Hunk::Edit {Hunk::Edit {change,local,encoding,} => Hunk::Edit { - edit in libpijul/src/change.rs at line 620
encoding: encoding.clone(), - edit in libpijul/src/change.rs at line 626
encoding, - edit in libpijul/src/change.rs at line 631
encoding: encoding.clone(), - replacement in libpijul/src/change.rs at line 641
Hunk::ResurrectZombies { change, local } => Hunk::Edit {Hunk::ResurrectZombies {change,local,encoding,} => Hunk::Edit { - edit in libpijul/src/change.rs at line 648
encoding: encoding.clone(), - edit in libpijul/src/change.rs at line 716
encoding: Option<Encoding>, - edit in libpijul/src/change.rs at line 722
encoding: Option<Encoding>, - edit in libpijul/src/change.rs at line 735
encoding: Option<Encoding>, - replacement in libpijul/src/change.rs at line 1142
Hunk::Edit { change, local } => Hunk::Edit {Hunk::Edit {change,local,encoding,} => Hunk::Edit { - edit in libpijul/src/change.rs at line 1149
encoding, - edit in libpijul/src/change.rs at line 1155
encoding, - edit in libpijul/src/change.rs at line 1160
encoding, - replacement in libpijul/src/change.rs at line 1170
Hunk::ResurrectZombies { change, local } => Hunk::ResurrectZombies {Hunk::ResurrectZombies {change,local,encoding,} => Hunk::ResurrectZombies { - edit in libpijul/src/change.rs at line 1177
encoding, - edit in libpijul/src/change/text_changes.rs at line 4
use regex::Captures; - replacement in libpijul/src/change/text_changes.rs at line 386
print_change_contents(w, changes, contents, change_contents)?;print_change_contents(w, changes, contents, change_contents, &None)?; - replacement in libpijul/src/change/text_changes.rs at line 403
print_change_contents(w, changes, contents, change_contents)?;print_change_contents(w, changes, contents, change_contents, &None)?; - edit in libpijul/src/change/text_changes.rs at line 429
};let encoding_label = match encoding {Some(encoding) => encoding.label(),_ => BINARY_LABEL, - replacement in libpijul/src/change/text_changes.rs at line 442
encoding_labelencoding_label(encoding) - replacement in libpijul/src/change/text_changes.rs at line 459
Hunk::Edit { change, local } => {Hunk::Edit {change,local,encoding,} => { - edit in libpijul/src/change/text_changes.rs at line 467
write!(w, " {:?}", encoding_label(encoding))?; - replacement in libpijul/src/change/text_changes.rs at line 470
print_change_contents(w, changes, change, change_contents)?;print_change_contents(w, changes, change, change_contents, encoding)?; - edit in libpijul/src/change/text_changes.rs at line 476
encoding, - edit in libpijul/src/change/text_changes.rs at line 481
write!(w, " {:?}", encoding_label(encoding))?; - replacement in libpijul/src/change/text_changes.rs at line 485
print_change_contents(w, changes, change, change_contents)?;print_change_contents(w, changes, replacement, change_contents)?;print_change_contents(w, changes, change, change_contents, encoding)?;print_change_contents(w, changes, replacement, change_contents, encoding)?; - replacement in libpijul/src/change/text_changes.rs at line 514
print_change_contents(w, changes, change, change_contents)?;print_change_contents(w, changes, change, change_contents, &None)?; - replacement in libpijul/src/change/text_changes.rs at line 526
print_change_contents(w, changes, change, change_contents)?;print_change_contents(w, changes, change, change_contents, &None)?; - replacement in libpijul/src/change/text_changes.rs at line 528
Hunk::ResurrectZombies { change, local } => {Hunk::ResurrectZombies {change,local,encoding,} => { - edit in libpijul/src/change/text_changes.rs at line 540
write!(w, " {:?}", encoding_label(encoding))?; - replacement in libpijul/src/change/text_changes.rs at line 543
print_change_contents(w, changes, change, change_contents)?;print_change_contents(w, changes, change, change_contents, &None)?; - edit in libpijul/src/change/text_changes.rs at line 547
}}fn encoding_label(encoding: &Option<Encoding>) -> &str {match encoding {Some(encoding) => encoding.label(),_ => BINARY_LABEL, - replacement in libpijul/src/change/text_changes.rs at line 570
Regex::new(r#"^(?P<n>\d+)\. File addition: "(?P<name>[^"]*)" in "(?P<parent>[^"]*)"(?P<perm> [^ ]+)? "(?P<encoding>[^"]*)"#).unwrap();Regex::new(r#"^(?P<n>\d+)\. File addition: "(?P<name>[^"]*)" in "(?P<parent>[^"]*)"(?P<perm> [^ ]+)? "(?P<encoding>[^"]*)""#).unwrap(); - replacement in libpijul/src/change/text_changes.rs at line 572
Regex::new(r#"^([0-9]+)\. Edit in ([^:]+):(\d+) (\d+\.\d+)"#).unwrap();Regex::new(r#"^([0-9]+)\. Edit in ([^:]+):(\d+) (\d+\.\d+) "(?P<encoding>[^"]*)""#).unwrap(); - replacement in libpijul/src/change/text_changes.rs at line 574
Regex::new(r#"^([0-9]+)\. Replacement in ([^:]+):(\d+) (\d+\.\d+)"#).unwrap();Regex::new(r#"^([0-9]+)\. Replacement in ([^:]+):(\d+) (\d+\.\d+) "(?P<encoding>[^"]*)""#).unwrap(); - replacement in libpijul/src/change/text_changes.rs at line 591
Regex::new(r#"^([0-9]+)\. Resurrecting zombie lines in (?P<path>"[^"]+"):(?P<line>\d+) (?P<inode>\d+\.\d+)"#)Regex::new(r#"^([0-9]+)\. Resurrecting zombie lines in (?P<path>"[^"]+"):(?P<line>\d+) (?P<inode>\d+\.\d+) "(?P<encoding>[^"]*)""#) - edit in libpijul/src/change/text_changes.rs at line 647
let encoding_label = cap.name("encoding").unwrap().as_str();let encoding = if encoding_label != BINARY_LABEL {Some(Encoding::for_label(encoding_label))} else {None}; - replacement in libpijul/src/change/text_changes.rs at line 654
encoding,encoding: encoding_from_label(cap), - edit in libpijul/src/change/text_changes.rs at line 673
encoding: encoding_from_label(cap), - edit in libpijul/src/change/text_changes.rs at line 692
encoding: encoding_from_label(cap), - edit in libpijul/src/change/text_changes.rs at line 838
encoding: encoding_from_label(cap), - edit in libpijul/src/change/text_changes.rs at line 1102
}}fn encoding_from_label(cap: Captures) -> Option<Encoding> {let encoding_label = cap.name("encoding").unwrap().as_str();if encoding_label != BINARY_LABEL {Some(Encoding::for_label(encoding_label))} else {None - edit in libpijul/src/change/text_changes.rs at line 1296
encoding: &Option<Encoding>, - replacement in libpijul/src/change/text_changes.rs at line 1301
print_contents(w, "+", c, &None)?;print_contents(w, "+", c, encoding)?; - replacement in libpijul/src/change/text_changes.rs at line 1319
print_contents(w, "-", &buf[..], &None)?;print_contents(w, "-", &buf[..], &encoding)?;