make text_encoding available to all of libpijul
[?]
Dec 18, 2020, 9:17 AM
W4NSLQNGQVQBB4BEXLFW5OTCBD5XQ4E2BGH3WIFGKSJBCODSUIGQCDependencies
- [2]
NYOF5766track file encoding in the record, including change text for file adds - [3]
SXEYMYF7Fixing the bad changes in history (unfortunately, by rebooting). - [4]
VO5OQW4WRemoving anyhow in libpijul - [5]
6HNRL5RTdetect non-utf8 text files - [6]
246V5TYIdecode existing files
Change contents
- edit in libpijul/src/working_copy/mod.rs at line 1
use std::fmt; - edit in libpijul/src/working_copy/mod.rs at line 2
use serde::{de::Visitor, Deserialize, Serialize}; - replacement in libpijul/src/working_copy/mod.rs at line 3
use crate::pristine::InodeMetadata;use crate::{pristine::InodeMetadata, text_encoding::Encoding}; - edit in libpijul/src/working_copy/mod.rs at line 67
}}#[derive(Debug, PartialEq, Eq)]pub struct Encoding(&'static encoding_rs::Encoding);impl Encoding {pub(crate) fn for_label(label: &str) -> Encoding {Encoding(encoding_rs::Encoding::for_label_no_replacement(label.as_bytes()).unwrap())}pub(crate) fn label(&self) -> &str {self.0.name() - edit in libpijul/src/working_copy/mod.rs at line 69[2.946]→[2.946:2007](∅→∅),[2.2007]→[3.1014:1020](∅→∅),[3.1014]→[3.1014:1020](∅→∅),[3.1020]→[3.199207:199209](∅→∅),[3.2100]→[3.199207:199209](∅→∅),[3.199207]→[3.199207:199209](∅→∅)
impl Clone for Encoding {fn clone(&self) -> Self {Encoding(self.0)}}impl Serialize for Encoding {fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>whereS: serde::Serializer,{serializer.serialize_str(self.label())}}struct EncodingVisitor;impl<'de> Deserialize<'de> for Encoding {fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>whereD: serde::Deserializer<'de>,{impl<'de> Visitor<'de> for EncodingVisitor {type Value = Encoding;fn expecting(&self, formatter: &mut fmt::Formatter) -> fmt::Result {formatter.write_str("a string label meeting the encoding standard https://encoding.spec.whatwg.org/#concept-encoding-get")}fn visit_str<E>(self, v: &str) -> Result<Self::Value, E>whereE: serde::de::Error,{Ok(Encoding::for_label(v))}}deserializer.deserialize_str(EncodingVisitor)}} - file un-deletion: text.rs
- edit in libpijul/src/lib.rs at line 27
mod text_encoding; - file un-deletion: mod.rs
- replacement in libpijul/src/change.rs at line 5
use crate::{pristine::*, working_copy::Encoding};use crate::{pristine::*, text_encoding::Encoding};