Umask in archives
[?]
Mar 5, 2021, 9:03 AM
WW2EOFBBX6LGMMRKEVGST2SIITJGMK2MTYDAHUTO6QGYPS2JATLQCDependencies
- [2]
YRBOKAWJFormatting (why wasn't this recorded before? I'm not sure) - [3]
3AMEP2Y5More convenient interface for channels - [4]
76PCXGMLPushing to, and pulling from the local repository - [5]
I3OVP3NHArchive: set the accurate and deterministic mtime - [6]
SXEYMYF7Fixing the bad changes in history (unfortunately, by rebooting). - [7]
SECWDBUHAdding empty directories to archives - [8]
CCLLB7OIUpgrading to Sanakirja 0.15 + version bump - [9]
FBZ6LBF3Permissions in archives (since we do not store full permissions anymore) - [10]
UDHP4ZVBFixing SSH asynchronicity issues - [11]
I7VL7VPZMinor cleanup - [12]
Y6EVFMTADon't output files if they aren't in the current channel - [13]
IC45XBAFAdding / at the end of the prefix in `pijul archive` - [14]
VYHHOEYHVersions and formatting - [*]
KI2AFWOSFixing a panic in pull - [*]
AEPEFS7OWrite help for each argument
Change contents
- edit in pijul/src/remote/mod.rs at line 268
umask: u16, - replacement in pijul/src/remote/mod.rs at line 275
let mut tarball = libpijul::output::Tarball::new(w, prefix);let mut tarball = libpijul::output::Tarball::new(w, prefix, umask); - edit in pijul/src/commands/protocol.rs at line 191
0, - edit in pijul/src/commands/archive.rs at line 34[3.191742][17.5762]
/// Append this path in front of each path inside the archive#[clap(long = "umask")]umask: Option<String>, - edit in pijul/src/commands/archive.rs at line 41
const DEFAULT_UMASK: u16 = 0o022; - edit in pijul/src/commands/archive.rs at line 51
let umask = if let Some(ref umask) = self.umask {if umask.len() < 2 {bail!("Invalid umask: {:?}", umask)}let (a, b) = umask.split_at(2);if a != "0o" {bail!("Invalid umask: {:?}", umask)}u16::from_str_radix(b, 8)?} else {DEFAULT_UMASK}; - replacement in pijul/src/commands/archive.rs at line 101
.archive(self.prefix, state.map(|x| (x, &extra[..])), f).archive(self.prefix, state.map(|x| (x, &extra[..])), umask, f) - replacement in pijul/src/commands/archive.rs at line 113
let mut tarball = libpijul::output::Tarball::new(&mut f, self.prefix);let mut tarball = libpijul::output::Tarball::new(&mut f, self.prefix, umask); - edit in libpijul/src/output/archive.rs at line 20
pub umask: u16, - replacement in libpijul/src/output/archive.rs at line 43
pub fn new(w: W, prefix: Option<String>) -> Self {pub fn new(w: W, prefix: Option<String>, umask: u16) -> Self { - edit in libpijul/src/output/archive.rs at line 49
umask, - replacement in libpijul/src/output/archive.rs at line 68
permissions,permissions: permissions & !self.umask, - replacement in libpijul/src/output/archive.rs at line 73
header.set_mode(permissions as u32);header.set_mode((permissions & !self.umask) as u32); - replacement in libpijul/src/output/archive.rs at line 231
arch.create_dir(&path, latest_touch, 0o755)arch.create_dir(&path, latest_touch, 0o777) - replacement in libpijul/src/output/archive.rs at line 238
0o7550o777 - replacement in libpijul/src/output/archive.rs at line 240
0o6440o666