diff --git a/patchparser/.rustsec-ignore.txt b/patchparser/.rustsec-ignore.txt index 2ec959a..4c46f4c 120000 --- a/patchparser/.rustsec-ignore.txt +++ b/patchparser/.rustsec-ignore.txt @@ -1 +1 @@ -../.rustsec-ignore.txt \ No newline at end of file +../split-patch/.rustsec-ignore.txt \ No newline at end of file diff --git a/patchparser/src/anyhow_once.rs b/patchparser/src/anyhow_once.rs index 5aaf144..73dc206 100644 --- a/patchparser/src/anyhow_once.rs +++ b/patchparser/src/anyhow_once.rs @@ -6,9 +6,9 @@ use anyhow::anyhow; /// generic error /// /// This is a work-around for the issue with lazy wrappers that errors -/// must be stored, but anyhow::Error does not implement Clone, and -/// Arc is not anyhow-compatible (i.e. cannot be used -/// with .context) +/// must be stored, but `anyhow::Error` does not implement `Clone`, +/// and `Arc` is not anyhow-compatible (i.e. cannot be +/// used with .context) pub struct AnyhowOnce(Mutex>); impl From for AnyhowOnce { @@ -18,6 +18,7 @@ impl From for AnyhowOnce { } impl AnyhowOnce { + /// Remove the error, or panics if called a second time. pub fn take(&self) -> anyhow::Error { let mut guard = self.0.lock().expect("no panics"); if let Some(e) = guard.take() { diff --git a/patchparser/src/bumpalo_bstring.rs b/patchparser/src/bumpalo_bstring.rs index 6aa6b6a..1911594 100644 --- a/patchparser/src/bumpalo_bstring.rs +++ b/patchparser/src/bumpalo_bstring.rs @@ -11,6 +11,7 @@ impl<'bump> BString<'bump> { Self(Vec::new_in(bump)) } + #[must_use] pub fn into_bump_slice(self) -> &'bump BStr { self.0.into_bump_slice().as_ref() } diff --git a/patchparser/src/bumpalo_cow.rs b/patchparser/src/bumpalo_cow.rs index 27f90f5..c9a35f2 100644 --- a/patchparser/src/bumpalo_cow.rs +++ b/patchparser/src/bumpalo_cow.rs @@ -23,13 +23,20 @@ pub trait ToOwnedIn<'b> { // Also see `ReborrowIn` pub trait CloneIn<'b>: Sized { + #[must_use] fn clone_in(&self, bump: &'b Bump) -> Self; fn clone_from_in(&mut self, source: &Self, bump: &'b Bump) // where // Self: ~const Destruct, { - *self = source.clone_in(bump) + *self = source.clone_in(bump); + } +} + +impl<'a, T> CloneIn<'a> for &'a T { + fn clone_in(&self, _bump: &'a Bump) -> Self { + self } } diff --git a/patchparser/src/bumpalo_utils.rs b/patchparser/src/bumpalo_utils.rs index f18d0ac..95ad3fa 100644 --- a/patchparser/src/bumpalo_utils.rs +++ b/patchparser/src/bumpalo_utils.rs @@ -67,3 +67,30 @@ fn t_split_before() { [vec!["@a"], vec!["@b"], vec!["@c", "d"], vec!["@e"],] ); } + +/// Variant of `split_before_in` that stops on errors +pub fn try_split_before_in<'a, 'b, T, G, E>( + items: &'a [T], + mut is_boundary: impl FnMut(&'a T) -> bool, + mut group_constructor: impl FnMut(&'a [T]) -> Result, + bump: &'b Bump, +) -> Result, E> { + let mut finish_group = |groups: &mut bc::Vec, current_group: &'a [T]| -> Result<(), E> { + if !current_group.is_empty() { + groups.push(group_constructor(current_group)?); + } + Ok(()) + }; + + let mut groups = bc::Vec::new_in(bump); + let mut current_group_start = 0; + for (i, item) in items.iter().enumerate() { + if is_boundary(item) { + finish_group(&mut groups, &items[current_group_start..i])?; + current_group_start = i; + } + } + finish_group(&mut groups, &items[current_group_start..])?; + + Ok(groups) +} diff --git a/patchparser/src/format_binary.rs b/patchparser/src/format_binary.rs index acc968c..d9ecc32 100644 --- a/patchparser/src/format_binary.rs +++ b/patchparser/src/format_binary.rs @@ -1,4 +1,4 @@ -//! A bit of a hack to make creating BString instances easier, from a +//! A bit of a hack to make creating `BString` instances easier, from a //! mix of byte sequences and Display and Debug based format strings. //! //! Does not allocate, although it does use some indirections (could @@ -130,7 +130,7 @@ macro_rules! ___make_bstring { /// Usage: use `+` to join segments, each of which can either be a /// format string instance in round parens (which can only deal with /// proper strings), or between curly braces any expression that -/// evaluates to a byte slice / vector or BStr / BString or normal +/// evaluates to a byte slice / vector or `BStr` / `BString` or normal /// string, which is then added directly as bytes. /// /// See example in the module docs. diff --git a/patchparser/src/from_lines.rs b/patchparser/src/from_lines.rs index 1fa32dc..eb78ede 100644 --- a/patchparser/src/from_lines.rs +++ b/patchparser/src/from_lines.rs @@ -2,6 +2,11 @@ use bumpalo::Bump; use crate::line::Line; +/// This trait is somewhat obsolete, because often more information is +/// needed (e.g. for how to check parsing inconsistencies), thus other +/// `from_lines` methods are implemented outside the trait now; also +/// it was originally for converting stringified representations +/// automatically back, but that has been removed. pub trait FromLines<'t>: Sized { fn from_lines(lines: &'t [Line<'t>], bump: &'t Bump) -> Result; } diff --git a/patchparser/src/line.rs b/patchparser/src/line.rs index 20e6d1b..4d8f65e 100644 --- a/patchparser/src/line.rs +++ b/patchparser/src/line.rs @@ -88,6 +88,16 @@ impl<'a> Line<'a> { self.line_no0 = usize::MAX; } + /// Keep the original line number; only use for slicing, not new + /// content, or errors would be confusing. + #[must_use] + pub fn with_changed_contents<'b>(&self, contents: &'b BStr) -> Line<'b> { + Line { + line_no0: self.line_no0, + contents, + } + } + /// 0-based line number; None if the line was generated (has no location) pub fn line_no0(&self) -> Option { if self.line_no0 == usize::MAX { @@ -103,14 +113,19 @@ impl<'a> Line<'a> { } } +/// Write the line string out with line ending added +pub fn write_line_to<'a>(line: &Line<'a>, mut out: impl Write) -> Result<(), std::io::Error> { + out.write_all(line)?; + out.write_all(b"\n") +} + /// Write the line strings out with line endings added pub fn write_lines_to<'a>( lines: impl IntoIterator>, mut out: impl Write, ) -> Result<(), std::io::Error> { for line in lines { - out.write_all(line)?; - out.write_all(b"\n")?; + write_line_to(line, &mut out)?; } Ok(()) } @@ -118,7 +133,7 @@ pub fn write_lines_to<'a>( pub fn read_in<'b, P: AsRef>(path: P, bump: &'b Bump) -> Result> { let mut input = std::fs::File::open(path).context("opening file for reading")?; let len = input.metadata()?.len(); - let len_usize = usize::try_from(len).expect("file is too large"); + let len_usize = usize::try_from(len).context("file is too large")?; let mut contents = bc::Vec::::with_capacity_in(len_usize, bump); unsafe { // Safe because we'll never read from the bytes unless they diff --git a/patchparser/src/patch/change.rs b/patchparser/src/patch/change.rs index d3bab60..64b7025 100644 --- a/patchparser/src/patch/change.rs +++ b/patchparser/src/patch/change.rs @@ -1,87 +1,332 @@ use std::io::Write; -use bumpalo::{collections as bc, Bump}; +use anyhow::Result; use crate::{ - bumpalo_bstring::BString, - bumpalo_cow::BumpaloCow, - line::Line, - patch::hunk::{Hunk, WriteAsHunk}, + line::{write_line_to, Line}, + patch::change_line::ChangeLineKind, }; -/// A single group of "-" and "+" lines and context around them; a -/// number of changes make up a hunk -#[derive(Debug, PartialEq, Eq)] -pub struct Change<'a, 'h> { - /// Info for the first line - pub orig_start: usize, - pub orig_len: usize, - pub patched_start: usize, - pub patched_len: usize, - pub head_post: &'a [u8], - /// Remaining lines - pub pre: &'h [Line<'a>], - pub group: &'h [Line<'a>], - pub post: &'h [Line<'a>], +#[derive(Clone, Copy, Debug, PartialEq, Eq)] +pub struct Position { + pub is_first: bool, + pub is_last: bool, } -impl<'a, 'h> Change<'a, 'h> { - pub fn to_hunk<'b>(&self, bump: &'b Bump) -> Hunk<'b> - where - 'a: 'b, - 'h: 'b, - { - let mut remaining_lines = bc::Vec::new_in(bump); +impl Position { + pub const SOLE: Position = Position { + is_first: true, + is_last: true, + }; +} + +/// A single group of "-" and "+" lines and context around them (part +/// of a `Hunk`). +/// +/// Note that the `Line` instances here are *not* the full original +/// lines, but stripped of the first `ChangeLineKind`-determining +/// character (still using `Line` and not `BStr` since keeping the +/// line number is still valuable). +/// +/// `pre` only holds *additional* lines *after* the `post` lines of a +/// previous change (if any) +#[derive(Clone, Debug, PartialEq, Eq)] +pub struct Change<'a> { + pub post_from_previous_change: &'a [Line<'a>], + pub pre: &'a [Line<'a>], + pub minus: &'a [Line<'a>], + pub plus: &'a [Line<'a>], + pub post: &'a [Line<'a>], + pub backslash: bool, +} + +impl<'a> Change<'a> { + /// The number of lines in addition to the (post-context of a) + /// potential previous change (backslash line is excluded, as it + /// is not counted in span lengths), for original and patched span + /// lengths. Except if `position.is_first` is true, then the + /// `post_from_previous_change` lines are counted, too. Only max + /// `max_context_len` context lines are counted for sides that are + /// at the end of the change series (between changes, all change + /// lines are used). + pub fn additional_lengths(&self, position: Position, max_context_len: usize) -> (usize, usize) { + let max_len_pre = if position.is_first { + max_context_len + } else { + usize::MAX + }; + let max_len_post = if position.is_last { + max_context_len + } else { + usize::MAX + }; + + let initial = if position.is_first { + self.post_from_previous_change.len() + } else { + 0 + }; + let context = + (self.pre.len() + initial).min(max_len_pre) + self.post.len().min(max_len_post); + (context + self.minus.len(), context + self.plus.len()) + } + + /// The number of lines this change takes up excluding its `post` + /// context, i.e. what is needed to calculate the file start + /// positions (original and patched) for the change that follows + /// this one + pub fn offsets_for_next_change(&self) -> (usize, usize) { + let pre_context = self.post_from_previous_change.len() + self.pre.len(); + ( + pre_context + self.minus.len(), + pre_context + self.plus.len(), + ) + } + /// Can't implement `WriteTo` trait as `position` argument is + /// needed. + pub fn write_to( + &self, + mut out: impl Write, + position: Position, + max_context_len: usize, + ) -> Result<(), std::io::Error> { let Self { - orig_start, - orig_len, - patched_start, - patched_len, - head_post, + post_from_previous_change, pre, - group, + minus, + plus, post, + backslash, } = self; - let head_line = { - // Does the header need to be adapted to the following - // patterns? As discovered for `split_hunk` -- cj: Let's just - // always print the multi-line range format, it should always - // work. - // @@ -0,0 +1,2 @@ - // @@ -42 42 @@ - // @@ -42 +1,2 @@ - // @@ -0,0 +1 @@ - let mut content = BString::new_in(bump); - content.extend_from_slice( - format!( - "@@ -{},{} +{},{} ", - orig_start, orig_len, patched_start, patched_len - ) - .as_bytes(), - ); - content.extend_from_slice(head_post); - Line::from_generated_content(content.into_bump_slice()) + let max_len_pre = if position.is_first { + max_context_len + } else { + usize::MAX + }; + let max_len_post = if position.is_last { + max_context_len + } else { + usize::MAX }; - remaining_lines.extend_from_slice(pre); - remaining_lines.extend_from_slice(group); - remaining_lines.extend_from_slice(post); + let used_prevpost: &[Line]; + let used_pre: &[Line]; + if pre.len() >= max_len_pre { + // all satisfied via pre + used_prevpost = &[]; + used_pre = &pre[pre.len().saturating_sub(max_len_pre)..]; + } else { + // pre is too short or equal, take all of it + used_pre = *pre; + if position.is_first { + let still_need = max_len_pre - pre.len(); + used_prevpost = &post_from_previous_change + [post_from_previous_change.len().saturating_sub(still_need)..]; + } else { + used_prevpost = &[]; + } + } + write_lines(ChangeLineKind::Context, used_prevpost, &mut out)?; + write_lines(ChangeLineKind::Context, used_pre, &mut out)?; + + write_lines(ChangeLineKind::Minus, minus, &mut out)?; + write_lines(ChangeLineKind::Plus, plus, &mut out)?; - Hunk { - head_line, - remaining_lines: BumpaloCow::Owned(remaining_lines), + let used_post = &post[0..max_len_post.min(post.len())]; + write_lines(ChangeLineKind::Context, used_post, &mut out)?; + + if *backslash { + out.write_all(b"\\ No newline at end of file\n")?; } + Ok(()) } } -impl<'a, 'h> WriteAsHunk for Change<'a, 'h> { - // XX obsolete and costlier than it used to be, pointless? - fn write_as_hunk_to(&self, out: impl Write) -> Result<(), std::io::Error> { - // XX a little costly - let bump = Bump::new(); - let hunk = self.to_hunk(&bump); - hunk.write_as_hunk_to(out) +fn write_lines<'a>( + kind: ChangeLineKind, + lines: &[Line<'a>], + mut out: impl Write, +) -> Result<(), std::io::Error> { + let prefix = kind.prefix(); + for line in lines { + out.write_all(&[prefix])?; + write_line_to(line, &mut out)?; + } + Ok(()) +} + +#[cfg(test)] +mod tests { + use bstr::{BString, ByteSlice}; + + use super::*; + + #[test] + fn t_() -> Result<()> { + let lines: Vec = [ + b"line 0", b"line 1", b"line 2", b"line 3", b"line 4", b"line 5", b"line 6", b"line 7", + b"line 8", b"line 9", + ] + .iter() + .enumerate() + .map(|(i, s)| Line::from_lineno0_bstr(i, s.as_bstr())) + .collect(); + + let c1 = Change { + post_from_previous_change: &[], + pre: &lines[0..3], + minus: &lines[3..4], + plus: &lines[4..5], + post: &lines[5..8], + backslash: false, + }; + + let t = |c: &Change, position: Position, max_context_len: usize| { + let mut out = Vec::new(); + c.write_to(&mut out, position, max_context_len).unwrap(); + BString::from(out) + }; + let b = |s: &str| BString::from(&s[1..]); + + for position in [ + Position { + is_first: true, + is_last: true, + }, + Position { + is_first: false, + is_last: true, + }, + ] { + dbg!(position); + assert_eq!( + t(&c1, position, 3), + b(" + line 0 + line 1 + line 2 +-line 3 ++line 4 + line 5 + line 6 + line 7 +") + ); + } + + assert_eq!( + t(&c1, Position::SOLE, 2), + b(" + line 1 + line 2 +-line 3 ++line 4 + line 5 + line 6 +") + ); + assert_eq!( + t(&c1, Position::SOLE, 1), + b(" + line 2 +-line 3 ++line 4 + line 5 +") + ); + assert_eq!( + t(&c1, Position::SOLE, 0), + b(" +-line 3 ++line 4 +") + ); + + let c2 = Change { + post_from_previous_change: &lines[0..4], + pre: &[], + minus: &lines[4..6], + plus: &lines[6..7], + post: &lines[7..], + backslash: false, + }; + let c3 = Change { + post_from_previous_change: &lines[0..2], + pre: &lines[2..4], + minus: &lines[4..6], + plus: &lines[6..7], + post: &lines[7..], + backslash: false, + }; + + for c in [&c2, &c3] { + dbg!(c); + for ctx in [4, 5] { + dbg!(ctx); + assert_eq!( + t(c, Position::SOLE, ctx), + b(" + line 0 + line 1 + line 2 + line 3 +-line 4 +-line 5 ++line 6 + line 7 + line 8 + line 9 +") + ); + } + assert_eq!( + t(c, Position::SOLE, 3), + b(" + line 1 + line 2 + line 3 +-line 4 +-line 5 ++line 6 + line 7 + line 8 + line 9 +") + ); + assert_eq!( + t(c, Position::SOLE, 2), + b(" + line 2 + line 3 +-line 4 +-line 5 ++line 6 + line 7 + line 8 +") + ); + assert_eq!( + t(c, Position::SOLE, 1), + b(" + line 3 +-line 4 +-line 5 ++line 6 + line 7 +") + ); + assert_eq!( + t(c, Position::SOLE, 0), + b(" +-line 4 +-line 5 ++line 6 +") + ); + } + + Ok(()) } } diff --git a/patchparser/src/patch/change_line.rs b/patchparser/src/patch/change_line.rs index 1155248..6897ca8 100644 --- a/patchparser/src/patch/change_line.rs +++ b/patchparser/src/patch/change_line.rs @@ -14,6 +14,18 @@ pub(crate) enum ChangeLineKind { Backslash, } +impl ChangeLineKind { + pub fn prefix(self) -> u8 { + use ChangeLineKind::*; + match self { + Context => b' ', + Plus => b'+', + Minus => b'-', + Backslash => b'\\', + } + } +} + #[derive(Debug, Clone, Copy, PartialEq, Eq)] pub(crate) enum ChangeTerminator { // "diff " @@ -22,6 +34,21 @@ pub(crate) enum ChangeTerminator { Hunk, } +#[derive(Debug, Clone, Copy)] +pub(crate) enum KindOrTerminator { + Kind(ChangeLineKind), + Terminator(ChangeTerminator), +} + +impl KindOrTerminator { + pub(crate) fn kind(&self) -> Option { + match self { + KindOrTerminator::Kind(change_line_kind) => Some(*change_line_kind), + KindOrTerminator::Terminator(_change_terminator) => None, + } + } +} + #[derive(Debug)] pub(crate) enum ChangeLineReport { Kind(ChangeLineKind), @@ -61,6 +88,7 @@ impl From> for ChangeLineReport { impl ChangeLineReport { /// Returns the type expected by `try_take_while` for predicates + #[allow(unused)] pub(crate) fn matches_kinds(self, kinds: &[ChangeLineKind]) -> Result<(), ChangeLineReport> { match self { ChangeLineReport::Kind(change_line_kind) => { @@ -74,26 +102,11 @@ impl ChangeLineReport { } } - pub(crate) fn kind_or_terminator(self) -> Result { - match self { - ChangeLineReport::InvalidSyntax(error) => Err(error), - t => Ok(t), - } - } -} - -pub trait SeparateErrors: Sized { - type Error; - fn separate_errors(self) -> Result; -} - -impl SeparateErrors for Option { - type Error = anyhow::Error; - - fn separate_errors(self) -> Result { + pub(crate) fn kind_or_terminator(self) -> Result { match self { - Some(report) => Ok(Some(report.kind_or_terminator()?)), - None => Ok(None), + ChangeLineReport::InvalidSyntax(e) => Err(e), + ChangeLineReport::Kind(k) => Ok(KindOrTerminator::Kind(k)), + ChangeLineReport::Terminator(t) => Ok(KindOrTerminator::Terminator(t)), } } } diff --git a/patchparser/src/patch/diff.rs b/patchparser/src/patch/diff.rs index 24fae7b..b8fda3a 100644 --- a/patchparser/src/patch/diff.rs +++ b/patchparser/src/patch/diff.rs @@ -3,16 +3,17 @@ use std::io::Write; use anyhow::{bail, Context, Result}; use bstr::{BStr, BString}; use bumpalo::{ - collections::{self as bc, CollectIn}, + collections::{self as bc}, Bump, }; use crate::{ - bumpalo_cow::BumpaloCow, - bumpalo_utils::split_before_in, - from_lines::FromLines, + bumpalo_utils::try_split_before_in, line::{write_lines_to, Line}, - patch::hunk::{Hunk, WriteAsHunk}, + patch::{ + hunk::{Hunk, ParseMode}, + parsed_hunk::HandleCheckError, + }, reborrow_in::ReborrowIn, write_to::WriteTo, }; @@ -24,7 +25,7 @@ pub struct DiffDifferences<'a> { pub index_line: Option>, pub minus_line: Line<'a>, pub plus_line: Line<'a>, - pub hunks: bc::Vec<'a, Hunk<'a>>, + pub hunks: &'a [Hunk<'a>], } impl<'a, 'b> ReborrowIn<'b> for DiffDifferences<'a> @@ -33,7 +34,7 @@ where { type Reborrowed = DiffDifferences<'b>; - fn reborrow_in(&self, bump: &'b Bump) -> DiffDifferences<'b> { + fn reborrow_in(&self, _bump: &'b Bump) -> DiffDifferences<'b> { let Self { index_line, minus_line, @@ -44,7 +45,7 @@ where index_line: *index_line, minus_line: *minus_line, plus_line: *plus_line, - hunks: hunks.iter().map(|v| v.reborrow_in(bump)).collect_in(bump), + hunks, } } } @@ -87,7 +88,7 @@ fn strip_leading_path_segment(s: &BStr) -> Result<&BStr> { #[test] fn t_strip_leading_path_segment() { - fn b<'t>(s: &'t str) -> &'t BStr { + fn b(s: &str) -> &BStr { s.as_ref() } let t = strip_leading_path_segment; @@ -141,11 +142,7 @@ impl<'a> Diff<'a> { /// `delete_index_line` is true). /// /// Panics if self does not contain a `DiffDifferences`. - pub fn set_hunks( - &mut self, - hunks: bc::Vec<'a, Hunk<'a>>, - delete_index_line: bool, - ) -> &mut Self { + pub fn set_hunks(&mut self, hunks: &'a [Hunk<'a>], delete_index_line: bool) -> &mut Self { let differences = self .differences .as_mut() @@ -228,8 +225,8 @@ impl<'a> Diff<'a> { pub fn write_hunks_to(&self, mut out: impl Write) -> Result<(), std::io::Error> { if let Some(differences) = &self.differences { - for hunk in &differences.hunks { - hunk.write_as_hunk_to(&mut out)?; + for hunk in differences.hunks { + hunk.write_to(&mut out)?; } } Ok(()) @@ -251,14 +248,16 @@ impl<'a> Diff<'a> { } } -fn gather_hunks<'s>(lines: &'s [Line<'s>], bump: &'s Bump) -> bc::Vec<'s, Hunk<'s>> { - split_before_in( +fn gather_hunks<'s>( + lines: &'s [Line<'s>], + bump: &'s Bump, + parse_mode: ParseMode, + mut handle_check_error: impl HandleCheckError, +) -> Result>> { + try_split_before_in( lines, |line| line.starts_with(b"@@ "), - |group| Hunk { - head_line: group[0], - remaining_lines: BumpaloCow::Borrowed(&group[1..]), - }, + |group| Hunk::from_lines(group, bump, parse_mode, &mut handle_check_error), bump, ) } @@ -270,8 +269,13 @@ impl<'a> WriteTo for Diff<'a> { } } -impl<'a> FromLines<'a> for Diff<'a> { - fn from_lines(lines_slice: &'a [Line<'a>], bump: &'a Bump) -> Result> { +impl<'a> Diff<'a> { + pub fn from_lines( + lines_slice: &'a [Line<'a>], + bump: &'a Bump, + parse_mode: ParseMode, + handle_check_error: impl HandleCheckError, + ) -> Result> { let mut lines = lines_slice.iter(); let diff_line = *lines @@ -366,7 +370,8 @@ impl<'a> FromLines<'a> for Diff<'a> { } let plus_line = line; - let hunks = gather_hunks(lines.as_slice(), bump); + let hunks = gather_hunks(lines.as_slice(), bump, parse_mode, handle_check_error)? + .into_bump_slice(); Some(DiffDifferences { index_line, diff --git a/patchparser/src/patch/hunk.rs b/patchparser/src/patch/hunk.rs index 28a40c4..f1612c0 100644 --- a/patchparser/src/patch/hunk.rs +++ b/patchparser/src/patch/hunk.rs @@ -1,217 +1,177 @@ -use std::{io::Write, ops::Deref}; +use std::{borrow::Cow, io::Write}; -use anyhow::{bail, Context, Result}; +use anyhow::Result; use bumpalo::Bump; use crate::{ - bumpalo_cow::{BumpaloCow, ToOwnedIn}, line::{write_lines_to, Line}, - patch::{ - change::Change, - change_line::{ChangeLineKind, ChangeLineReport, SeparateErrors}, - }, - re, - reborrow_in::ReborrowIn, - regex_utils::GetStr, - utils::try_take_while, + patch::parsed_hunk::{HandleCheckError, ParsedHunk}, + write_to::WriteTo, }; -pub trait WriteAsHunk { - fn write_as_hunk_to(&self, out: impl Write) -> Result<(), std::io::Error>; -} - /// A group of lines starting with a "@@" line and not containing /// other such lines; contains any number of changes -#[derive(Clone, PartialEq, Eq)] -pub struct Hunk<'a> { - /// The "@@ " line - pub head_line: Line<'a>, - pub remaining_lines: BumpaloCow<'a, 'a, [Line<'a>]>, +// Do not choose inner type at compile-time because we want to be able +// to replace individual hunks or diffs, i.e. without changing the +// outer type. +#[derive(Clone, Debug, PartialEq, Eq)] +pub enum Hunk<'a> { + UnParsed(&'a [Line<'a>]), + Both(&'a [Line<'a>], ParsedHunk<'a>), + Parsed(ParsedHunk<'a>), } -impl<'a> WriteAsHunk for Hunk<'a> { - fn write_as_hunk_to(&self, mut out: impl Write) -> Result<(), std::io::Error> { - write_lines_to(&[self.head_line], &mut out)?; - write_lines_to(&*self.remaining_lines, &mut out) - } +/// How to initially parse the representation, which also has +/// implication on how it serializes back (use `Parsed`, not `Both`, +/// if you want serialization to always be regenerated from the parsed +/// representation) +#[derive(Clone, Copy, Debug, PartialEq, Eq)] +pub enum ParseMode { + /// Only retain the original lines where possible, parse them on + /// demand where needed + UnParsed, + /// Parse immediately, but also retain the original lines where + /// possible and use those for writing the serialization + Both, + /// Parse immediately and do not store the original lines, meaning + /// serialization is always recreated from the parsed + /// representation + Parsed, } -impl<'a, 'b> ReborrowIn<'b> for Hunk<'a> -where - 'a: 'b, -{ - type Reborrowed = Hunk<'b>; - - fn reborrow_in(&self, _bump: &'b Bump) -> Hunk<'b> - where - 'a: 'b, - { - Hunk { - head_line: self.head_line, - remaining_lines: BumpaloCow::Owned(self.remaining_lines.deref().to_owned_in(_bump)), +impl ParseMode { + pub fn from_options( + // Do a full parse (down to issues with changes, regardless of + // `mode`) before splitting, implying additional checks like the + // range checks unless those are disabled (see + // `ignore_range_errors`). + full_check: bool, + // Regenerate the output from the fully parsed version; by + // default, even with `full_check`, by default the original data + // is re-used where possible. Indirectly implies `full_check` (as + // it lazily parses everything anyway). + regenerate: bool, + ) -> Self { + match (full_check, regenerate) { + (false, false) => ParseMode::UnParsed, + (true, false) => ParseMode::Both, + (_, true) => ParseMode::Parsed, } } } -impl<'a> Hunk<'a> { - // Just for testing - #[allow(unused)] - fn from_lines(head_line: Line<'a>, remaining_lines: BumpaloCow<'a, 'a, [Line<'a>]>) -> Self { - Self { - head_line, - remaining_lines, +impl<'a> WriteTo for Hunk<'a> { + fn write_to(&self, out: impl Write) -> Result<(), std::io::Error> { + match self { + Hunk::UnParsed(lines) => write_lines_to(*lines, out), + Hunk::Both(lines, _parsed_hunk) => write_lines_to(*lines, out), + Hunk::Parsed(parsed_hunk) => parsed_hunk.write_to(out), } } +} - pub fn split_into_changes<'h>(&'h self) -> Result>> { - let head_line = &self.head_line; - - // @@ -0,0 +1,2 @@ - // @@ -42 42 @@ - // @@ -42 +1,2 @@ - // @@ -0,0 +1 @@ - let caps = re!(r"^@@ -(\d+)(?:,(\d+))? \+(\d+)(?:,(\d+))? (.*)") - .captures(head_line) - .with_context(|| format!("invalid hunk head on line {head_line}"))?; - - let orig_start: usize = caps.str_then_parse(1, *head_line)?; - let orig_len: usize = caps.get_str_then_parse(2, *head_line)?.unwrap_or(1); - let orig_patched_start: usize = caps.str_then_parse(3, *head_line)?; - let orig_patched_len: usize = caps.get_str_then_parse(4, *head_line)?.unwrap_or(1); - let head_post = caps.str(5); - - let mut remaining: &[Line] = &self.remaining_lines; - let mut result = Vec::new(); - let mut start = orig_start; - let mut patched_start = orig_patched_start; - - while !remaining.is_empty() { - let (pre, after_pre, stop_reason) = try_take_while(remaining, |line| { - ChangeLineReport::from(*line).matches_kinds(&[ChangeLineKind::Context]) - }); - stop_reason.separate_errors()?; - let (group, after_group, stop_reason) = try_take_while(after_pre, |line| { - ChangeLineReport::from(*line) - .matches_kinds(&[ChangeLineKind::Plus, ChangeLineKind::Minus]) - }); - stop_reason.separate_errors()?; - let (post, rest, stop_reason) = try_take_while(after_group, |line| { - ChangeLineReport::from(*line) - .matches_kinds(&[ChangeLineKind::Context, ChangeLineKind::Backslash]) - }); - let end_indicator = stop_reason.separate_errors()?; - // Optional assertments: - match end_indicator { - Some(report) => match report { - ChangeLineReport::Kind(change_line_kind) => match change_line_kind { - ChangeLineKind::Plus | ChangeLineKind::Minus => "another group is fine", - ChangeLineKind::Context | ChangeLineKind::Backslash => { - unreachable!("those were taken above") - } - }, - ChangeLineReport::Terminator(change_terminator) => unreachable!( - "buggy hunk creation: another {change_terminator:?} \ - should not be possible within a hunk" - ), - ChangeLineReport::InvalidSyntax(_) => { - unreachable!("removed by `separate_errors`") - } - }, - None => "end of input is fine", - }; - - let pre_len = pre.len(); - - let new_pre = if pre.len() > 3 { - &pre[pre.len() - 3..] - } else { - pre - }; - let new_pre_len = new_pre.len(); - - let new_post = if post.len() > 3 { &post[..3] } else { post }; - let new_post_len = new_post.len(); - - let group_minus_len = group.iter().filter(|l| l.starts_with(b"-")).count(); - // The group consists purely of lines starting with '-' and - // '+' by its construction, hence: - let group_plus_len = group.len() - group_minus_len; - - let orig_len = new_pre_len + group_minus_len + new_post_len; - let patched_len = new_pre_len + group_plus_len + new_post_len; - - result.push(Change { - orig_start: start, - orig_len, - patched_start, - patched_len, - head_post, - pre: new_pre, - group, - post: new_post, - }); - - // Note that `rest` is *not* the same value as the next - // `remaining` value! We stop when there is no more groups - // coming, not when there are no more context lines. - - start += pre_len + group_minus_len; - patched_start += pre_len + group_plus_len; - remaining = after_group; - - // XXX is it safe to compare `rest = [""]`? - if rest.is_empty() || rest.iter().any(|l| l.is_empty()) { - break; - } - } - - // "\ .. " lines are not included in the span lengths, thus - // exclude them - let remaining_active_count = remaining - .iter() - .filter(|line| { - let report = ChangeLineReport::from(**line); - !matches!(report, ChangeLineReport::Kind(ChangeLineKind::Backslash)) - }) - .count(); - // dbg!((remaining_active_count, remaining.len())); - - let actual_orig_len = start + remaining_active_count - orig_start; - if orig_len != actual_orig_len { - bail!( - "hunk specified -{orig_start},{orig_len}, \ - but the actual length of the hunk is {actual_orig_len} \ - on line {head_line}" - ) +impl<'a> Hunk<'a> { + /// If `parse` is true, parses the hunk contents, otherwise jut + /// stores the original lines (the `parse` method will then parse + /// it on demand) + pub fn from_lines( + lines: &'a [Line<'a>], + bump: &'a Bump, + parse_mode: ParseMode, + handle_check_error: impl HandleCheckError, + ) -> Result { + match parse_mode { + ParseMode::UnParsed => Ok(Hunk::UnParsed(lines)), + ParseMode::Both => Ok(Hunk::Both( + lines, + ParsedHunk::from_lines(lines, bump, handle_check_error)?, + )), + ParseMode::Parsed => Ok(Hunk::Parsed(ParsedHunk::from_lines( + lines, + bump, + handle_check_error, + )?)), } + } - let actual_patched_len = patched_start + remaining_active_count - orig_patched_start; - if orig_patched_len != actual_patched_len { - bail!( - "hunk specified +{orig_patched_start},{orig_patched_len}, \ - but the actual patched length of the hunk is {actual_patched_len} \ - on line {head_line}" - ) + pub fn parsed<'b>( + &self, + bump: &'b Bump, + handle_check_error: impl HandleCheckError, + ) -> Result>> + where + 'a: 'b, + { + match self { + Hunk::UnParsed(lines) => Ok(Cow::Owned(ParsedHunk::from_lines( + lines, + bump, + handle_check_error, + )?)), + Hunk::Both(_line, parsed_hunk) => Ok(Cow::Borrowed(parsed_hunk)), + Hunk::Parsed(parsed_hunk) => Ok(Cow::Borrowed(parsed_hunk)), } - - Ok(result) } } -#[test] -fn t_split_hunk_into_changes() { +#[cfg(test)] +mod tests { + use bstr::ByteSlice; use bumpalo::{ collections::{self as bc, CollectIn}, Bump, }; + use crate::patch::{ + change::Change, + parsed_hunk::{CheckErrorClosure, MinimalHunkHead}, + }; + + use super::*; + fn l<'a>(line0: usize, s: &'a str) -> Line<'a> { Line::from_tuple((line0, s.as_ref())) } - let bump = Bump::new(); + // Do consistency checks; split by changes already + fn hunks_from_str<'b>( + hunk_str: &'static str, + bump: &'b Bump, + ) -> Result>> { + let lines: bc::Vec<_> = hunk_str + .trim() + .split("\n") + .enumerate() + .map(|(i, line)| Line::from_tuple((i, line.as_ref()))) + .collect_in(bump); + let hunk = Hunk::from_lines( + lines.into_bump_slice(), + bump, + ParseMode::Parsed, + CheckErrorClosure(|e_| e_().map_err(Into::into)), + )?; + Ok(hunk + .parsed(bump, CheckErrorClosure(|_| unreachable!()))? + .split_by_change(bump)) + } + + #[test] + fn t_split_hunk_into_changes() -> Result<()> { + let mut bump = Bump::new(); + macro_rules! b { + { $e:expr } => { + &*bump.alloc($e) + } + } + macro_rules! ba { + { $($e:tt)* } => { + &*bump.alloc([$($e)*]) + } + } - let hunk_str = r#" + { + // ,10 ,10 would be correct + let wrong_range_str = r#" @@ -550,11 +552,11 @@ fn cmp_function( } @@ -225,63 +185,189 @@ fn t_split_hunk_into_changes() { +) -> &'v [Item<'t, &'t Path>] { probe!("run_processing_commands"); let mut selected_items = un_safe { hack_static(&mut **items) }; - for cmd in cmds { "#; - let lines: bc::Vec<_> = hunk_str - .trim() - .split("\n") - .enumerate() - .map(|(i, line)| Line::from_tuple((i, line.as_ref()))) - .collect_in(&bump); - let hunk = Hunk::from_lines(lines[0], BumpaloCow::Borrowed(&lines[1..])); - let changes = hunk.split_into_changes().unwrap(); + assert_eq!( + hunks_from_str(wrong_range_str, &bump) + .err() + .unwrap() + .to_string(), + "hunk range information on line 1 is inconsistent with body, expected:\n\ + @@ -550,10 +552,10 @@ fn cmp_function(" + ); + } + bump.reset(); + + { + let correct_range_str = r#" +@@ -550,10 +552,10 @@ fn cmp_function( + } + + fn run_processing_commands<'t: 'u, 'u: 'v, 'v>( +- items: &'v mut Vec>, ++ items: &'v mut Vec>, + cmds: &[ProcessingCommand], + now: SystemTime, + show_files_from_future: bool, +-) -> &'v [Item<'t>] { ++) -> &'v [Item<'t, &'t Path>] { + probe!("run_processing_commands"); + let mut selected_items = un_safe { hack_static(&mut **items) }; +"#; + let hunks = hunks_from_str(correct_range_str, &bump)?; - let expected_changes = [ - Change { - orig_start: 550, - orig_len: 7, - patched_start: 552, - patched_len: 7, - head_post: b"@@ fn cmp_function(", - pre: &[ - l(1, " }"), - l(2, " "), - l(3, " fn run_processing_commands<'t: 'u, 'u: 'v, 'v>("), - ], - group: &[ - l(4, "- items: &'v mut Vec>,"), - l(5, "+ items: &'v mut Vec>,"), - ], - post: &[ - l(6, " cmds: &[ProcessingCommand],"), - l(7, " now: SystemTime,"), - l(8, " show_files_from_future: bool,"), - ], - }, - Change { - orig_start: 554, - orig_len: 7, - patched_start: 556, - patched_len: 7, - head_post: b"@@ fn cmp_function(", - pre: &[ - l(6, " cmds: &[ProcessingCommand],"), - l(7, " now: SystemTime,"), - l(8, " show_files_from_future: bool,"), - ], - group: &[ - l(9, "-) -> &'v [Item<'t>] {"), - l(10, "+) -> &'v [Item<'t, &'t Path>] {"), - ], - post: &[ - l(11, " probe!(\"run_processing_commands\");"), - l( - 12, - " let mut selected_items = un_safe { hack_static(&mut **items) };", - ), - l(13, " for cmd in cmds {"), - ], - }, - ]; - assert_eq!(changes, expected_changes); + let change1 = b!(Change { + post_from_previous_change: &[], + pre: ba![ + l(1, "}"), + l(2, ""), + l(3, "fn run_processing_commands<'t: 'u, 'u: 'v, 'v>("), + ], + minus: ba![l(4, " items: &'v mut Vec>,")], + plus: ba![l(5, " items: &'v mut Vec>,")], + post: ba![ + l(6, " cmds: &[ProcessingCommand],"), + l(7, " now: SystemTime,"), + l(8, " show_files_from_future: bool,"), + ], + backslash: false, + }); + let change2 = b!(Change { + post_from_previous_change: change1.post, + pre: ba![], + minus: ba![l(9, ") -> &'v [Item<'t>] {")], + plus: ba![l(10, ") -> &'v [Item<'t, &'t Path>] {")], + post: ba![ + l(11, " probe!(\"run_processing_commands\");"), + l( + 12, + " let mut selected_items = un_safe { hack_static(&mut **items) };", + ), + ], + backslash: false, + }); + + let expected_hunks = [ + ParsedHunk { + head: MinimalHunkHead { + orig_start: 550, + patched_start: 552, + head_post: Some(b"fn cmp_function(".as_bstr()), + }, + changes: ba![change1], + }, + ParsedHunk { + head: MinimalHunkHead { + orig_start: 554, + patched_start: 556, + head_post: Some(b"fn cmp_function(".as_bstr()), + }, + changes: ba![change2], + }, + ]; + assert_eq!(hunks, expected_hunks); + + // Check the lengths of the hunks (in original and patched + // files) + assert_eq!( + expected_hunks.map(|h| h.full_hunk_head().to_minimal_hunk_head().1), + [(7, 7), (6, 6),] + ); + } + bump.reset(); + + { + let long_middle_str = r#"@@ -381,14 +384,14 @@ impl EssentialMetadata { + + // Need PartialEq, Eq for tests + #[derive(Debug, Clone, PartialEq, Eq)] +-pub struct Item<'region, P: PossiblySegmentedPath<'region>> { ++pub struct Item<'region, P: PossiblySegmentedPath<'region, INLINE>, INLINE> { + pub path: P, + pub metadata: EssentialMetadata, + /// Metadata for the path if there was no error getting it + pub link_target: Option<(Box, Option>)>, + // X X wanted to keep this field private to make it impossible to + // create? +- pub _phantom: PhantomData<&'region ()>, ++ pub _phantom: PhantomData &'region INLINE>, + } + + #[test] +"#; + let hunks = hunks_from_str(long_middle_str, &bump)?; + + let change1 = b!(Change { + post_from_previous_change: &[], + pre: ba![ + l(1, ""), + l(2, "// Need PartialEq, Eq for tests"), + l(3, "#[derive(Debug, Clone, PartialEq, Eq)]"), + ], + minus: ba![l( + 4, + "pub struct Item<'region, P: PossiblySegmentedPath<'region>> {" + )], + plus: ba![l( + 5, + "pub struct Item<'region, P: PossiblySegmentedPath<'region, INLINE>, INLINE> {" + )], + post: ba![ + l(6, " pub path: P,"), + l(7, " pub metadata: EssentialMetadata,"), + l( + 8, + " /// Metadata for the path if there was no error getting it" + ), + l( + 9, + " pub link_target: Option<(Box, Option>)>," + ), + l( + 10, + " // X X wanted to keep this field private to make it impossible to" + ), + l(11, " // create?"), + ], + backslash: false, + }); + let change2 = b!(Change { + post_from_previous_change: change1.post, + pre: ba![], + minus: ba![l(12, " pub _phantom: PhantomData<&'region ()>,")], + plus: ba![l( + 13, + " pub _phantom: PhantomData &'region INLINE>," + )], + post: ba![l(14, "}"), l(15, ""), l(16, "#[test]"),], + backslash: false, + }); + + let expected_hunks = [ + ParsedHunk { + head: MinimalHunkHead { + orig_start: 381, + patched_start: 384, + head_post: Some(b"impl EssentialMetadata {".as_bstr()), + }, + changes: ba![change1], + }, + ParsedHunk { + head: MinimalHunkHead { + orig_start: 381 + 4, + patched_start: 384 + 4, + head_post: Some(b"impl EssentialMetadata {".as_bstr()), + }, + changes: ba![change2], + }, + ]; + assert_eq!(hunks, expected_hunks); + assert_eq!( + expected_hunks.map(|h| h.full_hunk_head().to_minimal_hunk_head().1), + [(7, 7), (7, 7),] + ); + } + bump.reset(); + + Ok(()) + } } diff --git a/patchparser/src/patch/mod.rs b/patchparser/src/patch/mod.rs index ca5367e..82011dc 100644 --- a/patchparser/src/patch/mod.rs +++ b/patchparser/src/patch/mod.rs @@ -2,6 +2,7 @@ pub mod change; pub mod change_line; pub mod diff; pub mod hunk; +pub mod parsed_hunk; #[allow(clippy::module_inception)] // XXX rename or re-export pub mod patch; diff --git a/patchparser/src/patch/parsed_hunk.rs b/patchparser/src/patch/parsed_hunk.rs new file mode 100644 index 0000000..f6d4324 --- /dev/null +++ b/patchparser/src/patch/parsed_hunk.rs @@ -0,0 +1,410 @@ +use std::{fmt::Display, io::Write}; + +use anyhow::{anyhow, Context, Result}; +use bstr::{BStr, ByteSlice}; +use bumpalo::{ + collections::{self as bc, CollectIn}, + Bump, +}; + +use crate::{ + bumpalo_bstring::BString, + line::{write_lines_to, Line}, + patch::{ + change::{Change, Position}, + change_line::{ChangeLineKind, ChangeLineReport}, + }, + re, + reborrow_in::ReborrowIn, + regex_utils::GetStr, + write_to::WriteTo, +}; + +// XX take as parameter instead +const MAX_CONTEXT_LEN: usize = 3; + +#[derive(Clone, Debug, PartialEq, Eq)] +pub struct FullHunkHead<'a> { + pub orig_start: usize, + pub orig_len: usize, + pub patched_start: usize, + pub patched_len: usize, + pub head_post: Option<&'a BStr>, +} + +impl<'a> FullHunkHead<'a> { + pub fn from_line<'a0: 'a>(head_line: &Line<'a0>) -> Result { + // @@ -0,0 +1,2 @@ + // @@ -42 42 @@ + // @@ -42 +1,2 @@ + // @@ -0,0 +1 @@ + let caps = re!(r"^@@ -(\d+)(?:,(\d+))? \+(\d+)(?:,(\d+))?(?: *@@(?: ?( *[^ ].*))?)$") + .captures(head_line) + .with_context(|| format!("invalid hunk head on line {head_line}"))?; + + let orig_start: usize = caps.str_then_parse(1, *head_line)?; + let orig_len: usize = caps.get_str_then_parse(2, *head_line)?.unwrap_or(1); + let patched_start: usize = caps.str_then_parse(3, *head_line)?; + let patched_len: usize = caps.get_str_then_parse(4, *head_line)?.unwrap_or(1); + let head_post = caps.get_str(5).map(ByteSlice::as_bstr); + Ok(FullHunkHead { + orig_start, + orig_len, + patched_start, + patched_len, + head_post, + }) + } + + pub fn to_line(&self, bump: &'a Bump) -> Line<'a> { + let Self { + orig_start, + orig_len, + patched_start, + patched_len, + head_post, + } = self; + // Does the header need to be adapted to the following + // patterns? As discovered for `split_hunk` -- cj: Let's just + // always print the multi-line range format, it should always + // work. + // @@ -0,0 +1,2 @@ + // @@ -42 42 @@ + // @@ -42 +1,2 @@ + // @@ -0,0 +1 @@ + let mut content = BString::new_in(bump); + content.extend_from_slice( + format!( + "@@ -{},{} +{},{} @@", + orig_start, orig_len, patched_start, patched_len + ) + .as_bytes(), + ); + if let Some(head_post) = head_post { + content.push(b' '); + content.extend_from_slice(head_post); + } + Line::from_generated_content(content.into_bump_slice()) + } + + /// Also returns the `orig_len` and `patched_len` values + pub fn to_minimal_hunk_head(&self) -> (MinimalHunkHead<'a>, (usize, usize)) { + let FullHunkHead { + orig_start, + orig_len, + patched_start, + patched_len, + head_post, + } = self; + ( + MinimalHunkHead { + orig_start: *orig_start, + patched_start: *patched_start, + head_post: *head_post, + }, + (*orig_len, *patched_len), + ) + } +} + +#[derive(Clone, Debug, PartialEq, Eq)] +pub struct MinimalHunkHead<'a> { + pub orig_start: usize, + pub patched_start: usize, + pub head_post: Option<&'a BStr>, +} + +impl<'a> MinimalHunkHead<'a> { + /// The start positions in original and patched version of the + /// file + pub fn starts(&self) -> (usize, usize) { + let Self { + orig_start, + patched_start, + head_post: _, + } = self; + (*orig_start, *patched_start) + } +} + +impl<'a> WriteTo for FullHunkHead<'a> { + fn write_to(&self, out: impl Write) -> Result<(), std::io::Error> { + // Temporary allocator, for one line with a possible + // re-allocation; since those lines can have long `head_post` + // strings, give it some leeway (XX no problem if this is too + // small, it will allocate more, right?) + let bump = Bump::with_capacity(300); + write_lines_to(&[self.to_line(&bump)], out) + } +} + +#[derive(Clone, Debug, PartialEq, Eq)] +pub struct ParsedHunk<'a> { + pub head: MinimalHunkHead<'a>, + // Change is pretty large thus store by reference for cheap re-use + pub changes: &'a [&'a Change<'a>], +} + +impl<'a> WriteTo for ParsedHunk<'a> { + fn write_to(&self, mut out: impl Write) -> Result<(), std::io::Error> { + let Self { head: _, changes } = self; + let head = self.full_hunk_head(); + head.write_to(&mut out)?; + let last_i = changes.len().wrapping_sub(1); + for (i, change) in changes.iter().enumerate() { + let position = Position { + is_first: i == 0, + is_last: i == last_i, + }; + change.write_to(&mut out, position, MAX_CONTEXT_LEN)?; + } + Ok(()) + } +} + +// XX do we still want that? +impl<'a, 'b> ReborrowIn<'b> for ParsedHunk<'a> +where + 'a: 'b, +{ + type Reborrowed = ParsedHunk<'b>; + + fn reborrow_in(&self, _bump: &'b Bump) -> Self::Reborrowed + where + 'a: 'b, + { + let Self { head, changes } = self; + ParsedHunk { + head: head.clone(), + changes, + } + } +} + +// -------------------------------------------- + +#[derive(Debug)] +pub enum CheckError { + InconsistentHunkHead(anyhow::Error), +} + +// Avoid dependency on thiserror: + +impl Display for CheckError { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + match self { + CheckError::InconsistentHunkHead(error) => write!(f, "{error:#}"), + } + } +} + +impl std::error::Error for CheckError {} + +pub trait HandleCheckError { + fn handle_check_error(&mut self, run_check: &dyn Fn() -> Result<(), CheckError>) -> Result<()>; +} + +// This is necessary to be able to share them. (Question: why do we +// have to do that manually?) +impl HandleCheckError for &mut T { + fn handle_check_error(&mut self, run_check: &dyn Fn() -> Result<(), CheckError>) -> Result<()> { + (*self).handle_check_error(run_check) + } +} + +// Optional utility to allow to use closures for HandleCheckError: + +pub struct CheckErrorClosure(pub F) +where + F: FnMut(&dyn Fn() -> Result<(), CheckError>) -> Result<()>; + +impl HandleCheckError for CheckErrorClosure +where + F: FnMut(&dyn Fn() -> Result<(), CheckError>) -> Result<()>, +{ + fn handle_check_error(&mut self, run_check: &dyn Fn() -> Result<(), CheckError>) -> Result<()> { + self.0(run_check) + } +} + +// -------------------------------------------- + +impl<'a> ParsedHunk<'a> { + pub fn from_lines( + lines: &'a [Line<'a>], + bump: &'a Bump, + mut handle_check_error: impl HandleCheckError, + ) -> Result { + // (XX how was that with hunk-less diffs? Does it works out + // OK? Add tests!) + let (head_line, rest) = lines + .split_first() + .context("a hunk must consist of at least a header line")?; + let parsed_head = FullHunkHead::from_line(head_line)?; + let (head, _) = parsed_head.to_minimal_hunk_head(); + let changes = split_hunk_into_changes(rest, bump)?.into_bump_slice(); + let parsed_hunk = ParsedHunk { head, changes }; + + let check = || -> Result<(), CheckError> { + let expected_head = parsed_hunk.full_hunk_head(); + if parsed_head != expected_head { + let bump = Bump::with_capacity(300); + Err(CheckError::InconsistentHunkHead(anyhow!( + "hunk range information on line {head_line} is inconsistent with body, expected:\n\ + {}", + expected_head.to_line(&bump).contents() + ))) + } else { + Ok(()) + } + }; + handle_check_error.handle_check_error(&check)?; + + Ok(parsed_hunk) + } + + pub fn full_hunk_head(&self) -> FullHunkHead<'a> { + let Self { head, changes } = self; + let MinimalHunkHead { + orig_start, + patched_start, + head_post, + } = head.clone(); + let last_i = changes.len().wrapping_sub(1); + let mut orig_len = 0; + let mut patched_len = 0; + for (i, change) in changes.iter().enumerate() { + let position = Position { + is_first: i == 0, + is_last: i == last_i, + }; + let (add_orig, add_patched) = change.additional_lengths(position, MAX_CONTEXT_LEN); + orig_len += add_orig; + patched_len += add_patched; + } + FullHunkHead { + orig_start, + orig_len, + patched_start, + patched_len, + head_post, + } + } + + pub fn split_by_change<'h, 'b>(&'h self, bump: &'b Bump) -> bc::Vec<'b, ParsedHunk<'b>> + where + 'a: 'b, + { + let mut head = self.head.clone(); + self.changes + .iter() + .map(|change| { + let h = ParsedHunk { + head: head.clone(), + changes: bump.alloc([*change]), + }; + let (add_orig, add_patched) = change.offsets_for_next_change(); + head.orig_start += add_orig; + head.patched_start += add_patched; + h + }) + .collect_in(bump) + } +} + +fn split_hunk_into_changes<'a>( + rest: &[Line<'a>], + bump: &'a Bump, +) -> Result>> { + let mut lines_with_report = rest.iter().map(|line| -> Result<_> { + let report = ChangeLineReport::from(*line).kind_or_terminator()?; + let (_first_char, rest) = line + .split_first() + .expect("empty line would give an error report, handled above"); + let line_rest = line.with_changed_contents(rest.as_bstr()); + Ok((report, line_rest)) + }); + + let mut changes = bc::Vec::new_in(bump); + let mut post_from_previous_change: &'a [Line<'a>] = &[]; + + let mut i_report_line; + macro_rules! advance { + {} => { + i_report_line = lines_with_report.next().transpose()?; + } + } + advance!(); + + // Changes + loop { + let mut pre = bc::Vec::new_in(bump); + while let Some((report, line)) = i_report_line { + match report.kind() { + Some(ChangeLineKind::Context) => pre.push(line), + _ => break, + } + advance!(); + } + + let mut minus = bc::Vec::new_in(bump); + let mut plus = bc::Vec::new_in(bump); + while let Some((report, line)) = i_report_line { + match report.kind() { + Some(ChangeLineKind::Minus) => minus.push(line), + Some(ChangeLineKind::Plus) => plus.push(line), + _ => break, + } + advance!(); + } + + let mut post = bc::Vec::new_in(bump); + while let Some((report, line)) = i_report_line { + match report.kind() { + Some(ChangeLineKind::Context) => post.push(line), + _ => break, + } + advance!(); + } + + // XXX check _line ? + let backslash = if let Some((report, _line)) = i_report_line { + match report.kind() { + Some(ChangeLineKind::Backslash) => { + advance!(); + true + } + _ => false, + } + } else { + false + }; + + let change = &*bump.alloc(Change { + post_from_previous_change, + pre: pre.into_bump_slice(), + minus: minus.into_bump_slice(), + plus: plus.into_bump_slice(), + post: post.into_bump_slice(), + backslash, + }); + post_from_previous_change = change.post; + changes.push(change); + + // // XXX is it safe to compare `rest = [""]`? + // if rest.is_empty() || rest.iter().any(|l| l.is_empty()) { + // break; + // } + if i_report_line.is_none() { + // XXX but must check for wrong terminators and stuff?, + // first. -- or those reported as errors already? + break; + } + } + + // if let Some((i, (report, line)))= i_report_line { + // bail!("XXX unexpected content in hunk on line {line}: {report:?}") + // } + + Ok(changes) +} diff --git a/patchparser/src/patch/patch.rs b/patchparser/src/patch/patch.rs index 8d0698e..eb8e4d0 100644 --- a/patchparser/src/patch/patch.rs +++ b/patchparser/src/patch/patch.rs @@ -12,7 +12,7 @@ use crate::{ bumpalo_cow::{BumpaloCow, ToOwnedIn}, from_lines::FromLines, line::{write_lines_to, Line}, - patch::diff::Diff, + patch::{diff::Diff, hunk::ParseMode, parsed_hunk::HandleCheckError}, reborrow_in::ReborrowIn, utils::split_before, write_to::WriteTo, @@ -174,7 +174,7 @@ impl<'a> PatchHeadHeader<'a> { /// /// Returns the old value when the header was updated. /// - /// The new line contents is allocated from `allocator`. + /// The new line contents is allocated from `bump`. pub fn update_header( &mut self, header_name: impl AsRef, @@ -237,7 +237,7 @@ impl<'a> PatchHeadHeader<'a> { #[derive(Clone, PartialEq, Eq)] pub struct PatchHead<'a> { pub header: Option>, - /// If a header is given, remaining_lines starts with the empty + /// If a header is given, `remaining_lines` starts with the empty /// line that follows the header. If no header was found, this /// holds all the lines found. pub remaining_lines: &'a [Line<'a>], @@ -329,8 +329,13 @@ pub struct Patch<'a> { pub footer: &'a [Line<'a>], } -impl<'a> FromLines<'a> for Patch<'a> { - fn from_lines(lines: &'a [Line<'a>], bump: &'a Bump) -> Result { +impl<'a> Patch<'a> { + pub fn from_lines( + lines: &'a [Line<'a>], + bump: &'a Bump, + parse_mode: ParseMode, + mut handle_check_error: impl HandleCheckError, + ) -> Result { // Split off the footer, if any let (lines, footer) = if let Some(rev_i) = lines .iter() @@ -347,7 +352,7 @@ impl<'a> FromLines<'a> for Patch<'a> { let is_diff_line = |line: &Line| line.starts_with(b"diff "); let chunks = split_before(lines, is_diff_line, |slice| slice); let (head_lines, diff_lines_groups): (&[Line], &[&[Line]]) = - if chunks[0].first().map(is_diff_line).unwrap_or(false) { + if chunks[0].first().is_some_and(is_diff_line) { // No head (&[], &chunks) } else { @@ -366,13 +371,14 @@ impl<'a> FromLines<'a> for Patch<'a> { .iter() .enumerate() .map(|(diff_i, diff_lines)| -> Result<_> { - Diff::from_lines(diff_lines, bump).with_context(|| { - format!( - "parsing diff no. {}/{}", - diff_i + 1, - diff_lines_groups.len() - ) - }) + Diff::from_lines(diff_lines, bump, parse_mode, &mut handle_check_error) + .with_context(|| { + format!( + "parsing diff no. {}/{}", + diff_i + 1, + diff_lines_groups.len() + ) + }) }) .collect_in::>(bump)?; diff --git a/patchparser/src/utils.rs b/patchparser/src/utils.rs index 8b2d4aa..ccb05c8 100644 --- a/patchparser/src/utils.rs +++ b/patchparser/src/utils.rs @@ -5,7 +5,7 @@ use std::{ use anyhow::{Context, Result}; -pub fn take_while<'a, T>(lines: &'a [T], predicate: impl Fn(&T) -> bool) -> (&'a [T], &'a [T]) { +pub fn take_while(lines: &[T], predicate: impl Fn(&T) -> bool) -> (&[T], &[T]) { let count = lines.iter().take_while(|l| predicate(l)).count(); lines.split_at(count) @@ -15,10 +15,10 @@ pub fn take_while<'a, T>(lines: &'a [T], predicate: impl Fn(&T) -> bool) -> (&'a /// its reason; this reason is then also returned with the matched /// area and rest, unless matching was successful until the end of the /// input, in which case None is returned for the reason. -pub fn try_take_while<'a, T, E>( - items: &'a [T], +pub fn try_take_while( + items: &[T], predicate: impl Fn(&T) -> Result<(), E>, -) -> (&'a [T], &'a [T], Option) { +) -> (&[T], &[T], Option) { for (i, item) in items.iter().enumerate() { match predicate(item) { Ok(()) => (), diff --git a/split-patch/.rustsec-ignore.txt b/split-patch/.rustsec-ignore.txt index 4bd22dd..c62ea62 100644 --- a/split-patch/.rustsec-ignore.txt +++ b/split-patch/.rustsec-ignore.txt @@ -9,3 +9,9 @@ RUSTSEC-2024-0384 # adler 1.0.2 affected by RUSTSEC-2025-0056 (unmaintained) # -> only used for anyhow backtraces RUSTSEC-2025-0056 + +# crossbeam-epoch 0.9.18 affected by RUSTSEC-2026-0204 (Invalid +# pointer dereference in `fmt::Pointer` impl for `Atomic` and `Shared` +# when the underlying pointer is invalid) +# -> currently only using rayon for the tests +RUSTSEC-2026-0204 diff --git a/split-patch/src/bin/split-patch.rs b/split-patch/src/bin/split-patch.rs index 73980e2..07e8ab5 100644 --- a/split-patch/src/bin/split-patch.rs +++ b/split-patch/src/bin/split-patch.rs @@ -46,7 +46,7 @@ fn main() -> Result<()> { } Ok(()) })() - .context("writing to stdout")? + .context("writing to stdout")?; } } diff --git a/split-patch/src/core.rs b/split-patch/src/core.rs index c2feb4b..2634902 100644 --- a/split-patch/src/core.rs +++ b/split-patch/src/core.rs @@ -9,11 +9,12 @@ use bstr::{BStr, ByteSlice}; use bumpalo::Bump; use cj_path_util::temp_file::temp_file_for; use patchparser::{ - from_lines::FromLines, line::read_lines_in, make_bstring, patch::{ diff::Diff, + hunk::Hunk, + parsed_hunk::{CheckError, HandleCheckError}, patch::{Patch, PatchHead}, }, re, @@ -25,8 +26,8 @@ use crate::split_options::SplitOptions; use anyhow::{Context, Result}; /// Receives the lines for a single diff. Returns the list of files created -fn split_diff_in<'a, 'h>( - head: &'h PatchHead<'a>, +fn split_diff_in<'a>( + head: &PatchHead<'a>, // Guaranteed to be at least the "diff " line diff: &'a Diff<'a>, original_path: &Path, @@ -66,14 +67,19 @@ fn split_diff_in<'a, 'h>( macro_rules! diff_with_hunk { { $hunk:expr } => { diff.clone() - .set_hunks(bumpalo::vec![in bump; $hunk], delete_index_line) + .set_hunks(bump.alloc([$hunk]), delete_index_line) } } if let Some(differences) = &diff.differences { for (hunk_i, hunk) in differences.hunks.iter().enumerate() { if split_options.mode.changes() { - for (change_i, change) in hunk.split_into_changes()?.into_iter().enumerate() { + for (change_i, change) in hunk + .parsed(bump, split_options)? + .split_by_change(bump) + .into_iter() + .enumerate() + { let prefix_part = if split_options.monotonous_numbers { format!("{file_i:03}") } else { @@ -82,8 +88,9 @@ fn split_diff_in<'a, 'h>( let written_path = write_patch_file( head_with_prefix(&prefix_part), - diff_with_hunk!(change.to_hunk(bump)), + diff_with_hunk!(Hunk::Parsed(change)), add_suffix(&path, format!("-{prefix_part}"))?, + split_options, )?; written_paths.push(written_path); @@ -96,6 +103,7 @@ fn split_diff_in<'a, 'h>( head_with_prefix(&prefix_part), diff_with_hunk!(hunk.clone()), add_suffix(&path, format!("-{prefix_part}"))?, + split_options, )?; written_paths.push(written_path); @@ -108,7 +116,7 @@ fn split_diff_in<'a, 'h>( } Ok(written_paths) } else { - let written_path = write_patch_file(head_with_prefix(""), diff, path)?; + let written_path = write_patch_file(head_with_prefix(""), diff, path, split_options)?; Ok(vec![written_path]) } @@ -154,18 +162,33 @@ fn write_patch_file<'a>( head: &PatchHead<'a>, diff: &Diff<'a>, output_path: PathBuf, + split_options: &SplitOptions, ) -> Result> { - let mut file = temp_file_for(&*output_path, None)?; - head.write_to(&mut *file)?; - diff.write_to(&mut *file)?; - Ok(file.persist()?) + if split_options.dry_run { + Ok(output_path.into()) + } else { + let mut file = temp_file_for(&*output_path, None)?; + head.write_to(&mut *file)?; + diff.write_to(&mut *file)?; + Ok(file.persist()?) + } +} + +impl HandleCheckError for &SplitOptions { + fn handle_check_error(&mut self, run_check: &dyn Fn() -> Result<(), CheckError>) -> Result<()> { + if self.ignore_range_errors { + Ok(()) + } else { + run_check().map_err(Into::into) + } + } } /// Returns the list of files created pub fn split_patch(patch_file_path: &Path, split_options: &SplitOptions) -> Result>> { let bump = Bump::new(); let lines = read_lines_in(patch_file_path, &bump)?.into_bump_slice(); - let patch = Patch::from_lines(lines, &bump)?; + let patch = Patch::from_lines(lines, &bump, split_options.parse_mode, split_options)?; // XX consumes patch.diffs; should make it to be OK with & instead let diffs = patch.diffs.into_bump_slice(); diff --git a/split-patch/src/split_options.rs b/split-patch/src/split_options.rs index f275df3..ed4670a 100644 --- a/split-patch/src/split_options.rs +++ b/split-patch/src/split_options.rs @@ -1,6 +1,7 @@ use std::path::PathBuf; use clap::Parser; +use patchparser::patch::hunk::ParseMode; #[derive(Debug, Clone, clap::Parser)] #[command(allow_hyphen_values = true)] @@ -13,6 +14,35 @@ pub struct SplitArgs { #[clap(short, long)] pub changes: bool, + /// Always check everything (down to the individual changes) for + /// correct syntax and change range numbers (unless + /// `--ignore-range-errors` is given). By default, only parses + /// fully on demand, i.e. when `--changes` is given. + #[clap(long)] + pub check: bool, + + /// Check everything like `--check`, but do not produce any output + /// files. + #[clap(long)] + pub check_only: bool, + + /// Regenerate the output from the fully parsed version; by + /// default, even with `--check`, by default the original data is + /// re-used where possible. Implies `--ignore-range-errors` (but + /// also giving `--check` disables the ignoring). + #[clap(short, long)] + pub regenerate: bool, + + /// When parsing hunks (i.e. when `--check`, `--changes` or + /// `--regenerate` was given, although the latter implies this + /// option), ignore range lengths in the input files. Range + /// lengths used in the output files are always calculated from + /// the actual change set bodies if hunks were parsed; this option + /// simply omits a comparison with what is provided in the input + /// files. + #[clap(long)] + pub ignore_range_errors: bool, + /// Omit the addition of a prefix to the subject line of patch /// files that have a git style patch header #[clap(long)] @@ -24,6 +54,10 @@ pub struct SplitArgs { #[clap(long)] pub monotonous_numbers: bool, + /// Do not produce any output files (useful for checks). + #[clap(long)] + pub dry_run: bool, + /// Path to the directory where to write the split files /// to. Default: the same directory as the input file. #[clap(long)] @@ -74,6 +108,12 @@ impl SplitMode { /// The options for splitting a patch file (can be converted from /// `SplitArgs`) pub struct SplitOptions { + /// Path to the directory where to write the split files + /// to. Default: the same directory as the input file. + pub output_dir: Option, + /// Do not produce any output files (useful for checks). + pub dry_run: bool, + /// Which boundary to split on. pub mode: SplitMode, /// Add a prefix to the subject line of patch files if present pub subject_change: bool, @@ -81,26 +121,51 @@ pub struct SplitOptions { /// generating the ids for the generated output file names and /// subject prefixes instead of `{hunk_id}-{change_id}`. pub monotonous_numbers: bool, - /// Path to the directory where to write the split files - /// to. Default: the same directory as the input file. - pub output_dir: Option, /// Insert the prefix after "[PATCH]" instead of before /// everything. pub insert_after_patch: bool, + pub parse_mode: ParseMode, + /// When parsing hunks, ignore range lengths in the input + /// files. Range lengths used in the output files are always + /// calculated from the actual change set bodies if hunks were + /// parsed; this option simply omits a comparison with what is + /// provided in the input files. + pub ignore_range_errors: bool, } impl From for SplitOptions { + /// Prints a warning to stderr when options do not make sense, but + /// proceeds anyway. fn from(value: SplitArgs) -> Self { let SplitArgs { hunks, changes, + check, + check_only, + regenerate, + ignore_range_errors, no_subject_change, monotonous_numbers, + dry_run, output_dir, no_insert_after_patch, } = value; + let full_check = check || check_only; + let parse_mode = ParseMode::from_options(full_check, regenerate); + + let dry = check_only || dry_run; + if dry && regenerate { + eprintln!( + "split-patch: note: combining --check-only or --dry-run \ + with --regenerate only makes partial sense; use \ + --ignore-range-errors instead of --regenerate" + ); + } + SplitOptions { + output_dir, + dry_run: dry, mode: if changes { SplitMode::Change } else if hunks { @@ -110,8 +175,9 @@ impl From for SplitOptions { }, subject_change: !no_subject_change, monotonous_numbers, - output_dir, insert_after_patch: !no_insert_after_patch, + parse_mode, + ignore_range_errors: ignore_range_errors || (regenerate && !check), } } } diff --git a/split-patch/test/chj-home-expected/--changes/0015-use-.emacs.d-from-chj-emacs/0015-use-.emacs.d-from-chj-emacs-.emacs.d-000.patch b/split-patch/test/chj-home-expected/--changes/0015-use-.emacs.d-from-chj-emacs/0015-use-.emacs.d-from-chj-emacs-.emacs.d-000.patch index a43ca32..84f7204 100644 --- a/split-patch/test/chj-home-expected/--changes/0015-use-.emacs.d-from-chj-emacs/0015-use-.emacs.d-from-chj-emacs-.emacs.d-000.patch +++ b/split-patch/test/chj-home-expected/--changes/0015-use-.emacs.d-from-chj-emacs/0015-use-.emacs.d-from-chj-emacs-.emacs.d-000.patch @@ -16,6 +16,6 @@ diff --git a/.emacs.d b/.emacs.d new file mode 120000 --- /dev/null +++ b/.emacs.d -@@ -0,1 +1,2 @@ +@@ -0,0 +1,1 @@ +/opt/chj/emacs/.emacs.d \ No newline at end of file diff --git a/split-patch/test/chj-home-expected/--changes/0015-use-.emacs.d-from-chj-emacs/0015-use-.emacs.d-from-chj-emacs-.emacs.d_julia-mode-tests.el-000.patch b/split-patch/test/chj-home-expected/--changes/0015-use-.emacs.d-from-chj-emacs/0015-use-.emacs.d-from-chj-emacs-.emacs.d_julia-mode-tests.el-000.patch index fb1ee69..0498caf 100644 --- a/split-patch/test/chj-home-expected/--changes/0015-use-.emacs.d-from-chj-emacs/0015-use-.emacs.d-from-chj-emacs-.emacs.d_julia-mode-tests.el-000.patch +++ b/split-patch/test/chj-home-expected/--changes/0015-use-.emacs.d-from-chj-emacs/0015-use-.emacs.d-from-chj-emacs-.emacs.d_julia-mode-tests.el-000.patch @@ -16,6 +16,6 @@ diff --git a/.emacs.d/julia-mode-tests.el b/.emacs.d/julia-mode-tests.el deleted file mode 120000 --- a/.emacs.d/julia-mode-tests.el +++ /dev/null -@@ -1,2 +0,1 @@ +@@ -1,1 +0,0 @@ -../src/julia-emacs/julia-mode-tests.el \ No newline at end of file diff --git a/split-patch/test/chj-home-expected/--changes/0015-use-.emacs.d-from-chj-emacs/0015-use-.emacs.d-from-chj-emacs-.emacs.d_julia-mode.el-000.patch b/split-patch/test/chj-home-expected/--changes/0015-use-.emacs.d-from-chj-emacs/0015-use-.emacs.d-from-chj-emacs-.emacs.d_julia-mode.el-000.patch index d155e8a..1ae6cf2 100644 --- a/split-patch/test/chj-home-expected/--changes/0015-use-.emacs.d-from-chj-emacs/0015-use-.emacs.d-from-chj-emacs-.emacs.d_julia-mode.el-000.patch +++ b/split-patch/test/chj-home-expected/--changes/0015-use-.emacs.d-from-chj-emacs/0015-use-.emacs.d-from-chj-emacs-.emacs.d_julia-mode.el-000.patch @@ -16,6 +16,6 @@ diff --git a/.emacs.d/julia-mode.el b/.emacs.d/julia-mode.el deleted file mode 120000 --- a/.emacs.d/julia-mode.el +++ /dev/null -@@ -1,2 +0,1 @@ +@@ -1,1 +0,0 @@ -../src/julia-emacs/julia-mode.el \ No newline at end of file diff --git a/split-patch/test/chj-home-expected/--changes/0016-replace-external-symlinks-with-a-script/0016-replace-external-symlinks-with-a-script-.emacs-000.patch b/split-patch/test/chj-home-expected/--changes/0016-replace-external-symlinks-with-a-script/0016-replace-external-symlinks-with-a-script-.emacs-000.patch index 827f4ee..bff43b0 100644 --- a/split-patch/test/chj-home-expected/--changes/0016-replace-external-symlinks-with-a-script/0016-replace-external-symlinks-with-a-script-.emacs-000.patch +++ b/split-patch/test/chj-home-expected/--changes/0016-replace-external-symlinks-with-a-script/0016-replace-external-symlinks-with-a-script-.emacs-000.patch @@ -18,6 +18,6 @@ diff --git a/.emacs b/.emacs deleted file mode 120000 --- a/.emacs +++ /dev/null -@@ -1,2 +0,1 @@ +@@ -1,1 +0,0 @@ -/opt/chj/emacs/.emacs \ No newline at end of file diff --git a/split-patch/test/chj-home-expected/--changes/0016-replace-external-symlinks-with-a-script/0016-replace-external-symlinks-with-a-script-.emacs.d-000.patch b/split-patch/test/chj-home-expected/--changes/0016-replace-external-symlinks-with-a-script/0016-replace-external-symlinks-with-a-script-.emacs.d-000.patch index 94a812c..ca0e2e0 100644 --- a/split-patch/test/chj-home-expected/--changes/0016-replace-external-symlinks-with-a-script/0016-replace-external-symlinks-with-a-script-.emacs.d-000.patch +++ b/split-patch/test/chj-home-expected/--changes/0016-replace-external-symlinks-with-a-script/0016-replace-external-symlinks-with-a-script-.emacs.d-000.patch @@ -18,6 +18,6 @@ diff --git a/.emacs.d b/.emacs.d deleted file mode 120000 --- a/.emacs.d +++ /dev/null -@@ -1,2 +0,1 @@ +@@ -1,1 +0,0 @@ -/opt/chj/emacs/.emacs.d \ No newline at end of file diff --git a/split-patch/test/chj-home-expected/--changes/0016-replace-external-symlinks-with-a-script/0016-replace-external-symlinks-with-a-script-.xemacs_init.el-000.patch b/split-patch/test/chj-home-expected/--changes/0016-replace-external-symlinks-with-a-script/0016-replace-external-symlinks-with-a-script-.xemacs_init.el-000.patch index 1124d7d..62e7339 100644 --- a/split-patch/test/chj-home-expected/--changes/0016-replace-external-symlinks-with-a-script/0016-replace-external-symlinks-with-a-script-.xemacs_init.el-000.patch +++ b/split-patch/test/chj-home-expected/--changes/0016-replace-external-symlinks-with-a-script/0016-replace-external-symlinks-with-a-script-.xemacs_init.el-000.patch @@ -18,6 +18,6 @@ diff --git a/.xemacs/init.el b/.xemacs/init.el deleted file mode 120000 --- a/.xemacs/init.el +++ /dev/null -@@ -1,2 +0,1 @@ +@@ -1,1 +0,0 @@ -/opt/chj/xemacs/init.el \ No newline at end of file diff --git a/split-patch/test/chj-home-expected/--regenerate/0001-move-lt-to-chj-bin/0001-move-lt-to-chj-bin-.bashrc.patch b/split-patch/test/chj-home-expected/--regenerate/0001-move-lt-to-chj-bin/0001-move-lt-to-chj-bin-.bashrc.patch new file mode 100644 index 0000000..6501335 --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0001-move-lt-to-chj-bin/0001-move-lt-to-chj-bin-.bashrc.patch @@ -0,0 +1,22 @@ +From 17b94118244463edddb3abec7278c8567017d5a5 Mon Sep 17 00:00:00 2001 +From: Christian Jaeger +Date: Tue, 7 Feb 2017 22:07:24 +0000 +Subject: .bashrc: [PATCH 001/191] move lt to chj-bin + +--- + .bashrc | 2 -- + 1 file changed, 2 deletions(-) + +diff --git a/.bashrc b/.bashrc +index 40fbe10..c39fa24 100644 +--- a/.bashrc ++++ b/.bashrc +@@ -83,8 +83,6 @@ alias les=less + alias le=zless + #^ zless? egal ja ebe ?. nun. -- nope nid egal. cat file.gz|less doesn't work, zless does. + alias c=cd +-function lt { l "$@" |tail -20 ; } +-#well farbefehlt. und argumente fürs lt natürlich dumm. warum isch das kein skirpt ?? + alias cdsp="cd ~/Projekte/spielzeug" + cdnewdir() { + if [ "$#" -eq 1 ]; then diff --git a/split-patch/test/chj-home-expected/--regenerate/0001-move-lt-to-chj-bin/_list b/split-patch/test/chj-home-expected/--regenerate/0001-move-lt-to-chj-bin/_list new file mode 100644 index 0000000..938de0b --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0001-move-lt-to-chj-bin/_list @@ -0,0 +1 @@ +--regenerate/0001-move-lt-to-chj-bin/0001-move-lt-to-chj-bin-.bashrc.patch diff --git a/split-patch/test/chj-home-expected/--regenerate/0002-ignore-.xhtml/0002-ignore-.xhtml-.gitignore_global.patch b/split-patch/test/chj-home-expected/--regenerate/0002-ignore-.xhtml/0002-ignore-.xhtml-.gitignore_global.patch new file mode 100644 index 0000000..daa657e --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0002-ignore-.xhtml/0002-ignore-.xhtml-.gitignore_global.patch @@ -0,0 +1,17 @@ +From c27dce6611f3d3621d9d3ec96d4e6b098791b0ce Mon Sep 17 00:00:00 2001 +From: Christian Jaeger +Date: Sun, 19 Feb 2017 22:21:48 +0000 +Subject: .gitignore_global: [PATCH 002/191] ignore .xhtml + +--- + .gitignore_global | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/.gitignore_global b/.gitignore_global +index 27fa0d9..6199607 100644 +--- a/.gitignore_global ++++ b/.gitignore_global +@@ -1,2 +1,3 @@ + /PATCHES/ + *~ ++*.xhtml diff --git a/split-patch/test/chj-home-expected/--regenerate/0002-ignore-.xhtml/_list b/split-patch/test/chj-home-expected/--regenerate/0002-ignore-.xhtml/_list new file mode 100644 index 0000000..f3f3311 --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0002-ignore-.xhtml/_list @@ -0,0 +1 @@ +--regenerate/0002-ignore-.xhtml/0002-ignore-.xhtml-.gitignore_global.patch diff --git a/split-patch/test/chj-home-expected/--regenerate/0003-ignore-nohup.out/0003-ignore-nohup.out-.gitignore_global.patch b/split-patch/test/chj-home-expected/--regenerate/0003-ignore-nohup.out/0003-ignore-nohup.out-.gitignore_global.patch new file mode 100644 index 0000000..687d9d7 --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0003-ignore-nohup.out/0003-ignore-nohup.out-.gitignore_global.patch @@ -0,0 +1,18 @@ +From 2bbebda8b03d666fb59344fe1f8d6290856b0fab Mon Sep 17 00:00:00 2001 +From: Christian Jaeger +Date: Sun, 19 Feb 2017 22:22:38 +0000 +Subject: .gitignore_global: [PATCH 003/191] ignore nohup.out + +--- + .gitignore_global | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/.gitignore_global b/.gitignore_global +index 6199607..e7f3b26 100644 +--- a/.gitignore_global ++++ b/.gitignore_global +@@ -1,3 +1,4 @@ + /PATCHES/ + *~ + *.xhtml ++nohup.out diff --git a/split-patch/test/chj-home-expected/--regenerate/0003-ignore-nohup.out/_list b/split-patch/test/chj-home-expected/--regenerate/0003-ignore-nohup.out/_list new file mode 100644 index 0000000..eba911f --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0003-ignore-nohup.out/_list @@ -0,0 +1 @@ +--regenerate/0003-ignore-nohup.out/0003-ignore-nohup.out-.gitignore_global.patch diff --git a/split-patch/test/chj-home-expected/--regenerate/0004-git-wanted-this/0004-git-wanted-this-.gitconfig.patch b/split-patch/test/chj-home-expected/--regenerate/0004-git-wanted-this/0004-git-wanted-this-.gitconfig.patch new file mode 100644 index 0000000..c0b67cd --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0004-git-wanted-this/0004-git-wanted-this-.gitconfig.patch @@ -0,0 +1,45 @@ +From 415e2eca350d854bc0f8ff5dbde9e215a038b7cf Mon Sep 17 00:00:00 2001 +From: Christian Jaeger +Date: Wed, 13 Jul 2016 16:49:16 +0100 +Subject: .gitconfig: [PATCH 004/191] git wanted this + + chris@inside:~/arcola/wiki$ g-push + warning: push.default is unset; its implicit value has changed in + Git 2.0 from 'matching' to 'simple'. To squelch this message + and maintain the traditional behavior, use: + + git config --global push.default matching + + To squelch this message and adopt the new behavior now, use: + + git config --global push.default simple + + When push.default is set to 'matching', git will push local branches + to the remote branches that already exist with the same name. + + Since Git 2.0, Git defaults to the more conservative 'simple' + behavior, which only pushes the current branch to the corresponding + remote branch that 'git pull' uses to update the current branch. + + See 'git help config' and search for 'push.default' for further information. + (the 'simple' mode was introduced in Git 1.7.11. Use the similar mode + 'current' instead of 'simple' if you sometimes use older versions of Git) + +Conflicts: + .gitconfig +--- + .gitconfig | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/.gitconfig b/.gitconfig +index 0d2b514..3596608 100644 +--- a/.gitconfig ++++ b/.gitconfig +@@ -16,3 +16,7 @@ + + #[gpg] + # program = gpg+scrypt ++ ++#[push] ++# default = simple ++#wow old git can*not* deal with this diff --git a/split-patch/test/chj-home-expected/--regenerate/0004-git-wanted-this/_list b/split-patch/test/chj-home-expected/--regenerate/0004-git-wanted-this/_list new file mode 100644 index 0000000..cca1099 --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0004-git-wanted-this/_list @@ -0,0 +1 @@ +--regenerate/0004-git-wanted-this/0004-git-wanted-this-.gitconfig.patch diff --git a/split-patch/test/chj-home-expected/--regenerate/0005-ignore-.markdownmake.lck/0005-ignore-.markdownmake.lck-.gitignore_global.patch b/split-patch/test/chj-home-expected/--regenerate/0005-ignore-.markdownmake.lck/0005-ignore-.markdownmake.lck-.gitignore_global.patch new file mode 100644 index 0000000..9a474f6 --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0005-ignore-.markdownmake.lck/0005-ignore-.markdownmake.lck-.gitignore_global.patch @@ -0,0 +1,18 @@ +From 7bcdd9c86598bdff680a4620811e721273c4dd71 Mon Sep 17 00:00:00 2001 +From: Christian Jaeger +Date: Thu, 9 Mar 2017 12:30:16 +0000 +Subject: .gitignore_global: [PATCH 005/191] ignore .markdownmake.lck + +--- + .gitignore_global | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/.gitignore_global b/.gitignore_global +index e7f3b26..f9ad950 100644 +--- a/.gitignore_global ++++ b/.gitignore_global +@@ -2,3 +2,4 @@ + *~ + *.xhtml + nohup.out ++.markdownmake.lck diff --git a/split-patch/test/chj-home-expected/--regenerate/0005-ignore-.markdownmake.lck/_list b/split-patch/test/chj-home-expected/--regenerate/0005-ignore-.markdownmake.lck/_list new file mode 100644 index 0000000..db4d761 --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0005-ignore-.markdownmake.lck/_list @@ -0,0 +1 @@ +--regenerate/0005-ignore-.markdownmake.lck/0005-ignore-.markdownmake.lck-.gitignore_global.patch diff --git a/split-patch/test/chj-home-expected/--regenerate/0006-UK-locale/0006-UK-locale-.bashrc.patch b/split-patch/test/chj-home-expected/--regenerate/0006-UK-locale/0006-UK-locale-.bashrc.patch new file mode 100644 index 0000000..0ae90b7 --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0006-UK-locale/0006-UK-locale-.bashrc.patch @@ -0,0 +1,19 @@ +From d42730e14ae6fa78e0521962be4254fd74856e1f Mon Sep 17 00:00:00 2001 +From: Christian Jaeger +Date: Fri, 26 May 2017 22:15:43 +0100 +Subject: .bashrc: [PATCH 006/191] UK locale + +--- + .bashrc | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/.bashrc b/.bashrc +index c39fa24..3f7b081 100644 +--- a/.bashrc ++++ b/.bashrc +@@ -195,3 +195,5 @@ newRust () { + EOF + E users/Christian_Jaeger.md + } ++ ++export LANG=en_GB.UTF-8 diff --git a/split-patch/test/chj-home-expected/--regenerate/0006-UK-locale/_list b/split-patch/test/chj-home-expected/--regenerate/0006-UK-locale/_list new file mode 100644 index 0000000..4bbd986 --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0006-UK-locale/_list @@ -0,0 +1 @@ +--regenerate/0006-UK-locale/0006-UK-locale-.bashrc.patch diff --git a/split-patch/test/chj-home-expected/--regenerate/0007-obsolete/0007-obsolete-.bashrc.patch b/split-patch/test/chj-home-expected/--regenerate/0007-obsolete/0007-obsolete-.bashrc.patch new file mode 100644 index 0000000..1a423c0 --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0007-obsolete/0007-obsolete-.bashrc.patch @@ -0,0 +1,21 @@ +From b108a22573430b063d80ffadfb11fd85ebb560dd Mon Sep 17 00:00:00 2001 +From: Christian Jaeger +Date: Sun, 9 Jul 2017 03:04:13 +0100 +Subject: .bashrc: [PATCH 007/191] obsolete + +--- + .bashrc | 1 - + 1 file changed, 1 deletion(-) + +diff --git a/.bashrc b/.bashrc +index 3f7b081..7aae1e8 100644 +--- a/.bashrc ++++ b/.bashrc +@@ -83,7 +83,6 @@ alias les=less + alias le=zless + #^ zless? egal ja ebe ?. nun. -- nope nid egal. cat file.gz|less doesn't work, zless does. + alias c=cd +-alias cdsp="cd ~/Projekte/spielzeug" + cdnewdir() { + if [ "$#" -eq 1 ]; then + mkdir "$1" && cd "$1" diff --git a/split-patch/test/chj-home-expected/--regenerate/0007-obsolete/_list b/split-patch/test/chj-home-expected/--regenerate/0007-obsolete/_list new file mode 100644 index 0000000..ffc0bf2 --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0007-obsolete/_list @@ -0,0 +1 @@ +--regenerate/0007-obsolete/0007-obsolete-.bashrc.patch diff --git a/split-patch/test/chj-home-expected/--regenerate/0008-make-windows-key-Alt_L/0008-make-windows-key-Alt_L-.xmodmaprc.patch b/split-patch/test/chj-home-expected/--regenerate/0008-make-windows-key-Alt_L/0008-make-windows-key-Alt_L-.xmodmaprc.patch new file mode 100644 index 0000000..3f81a2a --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0008-make-windows-key-Alt_L/0008-make-windows-key-Alt_L-.xmodmaprc.patch @@ -0,0 +1,20 @@ +From 3dec5ddec7919870ca5734c97b81cab19c33d776 Mon Sep 17 00:00:00 2001 +From: Christian Jaeger +Date: Mon, 24 Jul 2017 22:53:27 +0100 +Subject: .xmodmaprc: [PATCH 008/191] make windows key Alt_L ? + +idea thanks to Chris D +--- + .xmodmaprc | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/.xmodmaprc b/.xmodmaprc +index 67a5d38..619a385 100644 +--- a/.xmodmaprc ++++ b/.xmodmaprc +@@ -17,4 +17,4 @@ + keycode 133 = less greater less greater backslash brokenbar backslash brokenbar + keycode 134 = backslash brokenbar + +- ++keycode 135 = Alt_L diff --git a/split-patch/test/chj-home-expected/--regenerate/0008-make-windows-key-Alt_L/_list b/split-patch/test/chj-home-expected/--regenerate/0008-make-windows-key-Alt_L/_list new file mode 100644 index 0000000..1c77d6e --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0008-make-windows-key-Alt_L/_list @@ -0,0 +1 @@ +--regenerate/0008-make-windows-key-Alt_L/0008-make-windows-key-Alt_L-.xmodmaprc.patch diff --git a/split-patch/test/chj-home-expected/--regenerate/0009-update-emacs-geometry-remove-ancient-entries/0009-update-emacs-geometry-remove-ancient-entries-.Xresources.patch b/split-patch/test/chj-home-expected/--regenerate/0009-update-emacs-geometry-remove-ancient-entries/0009-update-emacs-geometry-remove-ancient-entries-.Xresources.patch new file mode 100644 index 0000000..291823f --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0009-update-emacs-geometry-remove-ancient-entries/0009-update-emacs-geometry-remove-ancient-entries-.Xresources.patch @@ -0,0 +1,36 @@ +From 739546a7ecb65801b45253ac3ada9877f022f108 Mon Sep 17 00:00:00 2001 +From: Christian Jaeger +Date: Tue, 26 Sep 2017 12:17:58 +0100 +Subject: .Xresources: [PATCH 009/191] update emacs geometry, remove ancient entries + +--- + .Xresources | 11 ++--------- + 1 file changed, 2 insertions(+), 9 deletions(-) + +diff --git a/.Xresources b/.Xresources +index a2de11f..bb4ef8c 100644 +--- a/.Xresources ++++ b/.Xresources +@@ -14,20 +14,13 @@ xpdf.initialZoom: width + + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + +-emacs21*cursorColor: #e0f000 +-emacs21*Foreground: black +-emacs21*Background: white +-emacs21*geometry: 100x45 +-emacs21*toolbarlines: 0 +- +- + emacs23*cursorColor: #e0f000 + emacs23*Foreground: black + emacs23*Background: white +-emacs23*geometry: 100x45 ++emacs23*geometry: 80x65 + emacs23*toolbarlines: 0 + +-emacs*geometry: 83x45 ++emacs*geometry: 80x65 + + ! emacs23*font: -Adobe-Courier-Medium-R-Normal--17-120-100-100-M-100-ISO8859-1 + emacs23.font: -Adobe-Courier-Medium-R-Normal--17-120-100-100-M-100-ISO8859-1 diff --git a/split-patch/test/chj-home-expected/--regenerate/0009-update-emacs-geometry-remove-ancient-entries/_list b/split-patch/test/chj-home-expected/--regenerate/0009-update-emacs-geometry-remove-ancient-entries/_list new file mode 100644 index 0000000..1cb9981 --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0009-update-emacs-geometry-remove-ancient-entries/_list @@ -0,0 +1 @@ +--regenerate/0009-update-emacs-geometry-remove-ancient-entries/0009-update-emacs-geometry-remove-ancient-entries-.Xresources.patch diff --git a/split-patch/test/chj-home-expected/--regenerate/0010-remove-more-ancient-entries/0010-remove-more-ancient-entries-.Xresources.patch b/split-patch/test/chj-home-expected/--regenerate/0010-remove-more-ancient-entries/0010-remove-more-ancient-entries-.Xresources.patch new file mode 100644 index 0000000..349c14a --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0010-remove-more-ancient-entries/0010-remove-more-ancient-entries-.Xresources.patch @@ -0,0 +1,26 @@ +From 757137ff0e73a7a6a308b4e629800203eea0476e Mon Sep 17 00:00:00 2001 +From: Christian Jaeger +Date: Tue, 26 Sep 2017 12:18:48 +0100 +Subject: .Xresources: [PATCH 010/191] remove more ancient entries + +--- + .Xresources | 5 ----- + 1 file changed, 5 deletions(-) + +diff --git a/.Xresources b/.Xresources +index bb4ef8c..b6bea63 100644 +--- a/.Xresources ++++ b/.Xresources +@@ -22,12 +22,7 @@ emacs23*toolbarlines: 0 + + emacs*geometry: 80x65 + +-! emacs23*font: -Adobe-Courier-Medium-R-Normal--17-120-100-100-M-100-ISO8859-1 + emacs23.font: -Adobe-Courier-Medium-R-Normal--17-120-100-100-M-100-ISO8859-1 +-! emacs22.font: -Adobe-Courier-Medium-R-Normal--17-120-100-100-M-100-ISO8859-1 +-! emacs22.font: -misc-fixed-*-r-*-*-*-*-*-*-*-90-*-* +-emacs22.font: -misc-fixed-medium-r-normal--15-140-75-75-c-90-iso10646-1 +-emacs21.font: -misc-fixed-medium-r-normal--15-140-75-75-c-90-iso10646-1 + + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + diff --git a/split-patch/test/chj-home-expected/--regenerate/0010-remove-more-ancient-entries/_list b/split-patch/test/chj-home-expected/--regenerate/0010-remove-more-ancient-entries/_list new file mode 100644 index 0000000..7657904 --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0010-remove-more-ancient-entries/_list @@ -0,0 +1 @@ +--regenerate/0010-remove-more-ancient-entries/0010-remove-more-ancient-entries-.Xresources.patch diff --git a/split-patch/test/chj-home-expected/--regenerate/0011-remove-more-old-entries-apparently-unused/0011-remove-more-old-entries-apparently-unused-.Xresources.patch b/split-patch/test/chj-home-expected/--regenerate/0011-remove-more-old-entries-apparently-unused/0011-remove-more-old-entries-apparently-unused-.Xresources.patch new file mode 100644 index 0000000..25b37e3 --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0011-remove-more-old-entries-apparently-unused/0011-remove-more-old-entries-apparently-unused-.Xresources.patch @@ -0,0 +1,30 @@ +From e1fe6d2bf14b40567a693cbe03ce34f99226ee1f Mon Sep 17 00:00:00 2001 +From: Christian Jaeger +Date: Tue, 26 Sep 2017 12:20:21 +0100 +Subject: .Xresources: [PATCH 011/191] remove more old entries (apparently unused??) + +Only 1 GNU Emacs directive left (which *does* have an effect) +--- + .Xresources | 7 ------- + 1 file changed, 7 deletions(-) + +diff --git a/.Xresources b/.Xresources +index b6bea63..a8ee9dc 100644 +--- a/.Xresources ++++ b/.Xresources +@@ -14,15 +14,8 @@ xpdf.initialZoom: width + + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + +-emacs23*cursorColor: #e0f000 +-emacs23*Foreground: black +-emacs23*Background: white +-emacs23*geometry: 80x65 +-emacs23*toolbarlines: 0 +- + emacs*geometry: 80x65 + +-emacs23.font: -Adobe-Courier-Medium-R-Normal--17-120-100-100-M-100-ISO8859-1 + + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + diff --git a/split-patch/test/chj-home-expected/--regenerate/0011-remove-more-old-entries-apparently-unused/_list b/split-patch/test/chj-home-expected/--regenerate/0011-remove-more-old-entries-apparently-unused/_list new file mode 100644 index 0000000..e0c7464 --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0011-remove-more-old-entries-apparently-unused/_list @@ -0,0 +1 @@ +--regenerate/0011-remove-more-old-entries-apparently-unused/0011-remove-more-old-entries-apparently-unused-.Xresources.patch diff --git a/split-patch/test/chj-home-expected/--regenerate/0012-don-t-use-aliases/0012-don-t-use-aliases-.bashrc.patch b/split-patch/test/chj-home-expected/--regenerate/0012-don-t-use-aliases/0012-don-t-use-aliases-.bashrc.patch new file mode 100644 index 0000000..d0dc152 --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0012-don-t-use-aliases/0012-don-t-use-aliases-.bashrc.patch @@ -0,0 +1,87 @@ +From 552df4e787e2a89c22cb84dcc6d9013d67d896ef Mon Sep 17 00:00:00 2001 +From: Christian Jaeger +Date: Fri, 24 Nov 2017 16:04:15 +0000 +Subject: .bashrc: [PATCH 012/191] don't use aliases + +--- + .bashrc | 44 ++++++++++++++------------------------------ + 1 file changed, 14 insertions(+), 30 deletions(-) + +diff --git a/.bashrc b/.bashrc +index 7aae1e8..628e493 100644 +--- a/.bashrc ++++ b/.bashrc +@@ -43,28 +43,15 @@ xterm*|rxvt*) + ;; + esac + +-# Alias definitions. +-# You may want to put all your additions into a separate file like +-# ~/.bash_aliases, instead of adding them here directly. +-# See /usr/share/doc/bash-doc/examples in the bash-doc package. +- +-#if [ -f ~/.bash_aliases ]; then +-# . ~/.bash_aliases +-#fi + + # enable color support of ls and also add handy aliases + if [ "$TERM" != "dumb" ]; then + eval "`dircolors -b`" +- alias ls='ls --color=auto' ++ ls() { ls --color=auto "$@"; } + #alias dir='ls --color=auto --format=vertical' + #alias vdir='ls --color=auto --format=long' + fi + +-# some more ls aliases +-#alias ll='ls -l' +-#alias la='ls -A' +-#alias l='ls -CF' +- + # enable programmable completion features (you don't need to enable + # this, if it's already enabled in /etc/bash.bashrc and /etc/profile + # sources /etc/bash.bashrc). +@@ -72,17 +59,14 @@ fi + # . /etc/bash_completion + #fi + +- +-alias u="cd .." +-alias uu="cd ../.." +-alias uuu="cd ../../.." +-alias uuuu="cd ../../../.." +-alias uuuuu="cd ../../../../.." +-#alias cdnewdir=" +-alias les=less +-alias le=zless +-#^ zless? egal ja ebe ?. nun. -- nope nid egal. cat file.gz|less doesn't work, zless does. +-alias c=cd ++u() { cd ..; } ++uu() { cd ../..; } ++uuu() { cd ../../..; } ++uuuu() { cd ../../../..; } ++uuuuu() { cd ../../../../..; } ++les() { less; } ++le() { zless; } ++c() { cd; } + cdnewdir() { + if [ "$#" -eq 1 ]; then + mkdir "$1" && cd "$1" +@@ -150,12 +134,12 @@ ct () { + cd ~/Projekte/thesis + } + +-alias find=my.find +-alias df=my.df ++find() { my.find "$@"; } ++df() { my.df "$@"; } + +-alias mv='mv -i' +-alias cp='cp -i' +-#alias rm='rm -i' ++mv() { mv -i "$@"; } ++cp() { cp -i "$@"; } ++#rm() { rm -i "$@"; } + + alias cdth=ct + alias cdc='cd ~/Projekte/categorical' diff --git a/split-patch/test/chj-home-expected/--regenerate/0012-don-t-use-aliases/_list b/split-patch/test/chj-home-expected/--regenerate/0012-don-t-use-aliases/_list new file mode 100644 index 0000000..b65e01f --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0012-don-t-use-aliases/_list @@ -0,0 +1 @@ +--regenerate/0012-don-t-use-aliases/0012-don-t-use-aliases-.bashrc.patch diff --git a/split-patch/test/chj-home-expected/--regenerate/0013-cleanup/0013-cleanup-.bashrc.patch b/split-patch/test/chj-home-expected/--regenerate/0013-cleanup/0013-cleanup-.bashrc.patch new file mode 100644 index 0000000..7740d50 --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0013-cleanup/0013-cleanup-.bashrc.patch @@ -0,0 +1,23 @@ +From 17340a482aecca851dc24e3a9218ce78756de3e5 Mon Sep 17 00:00:00 2001 +From: Christian Jaeger +Date: Fri, 24 Nov 2017 16:05:07 +0000 +Subject: .bashrc: [PATCH 013/191] cleanup + +--- + .bashrc | 3 --- + 1 file changed, 3 deletions(-) + +diff --git a/.bashrc b/.bashrc +index 628e493..3376988 100644 +--- a/.bashrc ++++ b/.bashrc +@@ -141,9 +141,6 @@ mv() { mv -i "$@"; } + cp() { cp -i "$@"; } + #rm() { rm -i "$@"; } + +-alias cdth=ct +-alias cdc='cd ~/Projekte/categorical' +- + rens () { + cd scratch/ + ren -- "`lastfile .`" diff --git a/split-patch/test/chj-home-expected/--regenerate/0013-cleanup/_list b/split-patch/test/chj-home-expected/--regenerate/0013-cleanup/_list new file mode 100644 index 0000000..dc239a0 --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0013-cleanup/_list @@ -0,0 +1 @@ +--regenerate/0013-cleanup/0013-cleanup-.bashrc.patch diff --git a/split-patch/test/chj-home-expected/--regenerate/0014-cleanup/0014-cleanup-.xmodmaprc_off.patch b/split-patch/test/chj-home-expected/--regenerate/0014-cleanup/0014-cleanup-.xmodmaprc_off.patch new file mode 100644 index 0000000..f8d7eaa --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0014-cleanup/0014-cleanup-.xmodmaprc_off.patch @@ -0,0 +1,17 @@ +From f23039d5640682d9f146cf1dbad2cd215f3771b0 Mon Sep 17 00:00:00 2001 +From: Christian Jaeger +Date: Fri, 24 Nov 2017 16:05:44 +0000 +Subject: .xmodmaprc_off: [PATCH 014/191] cleanup + +--- + .xmodmaprc_off | 1 - + 1 file changed, 1 deletion(-) + delete mode 100644 .xmodmaprc_off + +diff --git a/.xmodmaprc_off b/.xmodmaprc_off +deleted file mode 100644 +index 32e7049..0000000 +--- a/.xmodmaprc_off ++++ /dev/null +@@ -1,1 +0,0 @@ +-keycode 133 = Alt_L Meta_L Alt_L Meta_L Alt_L Meta_L diff --git a/split-patch/test/chj-home-expected/--regenerate/0014-cleanup/_list b/split-patch/test/chj-home-expected/--regenerate/0014-cleanup/_list new file mode 100644 index 0000000..06394ee --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0014-cleanup/_list @@ -0,0 +1 @@ +--regenerate/0014-cleanup/0014-cleanup-.xmodmaprc_off.patch diff --git a/split-patch/test/chj-home-expected/--regenerate/0015-use-.emacs.d-from-chj-emacs/0015-use-.emacs.d-from-chj-emacs-.emacs.d.patch b/split-patch/test/chj-home-expected/--regenerate/0015-use-.emacs.d-from-chj-emacs/0015-use-.emacs.d-from-chj-emacs-.emacs.d.patch new file mode 100644 index 0000000..f71c33e --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0015-use-.emacs.d-from-chj-emacs/0015-use-.emacs.d-from-chj-emacs-.emacs.d.patch @@ -0,0 +1,22 @@ +From 3856abf19525fd456859771d9ba9fcf84dcaf585 Mon Sep 17 00:00:00 2001 +From: Christian Jaeger +Date: Fri, 24 Nov 2017 16:17:26 +0000 +Subject: .emacs.d: [PATCH 015/191] use .emacs.d from chj-emacs + +--- + .emacs.d | 1 + + .emacs.d/julia-mode-tests.el | 1 - + .emacs.d/julia-mode.el | 1 - + 3 files changed, 1 insertion(+), 2 deletions(-) + create mode 120000 .emacs.d + delete mode 120000 .emacs.d/julia-mode-tests.el + delete mode 120000 .emacs.d/julia-mode.el + +diff --git a/.emacs.d b/.emacs.d +new file mode 120000 +index 0000000..7d92121 +--- /dev/null ++++ b/.emacs.d +@@ -0,0 +1,1 @@ ++/opt/chj/emacs/.emacs.d +\ No newline at end of file diff --git a/split-patch/test/chj-home-expected/--regenerate/0015-use-.emacs.d-from-chj-emacs/0015-use-.emacs.d-from-chj-emacs-.emacs.d_julia-mode-tests.el.patch b/split-patch/test/chj-home-expected/--regenerate/0015-use-.emacs.d-from-chj-emacs/0015-use-.emacs.d-from-chj-emacs-.emacs.d_julia-mode-tests.el.patch new file mode 100644 index 0000000..f0cf749 --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0015-use-.emacs.d-from-chj-emacs/0015-use-.emacs.d-from-chj-emacs-.emacs.d_julia-mode-tests.el.patch @@ -0,0 +1,22 @@ +From 3856abf19525fd456859771d9ba9fcf84dcaf585 Mon Sep 17 00:00:00 2001 +From: Christian Jaeger +Date: Fri, 24 Nov 2017 16:17:26 +0000 +Subject: .emacs.d/julia-mode-tests.el: [PATCH 015/191] use .emacs.d from chj-emacs + +--- + .emacs.d | 1 + + .emacs.d/julia-mode-tests.el | 1 - + .emacs.d/julia-mode.el | 1 - + 3 files changed, 1 insertion(+), 2 deletions(-) + create mode 120000 .emacs.d + delete mode 120000 .emacs.d/julia-mode-tests.el + delete mode 120000 .emacs.d/julia-mode.el + +diff --git a/.emacs.d/julia-mode-tests.el b/.emacs.d/julia-mode-tests.el +deleted file mode 120000 +index 87ee3cd..0000000 +--- a/.emacs.d/julia-mode-tests.el ++++ /dev/null +@@ -1,1 +0,0 @@ +-../src/julia-emacs/julia-mode-tests.el +\ No newline at end of file diff --git a/split-patch/test/chj-home-expected/--regenerate/0015-use-.emacs.d-from-chj-emacs/0015-use-.emacs.d-from-chj-emacs-.emacs.d_julia-mode.el.patch b/split-patch/test/chj-home-expected/--regenerate/0015-use-.emacs.d-from-chj-emacs/0015-use-.emacs.d-from-chj-emacs-.emacs.d_julia-mode.el.patch new file mode 100644 index 0000000..aa410ba --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0015-use-.emacs.d-from-chj-emacs/0015-use-.emacs.d-from-chj-emacs-.emacs.d_julia-mode.el.patch @@ -0,0 +1,22 @@ +From 3856abf19525fd456859771d9ba9fcf84dcaf585 Mon Sep 17 00:00:00 2001 +From: Christian Jaeger +Date: Fri, 24 Nov 2017 16:17:26 +0000 +Subject: .emacs.d/julia-mode.el: [PATCH 015/191] use .emacs.d from chj-emacs + +--- + .emacs.d | 1 + + .emacs.d/julia-mode-tests.el | 1 - + .emacs.d/julia-mode.el | 1 - + 3 files changed, 1 insertion(+), 2 deletions(-) + create mode 120000 .emacs.d + delete mode 120000 .emacs.d/julia-mode-tests.el + delete mode 120000 .emacs.d/julia-mode.el + +diff --git a/.emacs.d/julia-mode.el b/.emacs.d/julia-mode.el +deleted file mode 120000 +index f4be874..0000000 +--- a/.emacs.d/julia-mode.el ++++ /dev/null +@@ -1,1 +0,0 @@ +-../src/julia-emacs/julia-mode.el +\ No newline at end of file diff --git a/split-patch/test/chj-home-expected/--regenerate/0015-use-.emacs.d-from-chj-emacs/_list b/split-patch/test/chj-home-expected/--regenerate/0015-use-.emacs.d-from-chj-emacs/_list new file mode 100644 index 0000000..839757b --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0015-use-.emacs.d-from-chj-emacs/_list @@ -0,0 +1,3 @@ +--regenerate/0015-use-.emacs.d-from-chj-emacs/0015-use-.emacs.d-from-chj-emacs-.emacs.d.patch +--regenerate/0015-use-.emacs.d-from-chj-emacs/0015-use-.emacs.d-from-chj-emacs-.emacs.d_julia-mode-tests.el.patch +--regenerate/0015-use-.emacs.d-from-chj-emacs/0015-use-.emacs.d-from-chj-emacs-.emacs.d_julia-mode.el.patch diff --git a/split-patch/test/chj-home-expected/--regenerate/0016-replace-external-symlinks-with-a-script/0016-replace-external-symlinks-with-a-script-.emacs.d.patch b/split-patch/test/chj-home-expected/--regenerate/0016-replace-external-symlinks-with-a-script/0016-replace-external-symlinks-with-a-script-.emacs.d.patch new file mode 100644 index 0000000..7912d9c --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0016-replace-external-symlinks-with-a-script/0016-replace-external-symlinks-with-a-script-.emacs.d.patch @@ -0,0 +1,24 @@ +From eff17834fd4eb720f2150fc1431ad537628c7250 Mon Sep 17 00:00:00 2001 +From: Christian Jaeger +Date: Fri, 24 Nov 2017 16:20:25 +0000 +Subject: .emacs.d: [PATCH 016/191] replace external symlinks with a script + +--- + .emacs | 1 - + .emacs.d | 1 - + .xemacs/init.el | 1 - + home-init | 16 ++++++++++++++++ + 4 files changed, 16 insertions(+), 3 deletions(-) + delete mode 120000 .emacs + delete mode 120000 .emacs.d + delete mode 120000 .xemacs/init.el + create mode 100755 home-init + +diff --git a/.emacs.d b/.emacs.d +deleted file mode 120000 +index 7d92121..0000000 +--- a/.emacs.d ++++ /dev/null +@@ -1,1 +0,0 @@ +-/opt/chj/emacs/.emacs.d +\ No newline at end of file diff --git a/split-patch/test/chj-home-expected/--regenerate/0016-replace-external-symlinks-with-a-script/0016-replace-external-symlinks-with-a-script-.emacs.patch b/split-patch/test/chj-home-expected/--regenerate/0016-replace-external-symlinks-with-a-script/0016-replace-external-symlinks-with-a-script-.emacs.patch new file mode 100644 index 0000000..2f3ac60 --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0016-replace-external-symlinks-with-a-script/0016-replace-external-symlinks-with-a-script-.emacs.patch @@ -0,0 +1,24 @@ +From eff17834fd4eb720f2150fc1431ad537628c7250 Mon Sep 17 00:00:00 2001 +From: Christian Jaeger +Date: Fri, 24 Nov 2017 16:20:25 +0000 +Subject: .emacs: [PATCH 016/191] replace external symlinks with a script + +--- + .emacs | 1 - + .emacs.d | 1 - + .xemacs/init.el | 1 - + home-init | 16 ++++++++++++++++ + 4 files changed, 16 insertions(+), 3 deletions(-) + delete mode 120000 .emacs + delete mode 120000 .emacs.d + delete mode 120000 .xemacs/init.el + create mode 100755 home-init + +diff --git a/.emacs b/.emacs +deleted file mode 120000 +index 66dae9d..0000000 +--- a/.emacs ++++ /dev/null +@@ -1,1 +0,0 @@ +-/opt/chj/emacs/.emacs +\ No newline at end of file diff --git a/split-patch/test/chj-home-expected/--regenerate/0016-replace-external-symlinks-with-a-script/0016-replace-external-symlinks-with-a-script-.xemacs_init.el.patch b/split-patch/test/chj-home-expected/--regenerate/0016-replace-external-symlinks-with-a-script/0016-replace-external-symlinks-with-a-script-.xemacs_init.el.patch new file mode 100644 index 0000000..9f39992 --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0016-replace-external-symlinks-with-a-script/0016-replace-external-symlinks-with-a-script-.xemacs_init.el.patch @@ -0,0 +1,24 @@ +From eff17834fd4eb720f2150fc1431ad537628c7250 Mon Sep 17 00:00:00 2001 +From: Christian Jaeger +Date: Fri, 24 Nov 2017 16:20:25 +0000 +Subject: .xemacs/init.el: [PATCH 016/191] replace external symlinks with a script + +--- + .emacs | 1 - + .emacs.d | 1 - + .xemacs/init.el | 1 - + home-init | 16 ++++++++++++++++ + 4 files changed, 16 insertions(+), 3 deletions(-) + delete mode 120000 .emacs + delete mode 120000 .emacs.d + delete mode 120000 .xemacs/init.el + create mode 100755 home-init + +diff --git a/.xemacs/init.el b/.xemacs/init.el +deleted file mode 120000 +index 34eb155..0000000 +--- a/.xemacs/init.el ++++ /dev/null +@@ -1,1 +0,0 @@ +-/opt/chj/xemacs/init.el +\ No newline at end of file diff --git a/split-patch/test/chj-home-expected/--regenerate/0016-replace-external-symlinks-with-a-script/0016-replace-external-symlinks-with-a-script-home-init.patch b/split-patch/test/chj-home-expected/--regenerate/0016-replace-external-symlinks-with-a-script/0016-replace-external-symlinks-with-a-script-home-init.patch new file mode 100644 index 0000000..c371eca --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0016-replace-external-symlinks-with-a-script/0016-replace-external-symlinks-with-a-script-home-init.patch @@ -0,0 +1,38 @@ +From eff17834fd4eb720f2150fc1431ad537628c7250 Mon Sep 17 00:00:00 2001 +From: Christian Jaeger +Date: Fri, 24 Nov 2017 16:20:25 +0000 +Subject: home-init: [PATCH 016/191] replace external symlinks with a script + +--- + .emacs | 1 - + .emacs.d | 1 - + .xemacs/init.el | 1 - + home-init | 16 ++++++++++++++++ + 4 files changed, 16 insertions(+), 3 deletions(-) + delete mode 120000 .emacs + delete mode 120000 .emacs.d + delete mode 120000 .xemacs/init.el + create mode 100755 home-init + +diff --git a/home-init b/home-init +new file mode 100755 +index 0000000..0d5c99c +--- /dev/null ++++ b/home-init +@@ -0,0 +1,16 @@ ++#!/bin/bash ++ ++set -euo pipefail ++IFS= ++ ++set -x ++ ++ln -s /opt/chj/emacs/.emacs ++ ++mkdir .xemacs/ ++ln -s /opt/chj/xemacs/init.el .xemacs/ ++ ++ln -s /opt/chj/emacs/.emacs.d ++ ++set +x ++echo done. diff --git a/split-patch/test/chj-home-expected/--regenerate/0016-replace-external-symlinks-with-a-script/_list b/split-patch/test/chj-home-expected/--regenerate/0016-replace-external-symlinks-with-a-script/_list new file mode 100644 index 0000000..3c4346d --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0016-replace-external-symlinks-with-a-script/_list @@ -0,0 +1,4 @@ +--regenerate/0016-replace-external-symlinks-with-a-script/0016-replace-external-symlinks-with-a-script-.emacs.patch +--regenerate/0016-replace-external-symlinks-with-a-script/0016-replace-external-symlinks-with-a-script-.emacs.d.patch +--regenerate/0016-replace-external-symlinks-with-a-script/0016-replace-external-symlinks-with-a-script-.xemacs_init.el.patch +--regenerate/0016-replace-external-symlinks-with-a-script/0016-replace-external-symlinks-with-a-script-home-init.patch diff --git a/split-patch/test/chj-home-expected/--regenerate/0017-home-init-run-lesskey/0017-home-init-run-lesskey-home-init.patch b/split-patch/test/chj-home-expected/--regenerate/0017-home-init-run-lesskey/0017-home-init-run-lesskey-home-init.patch new file mode 100644 index 0000000..3433ff2 --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0017-home-init-run-lesskey/0017-home-init-run-lesskey-home-init.patch @@ -0,0 +1,21 @@ +From 29848423fc9e2a9857dc6dcdba63783a511cd9d0 Mon Sep 17 00:00:00 2001 +From: Christian Jaeger +Date: Fri, 24 Nov 2017 16:20:42 +0000 +Subject: home-init: [PATCH 017/191] home-init: run lesskey + +--- + home-init | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/home-init b/home-init +index 0d5c99c..5baa08e 100755 +--- a/home-init ++++ b/home-init +@@ -12,5 +12,7 @@ ln -s /opt/chj/xemacs/init.el .xemacs/ + + ln -s /opt/chj/emacs/.emacs.d + ++lesskey ++ + set +x + echo done. diff --git a/split-patch/test/chj-home-expected/--regenerate/0017-home-init-run-lesskey/_list b/split-patch/test/chj-home-expected/--regenerate/0017-home-init-run-lesskey/_list new file mode 100644 index 0000000..95b9cb5 --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0017-home-init-run-lesskey/_list @@ -0,0 +1 @@ +--regenerate/0017-home-init-run-lesskey/0017-home-init-run-lesskey-home-init.patch diff --git a/split-patch/test/chj-home-expected/--regenerate/0018-fix-don-t-use-aliases/0018-fix-don-t-use-aliases-.bashrc.patch b/split-patch/test/chj-home-expected/--regenerate/0018-fix-don-t-use-aliases/0018-fix-don-t-use-aliases-.bashrc.patch new file mode 100644 index 0000000..cde673c --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0018-fix-don-t-use-aliases/0018-fix-don-t-use-aliases-.bashrc.patch @@ -0,0 +1,26 @@ +From 68702b2bd3e76c14e1033628e571d1460234ec34 Mon Sep 17 00:00:00 2001 +From: Christian Jaeger +Date: Sat, 25 Nov 2017 17:41:33 +0000 +Subject: .bashrc: [PATCH 018/191] fix "don't use aliases" + +--- + .bashrc | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/.bashrc b/.bashrc +index 3376988..6d068ab 100644 +--- a/.bashrc ++++ b/.bashrc +@@ -64,9 +64,9 @@ uu() { cd ../..; } + uuu() { cd ../../..; } + uuuu() { cd ../../../..; } + uuuuu() { cd ../../../../..; } +-les() { less; } +-le() { zless; } +-c() { cd; } ++les() { less "$@"; } ++le() { zless "$@"; } ++c() { cd "$@"; } + cdnewdir() { + if [ "$#" -eq 1 ]; then + mkdir "$1" && cd "$1" diff --git a/split-patch/test/chj-home-expected/--regenerate/0018-fix-don-t-use-aliases/_list b/split-patch/test/chj-home-expected/--regenerate/0018-fix-don-t-use-aliases/_list new file mode 100644 index 0000000..8c6f918 --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0018-fix-don-t-use-aliases/_list @@ -0,0 +1 @@ +--regenerate/0018-fix-don-t-use-aliases/0018-fix-don-t-use-aliases-.bashrc.patch diff --git a/split-patch/test/chj-home-expected/--regenerate/0019-home-init-fixes/0019-home-init-fixes-home-init.patch b/split-patch/test/chj-home-expected/--regenerate/0019-home-init-fixes/0019-home-init-fixes-home-init.patch new file mode 100644 index 0000000..755ab3f --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0019-home-init-fixes/0019-home-init-fixes-home-init.patch @@ -0,0 +1,26 @@ +From 82e1d75d2e155bbc9b929cb54d3e3965893c3d1f Mon Sep 17 00:00:00 2001 +From: Christian Jaeger +Date: Sat, 25 Nov 2017 18:00:06 +0000 +Subject: home-init: [PATCH 019/191] home-init: fixes + +--- + home-init | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +diff --git a/home-init b/home-init +index 5baa08e..73eedf2 100755 +--- a/home-init ++++ b/home-init +@@ -5,9 +5,11 @@ IFS= + + set -x + ++cd ++ + ln -s /opt/chj/emacs/.emacs + +-mkdir .xemacs/ ++mkdir .xemacs/ || true + ln -s /opt/chj/xemacs/init.el .xemacs/ + + ln -s /opt/chj/emacs/.emacs.d diff --git a/split-patch/test/chj-home-expected/--regenerate/0019-home-init-fixes/_list b/split-patch/test/chj-home-expected/--regenerate/0019-home-init-fixes/_list new file mode 100644 index 0000000..025f974 --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0019-home-init-fixes/_list @@ -0,0 +1 @@ +--regenerate/0019-home-init-fixes/0019-home-init-fixes-home-init.patch diff --git a/split-patch/test/chj-home-expected/--regenerate/0020-clean-up-PATH/0020-clean-up-PATH-.bash_profile.patch b/split-patch/test/chj-home-expected/--regenerate/0020-clean-up-PATH/0020-clean-up-PATH-.bash_profile.patch new file mode 100644 index 0000000..3903c7a --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0020-clean-up-PATH/0020-clean-up-PATH-.bash_profile.patch @@ -0,0 +1,30 @@ +From c7d942e546df485c4d8d7b9bddd9484d951ca17e Mon Sep 17 00:00:00 2001 +From: Christian Jaeger +Date: Sat, 25 Nov 2017 18:03:12 +0000 +Subject: .bash_profile: [PATCH 020/191] clean up PATH + +--- + .bash_profile | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/.bash_profile b/.bash_profile +index a7b6695..b09abff 100644 +--- a/.bash_profile ++++ b/.bash_profile +@@ -17,14 +17,14 @@ if [ -f ~/.bashrc ]; then + . ~/.bashrc + fi + +-PATH=/root/TEMP/cj-git-patchtool:/home/chris/NEUE/bin/:/home/chris/Projekte/spielzeug/bin:/opt/chj/bin:/usr/local/sbin:/usr/local/bin:/usr/local/Gambit-C/current/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games ++PATH=/opt/chj/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games + + # set PATH so it includes user's private bin if it exists + if [ -d ~/bin ] ; then + PATH=~/bin:"${PATH}" + fi + +-# software installed under the user's home, 'locally' ++# third party software (binaries) installed under the user's home, 'locally' + if [ -d ~/local/bin ] ; then + PATH=~/local/bin:"${PATH}" + fi diff --git a/split-patch/test/chj-home-expected/--regenerate/0020-clean-up-PATH/_list b/split-patch/test/chj-home-expected/--regenerate/0020-clean-up-PATH/_list new file mode 100644 index 0000000..4a03751 --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0020-clean-up-PATH/_list @@ -0,0 +1 @@ +--regenerate/0020-clean-up-PATH/0020-clean-up-PATH-.bash_profile.patch diff --git a/split-patch/test/chj-home-expected/--regenerate/0021-load-.bashrc-last/0021-load-.bashrc-last-.bash_profile.patch b/split-patch/test/chj-home-expected/--regenerate/0021-load-.bashrc-last/0021-load-.bashrc-last-.bash_profile.patch new file mode 100644 index 0000000..f5a1f26 --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0021-load-.bashrc-last/0021-load-.bashrc-last-.bash_profile.patch @@ -0,0 +1,35 @@ +From 820eed1d431ae02c46acf826ff3da09927d05f58 Mon Sep 17 00:00:00 2001 +From: Christian Jaeger +Date: Sat, 25 Nov 2017 18:06:41 +0000 +Subject: .bash_profile: [PATCH 021/191] load .bashrc last + +--- + .bash_profile | 11 ++++++----- + 1 file changed, 6 insertions(+), 5 deletions(-) + +diff --git a/.bash_profile b/.bash_profile +index b09abff..e15e231 100644 +--- a/.bash_profile ++++ b/.bash_profile +@@ -12,11 +12,6 @@ fi + # the default umask is set in /etc/login.defs + # umask 002 + +-# include .bashrc if it exists +-if [ -f ~/.bashrc ]; then +- . ~/.bashrc +-fi +- + PATH=/opt/chj/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games + + # set PATH so it includes user's private bin if it exists +@@ -40,3 +35,9 @@ unset LESSOPEN + unset LESSCLOSE + + export LANG=en_GB.UTF-8 ++ ++ ++# include .bashrc if it exists ++if [ -f ~/.bashrc ]; then ++ . ~/.bashrc ++fi diff --git a/split-patch/test/chj-home-expected/--regenerate/0021-load-.bashrc-last/_list b/split-patch/test/chj-home-expected/--regenerate/0021-load-.bashrc-last/_list new file mode 100644 index 0000000..777b475 --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0021-load-.bashrc-last/_list @@ -0,0 +1 @@ +--regenerate/0021-load-.bashrc-last/0021-load-.bashrc-last-.bash_profile.patch diff --git a/split-patch/test/chj-home-expected/--regenerate/0022-better-grouping/0022-better-grouping-.bash_profile.patch b/split-patch/test/chj-home-expected/--regenerate/0022-better-grouping/0022-better-grouping-.bash_profile.patch new file mode 100644 index 0000000..6c09fdc --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0022-better-grouping/0022-better-grouping-.bash_profile.patch @@ -0,0 +1,36 @@ +From 9b703ccc5ea71fb400f475a432ca1bdba323bb95 Mon Sep 17 00:00:00 2001 +From: Christian Jaeger +Date: Sat, 25 Nov 2017 18:07:26 +0000 +Subject: .bash_profile: [PATCH 022/191] better grouping + +--- + .bash_profile | 9 +++------ + 1 file changed, 3 insertions(+), 6 deletions(-) + +diff --git a/.bash_profile b/.bash_profile +index e15e231..5db0ab7 100644 +--- a/.bash_profile ++++ b/.bash_profile +@@ -24,19 +24,16 @@ if [ -d ~/local/bin ] ; then + PATH=~/local/bin:"${PATH}" + fi + ++unset LESSOPEN ++unset LESSCLOSE ++ + ulimit -S -v 1200000 + + export EDITOR=e + export BROWSER="chromium-chrissbx -- --new-window" +- + export EMAIL='ch@christianjaeger.ch' +- +-unset LESSOPEN +-unset LESSCLOSE +- + export LANG=en_GB.UTF-8 + +- + # include .bashrc if it exists + if [ -f ~/.bashrc ]; then + . ~/.bashrc diff --git a/split-patch/test/chj-home-expected/--regenerate/0022-better-grouping/_list b/split-patch/test/chj-home-expected/--regenerate/0022-better-grouping/_list new file mode 100644 index 0000000..6bb7f03 --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0022-better-grouping/_list @@ -0,0 +1 @@ +--regenerate/0022-better-grouping/0022-better-grouping-.bash_profile.patch diff --git a/split-patch/test/chj-home-expected/--regenerate/0023-remove-duplicate/0023-remove-duplicate-.bashrc.patch b/split-patch/test/chj-home-expected/--regenerate/0023-remove-duplicate/0023-remove-duplicate-.bashrc.patch new file mode 100644 index 0000000..d50a62d --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0023-remove-duplicate/0023-remove-duplicate-.bashrc.patch @@ -0,0 +1,18 @@ +From d06e5bb990a3f9c314aee4b1e23fd4ffbec11c3f Mon Sep 17 00:00:00 2001 +From: Christian Jaeger +Date: Sat, 25 Nov 2017 18:09:23 +0000 +Subject: .bashrc: [PATCH 023/191] remove duplicate + +--- + .bashrc | 1 - + 1 file changed, 1 deletion(-) + +diff --git a/.bashrc b/.bashrc +index 6d068ab..e92bf87 100644 +--- a/.bashrc ++++ b/.bashrc +@@ -176,4 +176,3 @@ EOF + E users/Christian_Jaeger.md + } + +-export LANG=en_GB.UTF-8 diff --git a/split-patch/test/chj-home-expected/--regenerate/0023-remove-duplicate/_list b/split-patch/test/chj-home-expected/--regenerate/0023-remove-duplicate/_list new file mode 100644 index 0000000..4fa6b96 --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0023-remove-duplicate/_list @@ -0,0 +1 @@ +--regenerate/0023-remove-duplicate/0023-remove-duplicate-.bashrc.patch diff --git a/split-patch/test/chj-home-expected/--regenerate/0024-move-to-.bash_profile/0024-move-to-.bash_profile-.bash_profile.patch b/split-patch/test/chj-home-expected/--regenerate/0024-move-to-.bash_profile/0024-move-to-.bash_profile-.bash_profile.patch new file mode 100644 index 0000000..2fcb211 --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0024-move-to-.bash_profile/0024-move-to-.bash_profile-.bash_profile.patch @@ -0,0 +1,25 @@ +From e29a67997b3e7953e306a5c770d2632fded8d9c9 Mon Sep 17 00:00:00 2001 +From: Christian Jaeger +Date: Sat, 25 Nov 2017 18:09:58 +0000 +Subject: .bash_profile: [PATCH 024/191] move to .bash_profile + +--- + .bash_profile | 4 ++++ + .bashrc | 4 ---- + 2 files changed, 4 insertions(+), 4 deletions(-) + +diff --git a/.bash_profile b/.bash_profile +index 5db0ab7..565c942 100644 +--- a/.bash_profile ++++ b/.bash_profile +@@ -26,6 +26,10 @@ fi + + unset LESSOPEN + unset LESSCLOSE ++# not running Gnome anymore, for some reason this env var is set, why ++# no idea, XX. ++unset GNOME_KEYRING_CONTROL ++ + + ulimit -S -v 1200000 + diff --git a/split-patch/test/chj-home-expected/--regenerate/0024-move-to-.bash_profile/0024-move-to-.bash_profile-.bashrc.patch b/split-patch/test/chj-home-expected/--regenerate/0024-move-to-.bash_profile/0024-move-to-.bash_profile-.bashrc.patch new file mode 100644 index 0000000..243e5b5 --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0024-move-to-.bash_profile/0024-move-to-.bash_profile-.bashrc.patch @@ -0,0 +1,25 @@ +From e29a67997b3e7953e306a5c770d2632fded8d9c9 Mon Sep 17 00:00:00 2001 +From: Christian Jaeger +Date: Sat, 25 Nov 2017 18:09:58 +0000 +Subject: .bashrc: [PATCH 024/191] move to .bash_profile + +--- + .bash_profile | 4 ++++ + .bashrc | 4 ---- + 2 files changed, 4 insertions(+), 4 deletions(-) + +diff --git a/.bashrc b/.bashrc +index e92bf87..72a5111 100644 +--- a/.bashrc ++++ b/.bashrc +@@ -146,10 +146,6 @@ rens () { + ren -- "`lastfile .`" + } + +-# hm hack for novo, not running Gnome anymore, for some reason this +-# env var is set, why no idea, foo. +-unset GNOME_KEYRING_CONTROL +- + settitle () { + unset PROMPT_COMMAND + /opt/chj/bin/settitle "$@" diff --git a/split-patch/test/chj-home-expected/--regenerate/0024-move-to-.bash_profile/_list b/split-patch/test/chj-home-expected/--regenerate/0024-move-to-.bash_profile/_list new file mode 100644 index 0000000..b0642bb --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0024-move-to-.bash_profile/_list @@ -0,0 +1,2 @@ +--regenerate/0024-move-to-.bash_profile/0024-move-to-.bash_profile-.bash_profile.patch +--regenerate/0024-move-to-.bash_profile/0024-move-to-.bash_profile-.bashrc.patch diff --git a/split-patch/test/chj-home-expected/--regenerate/0025-more-move-to-.bash_profile-incl.-HISTSIZE/0025-more-move-to-.bash_profile-incl.-HISTSIZE-.bash_profile.patch b/split-patch/test/chj-home-expected/--regenerate/0025-more-move-to-.bash_profile-incl.-HISTSIZE/0025-more-move-to-.bash_profile-incl.-HISTSIZE-.bash_profile.patch new file mode 100644 index 0000000..8e49a40 --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0025-more-move-to-.bash_profile-incl.-HISTSIZE/0025-more-move-to-.bash_profile-incl.-HISTSIZE-.bash_profile.patch @@ -0,0 +1,23 @@ +From 114eb72c07538a5a86044ec6306827a7b476fad8 Mon Sep 17 00:00:00 2001 +From: Christian Jaeger +Date: Sat, 25 Nov 2017 18:11:00 +0000 +Subject: .bash_profile: [PATCH 025/191] more move to .bash_profile, incl. HISTSIZE + +--- + .bash_profile | 2 ++ + .bashrc | 4 +--- + 2 files changed, 3 insertions(+), 3 deletions(-) + +diff --git a/.bash_profile b/.bash_profile +index 565c942..058ab03 100644 +--- a/.bash_profile ++++ b/.bash_profile +@@ -29,6 +29,8 @@ unset LESSCLOSE + # not running Gnome anymore, for some reason this env var is set, why + # no idea, XX. + unset GNOME_KEYRING_CONTROL ++export COLUMNS ++export HISTSIZE=1500 + + + ulimit -S -v 1200000 diff --git a/split-patch/test/chj-home-expected/--regenerate/0025-more-move-to-.bash_profile-incl.-HISTSIZE/0025-more-move-to-.bash_profile-incl.-HISTSIZE-.bashrc.patch b/split-patch/test/chj-home-expected/--regenerate/0025-more-move-to-.bash_profile-incl.-HISTSIZE/0025-more-move-to-.bash_profile-incl.-HISTSIZE-.bashrc.patch new file mode 100644 index 0000000..51c5934 --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0025-more-move-to-.bash_profile-incl.-HISTSIZE/0025-more-move-to-.bash_profile-incl.-HISTSIZE-.bashrc.patch @@ -0,0 +1,29 @@ +From 114eb72c07538a5a86044ec6306827a7b476fad8 Mon Sep 17 00:00:00 2001 +From: Christian Jaeger +Date: Sat, 25 Nov 2017 18:11:00 +0000 +Subject: .bashrc: [PATCH 025/191] more move to .bash_profile, incl. HISTSIZE + +--- + .bash_profile | 2 ++ + .bashrc | 4 +--- + 2 files changed, 3 insertions(+), 3 deletions(-) + +diff --git a/.bashrc b/.bashrc +index 72a5111..2b1c696 100644 +--- a/.bashrc ++++ b/.bashrc +@@ -119,9 +119,6 @@ cdpwd() { + cdp() { + cd "`pwd -P`" + } +-export COLUMNS +- +-HISTSIZE=1500 + + unlimit() { + ulimit -S -v unlimited +@@ -172,3 +169,4 @@ EOF + E users/Christian_Jaeger.md + } + ++ diff --git a/split-patch/test/chj-home-expected/--regenerate/0025-more-move-to-.bash_profile-incl.-HISTSIZE/_list b/split-patch/test/chj-home-expected/--regenerate/0025-more-move-to-.bash_profile-incl.-HISTSIZE/_list new file mode 100644 index 0000000..c80d438 --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0025-more-move-to-.bash_profile-incl.-HISTSIZE/_list @@ -0,0 +1,2 @@ +--regenerate/0025-more-move-to-.bash_profile-incl.-HISTSIZE/0025-more-move-to-.bash_profile-incl.-HISTSIZE-.bash_profile.patch +--regenerate/0025-more-move-to-.bash_profile-incl.-HISTSIZE/0025-more-move-to-.bash_profile-incl.-HISTSIZE-.bashrc.patch diff --git a/split-patch/test/chj-home-expected/--regenerate/0026-cleanup/0026-cleanup-.bashrc.patch b/split-patch/test/chj-home-expected/--regenerate/0026-cleanup/0026-cleanup-.bashrc.patch new file mode 100644 index 0000000..d862ef5 --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0026-cleanup/0026-cleanup-.bashrc.patch @@ -0,0 +1,52 @@ +From 9172035a88746f4e65ae8e1f1065672bbee570ae Mon Sep 17 00:00:00 2001 +From: Christian Jaeger +Date: Sat, 25 Nov 2017 18:12:53 +0000 +Subject: .bashrc: [PATCH 026/191] cleanup + +--- + .bashrc | 11 ++--------- + 1 file changed, 2 insertions(+), 9 deletions(-) + +diff --git a/.bashrc b/.bashrc +index 2b1c696..100cdc6 100644 +--- a/.bashrc ++++ b/.bashrc +@@ -76,7 +76,7 @@ cdnewdir() { + }; + mvcdnewdir() { + if [ "$#" -gt 1 ]; then +- mvnewdir "$@" && cd "${!#}" # ${!#}: Tip 16Nov02 1544 von #bash ++ mvnewdir "$@" && cd "${!#}" + else + echo At least two arguments expected + fi +@@ -86,7 +86,7 @@ mvcd() { + if [ -d "${!#}" ]; then + mv "$@" && cd "${!#}" + else +- #echo Last argument is not a directory ++ # echo Last argument is not a directory + if [ "$#" -eq 2 ]; then + if [ -d "$1" ]; then + mv "$@" && cd "${!#}" +@@ -115,10 +115,6 @@ cdt() { + cdpwd() { + cd "`pwd -P`" + } +-# ich benutz doch (wieder?) oefter cdp (Buchsi schwimmbad) +-cdp() { +- cd "`pwd -P`" +-} + + unlimit() { + ulimit -S -v unlimited +@@ -127,9 +123,6 @@ unlimit() { + cs() { + cd ~/scratch + } +-ct () { +- cd ~/Projekte/thesis +-} + + find() { my.find "$@"; } + df() { my.df "$@"; } diff --git a/split-patch/test/chj-home-expected/--regenerate/0026-cleanup/_list b/split-patch/test/chj-home-expected/--regenerate/0026-cleanup/_list new file mode 100644 index 0000000..f64abec --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0026-cleanup/_list @@ -0,0 +1 @@ +--regenerate/0026-cleanup/0026-cleanup-.bashrc.patch diff --git a/split-patch/test/chj-home-expected/--regenerate/0027-more-move-to-.bash_profile-beautify/0027-more-move-to-.bash_profile-beautify-.bash_profile.patch b/split-patch/test/chj-home-expected/--regenerate/0027-more-move-to-.bash_profile-beautify/0027-more-move-to-.bash_profile-beautify-.bash_profile.patch new file mode 100644 index 0000000..8d9a5d0 --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0027-more-move-to-.bash_profile-beautify/0027-more-move-to-.bash_profile-beautify-.bash_profile.patch @@ -0,0 +1,44 @@ +From c0dc80eec89295c7be39bb600ddee1df86126131 Mon Sep 17 00:00:00 2001 +From: Christian Jaeger +Date: Sat, 25 Nov 2017 18:14:31 +0000 +Subject: .bash_profile: [PATCH 027/191] more move to .bash_profile, beautify + +--- + .bash_profile | 9 +++++++++ + .bashrc | 2 -- + 2 files changed, 9 insertions(+), 2 deletions(-) + +diff --git a/.bash_profile b/.bash_profile +index 058ab03..f4bffe6 100644 +--- a/.bash_profile ++++ b/.bash_profile +@@ -24,6 +24,8 @@ if [ -d ~/local/bin ] ; then + PATH=~/local/bin:"${PATH}" + fi + ++ ++# --- General env setup ------- + unset LESSOPEN + unset LESSCLOSE + # not running Gnome anymore, for some reason this env var is set, why +@@ -33,13 +35,20 @@ export COLUMNS + export HISTSIZE=1500 + + ++# --- Machine specific env setup: ------- ++export ALSARECDEV='sysdefault:CARD=C1100' ++ + ulimit -S -v 1200000 + ++ ++# --- Personal env setup: ------- + export EDITOR=e + export BROWSER="chromium-chrissbx -- --new-window" + export EMAIL='ch@christianjaeger.ch' + export LANG=en_GB.UTF-8 + ++ ++# --- End ------------------------------------- + # include .bashrc if it exists + if [ -f ~/.bashrc ]; then + . ~/.bashrc diff --git a/split-patch/test/chj-home-expected/--regenerate/0027-more-move-to-.bash_profile-beautify/0027-more-move-to-.bash_profile-beautify-.bashrc.patch b/split-patch/test/chj-home-expected/--regenerate/0027-more-move-to-.bash_profile-beautify/0027-more-move-to-.bash_profile-beautify-.bashrc.patch new file mode 100644 index 0000000..986dc34 --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0027-more-move-to-.bash_profile-beautify/0027-more-move-to-.bash_profile-beautify-.bashrc.patch @@ -0,0 +1,23 @@ +From c0dc80eec89295c7be39bb600ddee1df86126131 Mon Sep 17 00:00:00 2001 +From: Christian Jaeger +Date: Sat, 25 Nov 2017 18:14:31 +0000 +Subject: .bashrc: [PATCH 027/191] more move to .bash_profile, beautify + +--- + .bash_profile | 9 +++++++++ + .bashrc | 2 -- + 2 files changed, 9 insertions(+), 2 deletions(-) + +diff --git a/.bashrc b/.bashrc +index 100cdc6..d319bea 100644 +--- a/.bashrc ++++ b/.bashrc +@@ -142,8 +142,6 @@ settitle () { + } + + +-export ALSARECDEV='sysdefault:CARD=C1100' +- + newAI () { + cd ~/Github/LondonHackspaceAI-common + cat <> users/Christian.md diff --git a/split-patch/test/chj-home-expected/--regenerate/0027-more-move-to-.bash_profile-beautify/_list b/split-patch/test/chj-home-expected/--regenerate/0027-more-move-to-.bash_profile-beautify/_list new file mode 100644 index 0000000..b642409 --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0027-more-move-to-.bash_profile-beautify/_list @@ -0,0 +1,2 @@ +--regenerate/0027-more-move-to-.bash_profile-beautify/0027-more-move-to-.bash_profile-beautify-.bash_profile.patch +--regenerate/0027-more-move-to-.bash_profile-beautify/0027-more-move-to-.bash_profile-beautify-.bashrc.patch diff --git a/split-patch/test/chj-home-expected/--regenerate/0028-source-.bash_profile_local/0028-source-.bash_profile_local-.bash_profile.patch b/split-patch/test/chj-home-expected/--regenerate/0028-source-.bash_profile_local/0028-source-.bash_profile_local-.bash_profile.patch new file mode 100644 index 0000000..cda9727 --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0028-source-.bash_profile_local/0028-source-.bash_profile_local-.bash_profile.patch @@ -0,0 +1,25 @@ +From 7909e48f85a167ea1c61ccc95cdb9d51e818b24e Mon Sep 17 00:00:00 2001 +From: Christian Jaeger +Date: Sat, 25 Nov 2017 22:06:22 +0000 +Subject: .bash_profile: [PATCH 028/191] source .bash_profile_local + +--- + .bash_profile | 6 ++++-- + 1 file changed, 4 insertions(+), 2 deletions(-) + +diff --git a/.bash_profile b/.bash_profile +index f4bffe6..a64af70 100644 +--- a/.bash_profile ++++ b/.bash_profile +@@ -49,7 +49,9 @@ export LANG=en_GB.UTF-8 + + + # --- End ------------------------------------- +-# include .bashrc if it exists ++if [ -f ~/.bash_profile_local ]; then ++ source ~/.bash_profile_local ++fi + if [ -f ~/.bashrc ]; then +- . ~/.bashrc ++ source ~/.bashrc + fi diff --git a/split-patch/test/chj-home-expected/--regenerate/0028-source-.bash_profile_local/_list b/split-patch/test/chj-home-expected/--regenerate/0028-source-.bash_profile_local/_list new file mode 100644 index 0000000..4273ed3 --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0028-source-.bash_profile_local/_list @@ -0,0 +1 @@ +--regenerate/0028-source-.bash_profile_local/0028-source-.bash_profile_local-.bash_profile.patch diff --git a/split-patch/test/chj-home-expected/--regenerate/0029-source-.bashrc_local/0029-source-.bashrc_local-.bashrc.patch b/split-patch/test/chj-home-expected/--regenerate/0029-source-.bashrc_local/0029-source-.bashrc_local-.bashrc.patch new file mode 100644 index 0000000..7896b66 --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0029-source-.bashrc_local/0029-source-.bashrc_local-.bashrc.patch @@ -0,0 +1,21 @@ +From 5946358200f29068b3a6a0c7765fc89ff087da19 Mon Sep 17 00:00:00 2001 +From: Christian Jaeger +Date: Sat, 25 Nov 2017 18:16:44 +0000 +Subject: .bashrc: [PATCH 029/191] source .bashrc_local + +--- + .bashrc | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/.bashrc b/.bashrc +index d319bea..be29e50 100644 +--- a/.bashrc ++++ b/.bashrc +@@ -161,3 +161,7 @@ EOF + } + + ++# --- End ------------------------------------- ++if [ -f ~/.bashrc_local ]; then ++ source ~/.bashrc_local ++fi diff --git a/split-patch/test/chj-home-expected/--regenerate/0029-source-.bashrc_local/_list b/split-patch/test/chj-home-expected/--regenerate/0029-source-.bashrc_local/_list new file mode 100644 index 0000000..94b29ae --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0029-source-.bashrc_local/_list @@ -0,0 +1 @@ +--regenerate/0029-source-.bashrc_local/0029-source-.bashrc_local-.bashrc.patch diff --git a/split-patch/test/chj-home-expected/--regenerate/0030-remove-entries-that-can-be-moved-to-.bashrc_local/0030-remove-entries-that-can-be-moved-to-.bashrc_local-.bashrc.patch b/split-patch/test/chj-home-expected/--regenerate/0030-remove-entries-that-can-be-moved-to-.bashrc_local/0030-remove-entries-that-can-be-moved-to-.bashrc_local-.bashrc.patch new file mode 100644 index 0000000..3d1dfc8 --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0030-remove-entries-that-can-be-moved-to-.bashrc_local/0030-remove-entries-that-can-be-moved-to-.bashrc_local-.bashrc.patch @@ -0,0 +1,39 @@ +From eef40bb6167612071ffd1fd1a9c31dad403639b6 Mon Sep 17 00:00:00 2001 +From: Christian Jaeger +Date: Sat, 25 Nov 2017 18:18:38 +0000 +Subject: .bashrc: [PATCH 030/191] remove entries that can be moved to .bashrc_local + +--- + .bashrc | 19 ------------------- + 1 file changed, 19 deletions(-) + +diff --git a/.bashrc b/.bashrc +index be29e50..2aa14e6 100644 +--- a/.bashrc ++++ b/.bashrc +@@ -142,25 +142,6 @@ settitle () { + } + + +-newAI () { +- cd ~/Github/LondonHackspaceAI-common +- cat <> users/Christian.md +-* []() ([HN]()) +- +-EOF +- E users/Christian.md +-} +- +-newRust () { +- cd ~/Github/LondonRustLearners-wiki +- cat <> users/Christian_Jaeger.md +-* []() ([HN]()) +- +-EOF +- E users/Christian_Jaeger.md +-} +- +- + # --- End ------------------------------------- + if [ -f ~/.bashrc_local ]; then + source ~/.bashrc_local diff --git a/split-patch/test/chj-home-expected/--regenerate/0030-remove-entries-that-can-be-moved-to-.bashrc_local/_list b/split-patch/test/chj-home-expected/--regenerate/0030-remove-entries-that-can-be-moved-to-.bashrc_local/_list new file mode 100644 index 0000000..38fbce7 --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0030-remove-entries-that-can-be-moved-to-.bashrc_local/_list @@ -0,0 +1 @@ +--regenerate/0030-remove-entries-that-can-be-moved-to-.bashrc_local/0030-remove-entries-that-can-be-moved-to-.bashrc_local-.bashrc.patch diff --git a/split-patch/test/chj-home-expected/--regenerate/0031-remove-ALSARECDEV/0031-remove-ALSARECDEV-.bash_profile.patch b/split-patch/test/chj-home-expected/--regenerate/0031-remove-ALSARECDEV/0031-remove-ALSARECDEV-.bash_profile.patch new file mode 100644 index 0000000..6e3fa0b --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0031-remove-ALSARECDEV/0031-remove-ALSARECDEV-.bash_profile.patch @@ -0,0 +1,22 @@ +From a5a5db84e814ebcdd612521e810d09eb5d24175e Mon Sep 17 00:00:00 2001 +From: Christian Jaeger +Date: Sat, 25 Nov 2017 18:20:03 +0000 +Subject: .bash_profile: [PATCH 031/191] remove ALSARECDEV + +--- + .bash_profile | 2 -- + 1 file changed, 2 deletions(-) + +diff --git a/.bash_profile b/.bash_profile +index a64af70..c7a555a 100644 +--- a/.bash_profile ++++ b/.bash_profile +@@ -36,8 +36,6 @@ export HISTSIZE=1500 + + + # --- Machine specific env setup: ------- +-export ALSARECDEV='sysdefault:CARD=C1100' +- + ulimit -S -v 1200000 + + diff --git a/split-patch/test/chj-home-expected/--regenerate/0031-remove-ALSARECDEV/_list b/split-patch/test/chj-home-expected/--regenerate/0031-remove-ALSARECDEV/_list new file mode 100644 index 0000000..7cd92a5 --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0031-remove-ALSARECDEV/_list @@ -0,0 +1 @@ +--regenerate/0031-remove-ALSARECDEV/0031-remove-ALSARECDEV-.bash_profile.patch diff --git a/split-patch/test/chj-home-expected/--regenerate/0032-add-note-about-overridability-of-ulimit-S/0032-add-note-about-overridability-of-ulimit-S-.bash_profile.patch b/split-patch/test/chj-home-expected/--regenerate/0032-add-note-about-overridability-of-ulimit-S/0032-add-note-about-overridability-of-ulimit-S-.bash_profile.patch new file mode 100644 index 0000000..182b399 --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0032-add-note-about-overridability-of-ulimit-S/0032-add-note-about-overridability-of-ulimit-S-.bash_profile.patch @@ -0,0 +1,24 @@ +From 0f0e8bf1438da6ae43c8f8ff038bf5926bc0b107 Mon Sep 17 00:00:00 2001 +From: Christian Jaeger +Date: Sat, 25 Nov 2017 18:20:38 +0000 +Subject: .bash_profile: [PATCH 032/191] add note about overridability of ulimit -S + +--- + .bash_profile | 4 +--- + 1 file changed, 1 insertion(+), 3 deletions(-) + +diff --git a/.bash_profile b/.bash_profile +index c7a555a..1c648b2 100644 +--- a/.bash_profile ++++ b/.bash_profile +@@ -34,9 +34,7 @@ unset GNOME_KEYRING_CONTROL + export COLUMNS + export HISTSIZE=1500 + +- +-# --- Machine specific env setup: ------- +-ulimit -S -v 1200000 ++ulimit -S -v 1200000 # note: can override in .bash_profile_local + + + # --- Personal env setup: ------- diff --git a/split-patch/test/chj-home-expected/--regenerate/0032-add-note-about-overridability-of-ulimit-S/_list b/split-patch/test/chj-home-expected/--regenerate/0032-add-note-about-overridability-of-ulimit-S/_list new file mode 100644 index 0000000..b5d542f --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0032-add-note-about-overridability-of-ulimit-S/_list @@ -0,0 +1 @@ +--regenerate/0032-add-note-about-overridability-of-ulimit-S/0032-add-note-about-overridability-of-ulimit-S-.bash_profile.patch diff --git a/split-patch/test/chj-home-expected/--regenerate/0033-home-init-do-the-remaining-tasks-that-chrisclone-did/0033-home-init-do-the-remaining-tasks-that-chrisclone-did-home-init.patch b/split-patch/test/chj-home-expected/--regenerate/0033-home-init-do-the-remaining-tasks-that-chrisclone-did/0033-home-init-do-the-remaining-tasks-that-chrisclone-did-home-init.patch new file mode 100644 index 0000000..bd380a3 --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0033-home-init-do-the-remaining-tasks-that-chrisclone-did/0033-home-init-do-the-remaining-tasks-that-chrisclone-did-home-init.patch @@ -0,0 +1,28 @@ +From c70ca1739e4f72111e32304ce8526ce25695f2c3 Mon Sep 17 00:00:00 2001 +From: Christian Jaeger +Date: Sat, 25 Nov 2017 22:33:49 +0000 +Subject: home-init: [PATCH 033/191] home-init: do the remaining tasks that chrisclone did + +--- + home-init | 9 +++++++++ + 1 file changed, 9 insertions(+) + +diff --git a/home-init b/home-init +index 73eedf2..9bdaf64 100755 +--- a/home-init ++++ b/home-init +@@ -16,5 +16,14 @@ ln -s /opt/chj/emacs/.emacs.d + + lesskey + ++( ++ umask 077 ++ mkdir -p tmp .ssh DROP ++) ++ ++chmod a+wxt,g+s DROP ++touch .ssh/authorized_keys ++chmod go-w .ssh/authorized_keys ++ + set +x + echo done. diff --git a/split-patch/test/chj-home-expected/--regenerate/0033-home-init-do-the-remaining-tasks-that-chrisclone-did/_list b/split-patch/test/chj-home-expected/--regenerate/0033-home-init-do-the-remaining-tasks-that-chrisclone-did/_list new file mode 100644 index 0000000..157d1b4 --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0033-home-init-do-the-remaining-tasks-that-chrisclone-did/_list @@ -0,0 +1 @@ +--regenerate/0033-home-init-do-the-remaining-tasks-that-chrisclone-did/0033-home-init-do-the-remaining-tasks-that-chrisclone-did-home-init.patch diff --git a/split-patch/test/chj-home-expected/--regenerate/0034-home-init-allow-to-run-from-different-working-direct/0034-home-init-allow-to-run-from-different-working-direct-home-init.patch b/split-patch/test/chj-home-expected/--regenerate/0034-home-init-allow-to-run-from-different-working-direct/0034-home-init-allow-to-run-from-different-working-direct-home-init.patch new file mode 100644 index 0000000..8b2817c --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0034-home-init-allow-to-run-from-different-working-direct/0034-home-init-allow-to-run-from-different-working-direct-home-init.patch @@ -0,0 +1,31 @@ +From f34b40f5805a588b851a4af442f8dda1af71f0b9 Mon Sep 17 00:00:00 2001 +From: Christian Jaeger +Date: Sat, 25 Nov 2017 22:43:20 +0000 +Subject: home-init: [PATCH 034/191] home-init: allow to run from different working + directories than home + +--- + home-init | 9 +++++++-- + 1 file changed, 7 insertions(+), 2 deletions(-) + +diff --git a/home-init b/home-init +index 9bdaf64..b68729c 100755 +--- a/home-init ++++ b/home-init +@@ -3,9 +3,14 @@ + set -euo pipefail + IFS= + +-set -x ++if [ "$(readlink -f .)" != "$(readlink -f ~)" ]; then ++ if [ "$(readlink -f .)" != "$(readlink -f "$(dirname "$0")")" ]; then ++ echo "$0: must be run from home dir or from $(dirname "$0"). Terminating." ++ exit 1 ++ fi ++fi + +-cd ++set -x + + ln -s /opt/chj/emacs/.emacs + diff --git a/split-patch/test/chj-home-expected/--regenerate/0034-home-init-allow-to-run-from-different-working-direct/_list b/split-patch/test/chj-home-expected/--regenerate/0034-home-init-allow-to-run-from-different-working-direct/_list new file mode 100644 index 0000000..f73330b --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0034-home-init-allow-to-run-from-different-working-direct/_list @@ -0,0 +1 @@ +--regenerate/0034-home-init-allow-to-run-from-different-working-direct/0034-home-init-allow-to-run-from-different-working-direct-home-init.patch diff --git a/split-patch/test/chj-home-expected/--regenerate/0035-more-fix-don-t-use-aliases/0035-more-fix-don-t-use-aliases-.bashrc.patch b/split-patch/test/chj-home-expected/--regenerate/0035-more-fix-don-t-use-aliases/0035-more-fix-don-t-use-aliases-.bashrc.patch new file mode 100644 index 0000000..76014a7 --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0035-more-fix-don-t-use-aliases/0035-more-fix-don-t-use-aliases-.bashrc.patch @@ -0,0 +1,35 @@ +From 532932636c1a56ba1554ceeb3e736f463fe78a75 Mon Sep 17 00:00:00 2001 +From: Christian Jaeger +Date: Sat, 25 Nov 2017 22:59:50 +0000 +Subject: .bashrc: [PATCH 035/191] more fix "don't use aliases" + +--- + .bashrc | 8 ++++---- + 1 file changed, 4 insertions(+), 4 deletions(-) + +diff --git a/.bashrc b/.bashrc +index 2aa14e6..735bd94 100644 +--- a/.bashrc ++++ b/.bashrc +@@ -47,7 +47,7 @@ esac + # enable color support of ls and also add handy aliases + if [ "$TERM" != "dumb" ]; then + eval "`dircolors -b`" +- ls() { ls --color=auto "$@"; } ++ ls() { command ls --color=auto "$@"; } + #alias dir='ls --color=auto --format=vertical' + #alias vdir='ls --color=auto --format=long' + fi +@@ -127,9 +127,9 @@ cs() { + find() { my.find "$@"; } + df() { my.df "$@"; } + +-mv() { mv -i "$@"; } +-cp() { cp -i "$@"; } +-#rm() { rm -i "$@"; } ++mv() { command mv -i "$@"; } ++cp() { command cp -i "$@"; } ++#rm() { command rm -i "$@"; } + + rens () { + cd scratch/ diff --git a/split-patch/test/chj-home-expected/--regenerate/0035-more-fix-don-t-use-aliases/_list b/split-patch/test/chj-home-expected/--regenerate/0035-more-fix-don-t-use-aliases/_list new file mode 100644 index 0000000..c6b00c5 --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0035-more-fix-don-t-use-aliases/_list @@ -0,0 +1 @@ +--regenerate/0035-more-fix-don-t-use-aliases/0035-more-fix-don-t-use-aliases-.bashrc.patch diff --git a/split-patch/test/chj-home-expected/--regenerate/0036-.inputrc-cleanup/0036-.inputrc-cleanup-.inputrc.patch b/split-patch/test/chj-home-expected/--regenerate/0036-.inputrc-cleanup/0036-.inputrc-cleanup-.inputrc.patch new file mode 100644 index 0000000..a8b569a --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0036-.inputrc-cleanup/0036-.inputrc-cleanup-.inputrc.patch @@ -0,0 +1,18 @@ +From 75092ece56f261a2af485f97aa12910333fa5095 Mon Sep 17 00:00:00 2001 +From: Christian Jaeger +Date: Sun, 26 Nov 2017 00:14:13 +0000 +Subject: .inputrc: [PATCH 036/191] .inputrc: cleanup + +--- + .inputrc | 3 --- + 1 file changed, 3 deletions(-) + +diff --git a/.inputrc b/.inputrc +index fa40847..8aaabbf 100644 +--- a/.inputrc ++++ b/.inputrc +@@ -1,4 +1,1 @@ +-#set dynamic-complete-history +- + M-/: dynamic-complete-history +-#kool geht. diff --git a/split-patch/test/chj-home-expected/--regenerate/0036-.inputrc-cleanup/_list b/split-patch/test/chj-home-expected/--regenerate/0036-.inputrc-cleanup/_list new file mode 100644 index 0000000..157dbb4 --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0036-.inputrc-cleanup/_list @@ -0,0 +1 @@ +--regenerate/0036-.inputrc-cleanup/0036-.inputrc-cleanup-.inputrc.patch diff --git a/split-patch/test/chj-home-expected/--regenerate/0037-merge-root-s-home-s-features/0037-merge-root-s-home-s-features-.bash_profile.patch b/split-patch/test/chj-home-expected/--regenerate/0037-merge-root-s-home-s-features/0037-merge-root-s-home-s-features-.bash_profile.patch new file mode 100644 index 0000000..c518d45 --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0037-merge-root-s-home-s-features/0037-merge-root-s-home-s-features-.bash_profile.patch @@ -0,0 +1,24 @@ +From 4b3fcad89017a224beff46e288add7d38a86dd75 Mon Sep 17 00:00:00 2001 +From: Christian Jaeger +Date: Sun, 26 Nov 2017 00:17:33 +0000 +Subject: .bash_profile: [PATCH 037/191] merge root's home's features + +--- + .bash_profile | 3 +++ + .bashrc | 7 +++++++ + 2 files changed, 10 insertions(+) + +diff --git a/.bash_profile b/.bash_profile +index 1c648b2..a665dd1 100644 +--- a/.bash_profile ++++ b/.bash_profile +@@ -24,6 +24,9 @@ if [ -d ~/local/bin ] ; then + PATH=~/local/bin:"${PATH}" + fi + ++if [ "$UID" -eq 0 ]; then ++ PATH=/root/local/sbin:/root/sbin:"$PATH" ++fi + + # --- General env setup ------- + unset LESSOPEN diff --git a/split-patch/test/chj-home-expected/--regenerate/0037-merge-root-s-home-s-features/0037-merge-root-s-home-s-features-.bashrc.patch b/split-patch/test/chj-home-expected/--regenerate/0037-merge-root-s-home-s-features/0037-merge-root-s-home-s-features-.bashrc.patch new file mode 100644 index 0000000..74820b8 --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0037-merge-root-s-home-s-features/0037-merge-root-s-home-s-features-.bashrc.patch @@ -0,0 +1,28 @@ +From 4b3fcad89017a224beff46e288add7d38a86dd75 Mon Sep 17 00:00:00 2001 +From: Christian Jaeger +Date: Sun, 26 Nov 2017 00:17:33 +0000 +Subject: .bashrc: [PATCH 037/191] merge root's home's features + +--- + .bash_profile | 3 +++ + .bashrc | 7 +++++++ + 2 files changed, 10 insertions(+) + +diff --git a/.bashrc b/.bashrc +index 735bd94..63ddcb6 100644 +--- a/.bashrc ++++ b/.bashrc +@@ -141,6 +141,13 @@ settitle () { + /opt/chj/bin/settitle "$@" + } + ++if [ "$UID" -eq 0 ]; then ++ tar () { ++ echo "'tar': use tar-names or tar-numbers instead" >&2 ++ return 1 ++ } ++fi ++ + + # --- End ------------------------------------- + if [ -f ~/.bashrc_local ]; then diff --git a/split-patch/test/chj-home-expected/--regenerate/0037-merge-root-s-home-s-features/_list b/split-patch/test/chj-home-expected/--regenerate/0037-merge-root-s-home-s-features/_list new file mode 100644 index 0000000..bbda2da --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0037-merge-root-s-home-s-features/_list @@ -0,0 +1,2 @@ +--regenerate/0037-merge-root-s-home-s-features/0037-merge-root-s-home-s-features-.bash_profile.patch +--regenerate/0037-merge-root-s-home-s-features/0037-merge-root-s-home-s-features-.bashrc.patch diff --git a/split-patch/test/chj-home-expected/--regenerate/0038-.gitconfig-cleanup/0038-.gitconfig-cleanup-.gitconfig.patch b/split-patch/test/chj-home-expected/--regenerate/0038-.gitconfig-cleanup/0038-.gitconfig-cleanup-.gitconfig.patch new file mode 100644 index 0000000..ad8df16 --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0038-.gitconfig-cleanup/0038-.gitconfig-cleanup-.gitconfig.patch @@ -0,0 +1,41 @@ +From 3e1fb7a5d1ec1cc6ea3e5c405132496bc707a4d7 Mon Sep 17 00:00:00 2001 +From: Christian Jaeger +Date: Sun, 26 Nov 2017 00:21:32 +0000 +Subject: .gitconfig: [PATCH 038/191] .gitconfig: cleanup + +--- + .gitconfig | 12 +++++------- + 1 file changed, 5 insertions(+), 7 deletions(-) + +diff --git a/.gitconfig b/.gitconfig +index 3596608..67e3e19 100644 +--- a/.gitconfig ++++ b/.gitconfig +@@ -1,22 +1,20 @@ +- +-[diff "cj"] +- command = _cj-git-tkdiff +- + [user] + email = ch@christianjaeger.ch + name = Christian Jaeger + ++[diff "cj"] ++ command = _cj-git-tkdiff ++ + [merge] + conflictstyle = diff3 + #renameLimit = 2000 ++ + [core] + excludesfile = ~/.gitignore_global +-[credential] +- username = pflanze + + #[gpg] + # program = gpg+scrypt + + #[push] + # default = simple +-#wow old git can*not* deal with this ++# old git can*not* deal with this diff --git a/split-patch/test/chj-home-expected/--regenerate/0038-.gitconfig-cleanup/_list b/split-patch/test/chj-home-expected/--regenerate/0038-.gitconfig-cleanup/_list new file mode 100644 index 0000000..7698476 --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0038-.gitconfig-cleanup/_list @@ -0,0 +1 @@ +--regenerate/0038-.gitconfig-cleanup/0038-.gitconfig-cleanup-.gitconfig.patch diff --git a/split-patch/test/chj-home-expected/--regenerate/0039-ask-user-specific-info-from-home-init-generate-files/0039-ask-user-specific-info-from-home-init-generate-files-.bash_profile.patch b/split-patch/test/chj-home-expected/--regenerate/0039-ask-user-specific-info-from-home-init-generate-files/0039-ask-user-specific-info-from-home-init-generate-files-.bash_profile.patch new file mode 100644 index 0000000..bf06eb0 --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0039-ask-user-specific-info-from-home-init-generate-files/0039-ask-user-specific-info-from-home-init-generate-files-.bash_profile.patch @@ -0,0 +1,35 @@ +From 47f896faa205419bee6e91c7d8d539199d825afa Mon Sep 17 00:00:00 2001 +From: Christian Jaeger +Date: Sun, 26 Nov 2017 01:04:27 +0000 +Subject: .bash_profile: [PATCH 039/191] ask user-specific info from home-init, generate files + +--- + .bash_profile | 7 +++--- + .gitconfig | 20 ----------------- + home-init | 61 +++++++++++++++++++++++++++++++++++++++++++++++---- + 3 files changed, 60 insertions(+), 28 deletions(-) + delete mode 100644 .gitconfig + +diff --git a/.bash_profile b/.bash_profile +index a665dd1..540a729 100644 +--- a/.bash_profile ++++ b/.bash_profile +@@ -41,15 +41,14 @@ ulimit -S -v 1200000 # note: can override in .bash_profile_local + + + # --- Personal env setup: ------- +-export EDITOR=e +-export BROWSER="chromium-chrissbx -- --new-window" +-export EMAIL='ch@christianjaeger.ch' +-export LANG=en_GB.UTF-8 ++# see ~/.bash_profile_local + + + # --- End ------------------------------------- + if [ -f ~/.bash_profile_local ]; then + source ~/.bash_profile_local ++else ++ echo "NOTE: ~/.bash_profile_local does not exist, please run ~/home-init" >&2 + fi + if [ -f ~/.bashrc ]; then + source ~/.bashrc diff --git a/split-patch/test/chj-home-expected/--regenerate/0039-ask-user-specific-info-from-home-init-generate-files/0039-ask-user-specific-info-from-home-init-generate-files-.gitconfig.patch b/split-patch/test/chj-home-expected/--regenerate/0039-ask-user-specific-info-from-home-init-generate-files/0039-ask-user-specific-info-from-home-init-generate-files-.gitconfig.patch new file mode 100644 index 0000000..1660099 --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0039-ask-user-specific-info-from-home-init-generate-files/0039-ask-user-specific-info-from-home-init-generate-files-.gitconfig.patch @@ -0,0 +1,38 @@ +From 47f896faa205419bee6e91c7d8d539199d825afa Mon Sep 17 00:00:00 2001 +From: Christian Jaeger +Date: Sun, 26 Nov 2017 01:04:27 +0000 +Subject: .gitconfig: [PATCH 039/191] ask user-specific info from home-init, generate files + +--- + .bash_profile | 7 +++--- + .gitconfig | 20 ----------------- + home-init | 61 +++++++++++++++++++++++++++++++++++++++++++++++---- + 3 files changed, 60 insertions(+), 28 deletions(-) + delete mode 100644 .gitconfig + +diff --git a/.gitconfig b/.gitconfig +deleted file mode 100644 +index 67e3e19..0000000 +--- a/.gitconfig ++++ /dev/null +@@ -1,20 +0,0 @@ +-[user] +- email = ch@christianjaeger.ch +- name = Christian Jaeger +- +-[diff "cj"] +- command = _cj-git-tkdiff +- +-[merge] +- conflictstyle = diff3 +- #renameLimit = 2000 +- +-[core] +- excludesfile = ~/.gitignore_global +- +-#[gpg] +-# program = gpg+scrypt +- +-#[push] +-# default = simple +-# old git can*not* deal with this diff --git a/split-patch/test/chj-home-expected/--regenerate/0039-ask-user-specific-info-from-home-init-generate-files/0039-ask-user-specific-info-from-home-init-generate-files-home-init.patch b/split-patch/test/chj-home-expected/--regenerate/0039-ask-user-specific-info-from-home-init-generate-files/0039-ask-user-specific-info-from-home-init-generate-files-home-init.patch new file mode 100644 index 0000000..4b94a2f --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0039-ask-user-specific-info-from-home-init-generate-files/0039-ask-user-specific-info-from-home-init-generate-files-home-init.patch @@ -0,0 +1,91 @@ +From 47f896faa205419bee6e91c7d8d539199d825afa Mon Sep 17 00:00:00 2001 +From: Christian Jaeger +Date: Sun, 26 Nov 2017 01:04:27 +0000 +Subject: home-init: [PATCH 039/191] ask user-specific info from home-init, generate files + +--- + .bash_profile | 7 +++--- + .gitconfig | 20 ----------------- + home-init | 61 +++++++++++++++++++++++++++++++++++++++++++++++---- + 3 files changed, 60 insertions(+), 28 deletions(-) + delete mode 100644 .gitconfig + +diff --git a/home-init b/home-init +index b68729c..56094fe 100755 +--- a/home-init ++++ b/home-init +@@ -4,12 +4,64 @@ set -euo pipefail + IFS= + + if [ "$(readlink -f .)" != "$(readlink -f ~)" ]; then +- if [ "$(readlink -f .)" != "$(readlink -f "$(dirname "$0")")" ]; then +- echo "$0: must be run from home dir or from $(dirname "$0"). Terminating." +- exit 1 ++ echo "$0: must be run from home dir. Terminating." ++ exit 1 ++fi ++ ++ ++cancel() { ++ echo "$0: cancelled due to missing answer." ++ exit 1 ++} ++ ++if read -e -p "Please enter your full name: " fullname; then ++ if read -e -p "Please enter your (bare) email address: " email; then ++ echo "$fullname" > .chj-home_fullname ++ echo "$email" > .chj-home_email ++ else ++ cancel + fi ++else ++ cancel ++fi ++ ++if [ -e .bash_profile_local ]; then ++ /opt/chj/bin/mvnumber .bash_profile_local ++fi ++cat <<'EOF' > .bash_profile_local ++export EDITOR=e ++export BROWSER="chromium-chrissbx -- --new-window" ++export EMAIL=$(cat ~/.chj-home_email) ++export LANG=en_GB.UTF-8 ++EOF ++ ++if [ -e .gitconfig ]; then ++ /opt/chj/bin/mvnumber .gitconfig + fi ++cat < .gitconfig ++[user] ++ email = $email ++ name = $fullname ++ ++[diff "cj"] ++ command = _cj-git-tkdiff ++ ++[merge] ++ conflictstyle = diff3 ++ #renameLimit = 2000 ++ ++[core] ++ excludesfile = ~/.gitignore_global + ++#[gpg] ++# program = gpg+scrypt ++ ++#[push] ++# default = simple ++# old git can*not* deal with this ++EOF ++ ++set +eu + set -x + + ln -s /opt/chj/emacs/.emacs +@@ -31,4 +83,5 @@ touch .ssh/authorized_keys + chmod go-w .ssh/authorized_keys + + set +x +-echo done. ++ ++echo "NOTE: Your answers have been written to .chj-home_fullname, .chj-home_email, and the files .bash_profile_local and .gitconfig have been generated." diff --git a/split-patch/test/chj-home-expected/--regenerate/0039-ask-user-specific-info-from-home-init-generate-files/_list b/split-patch/test/chj-home-expected/--regenerate/0039-ask-user-specific-info-from-home-init-generate-files/_list new file mode 100644 index 0000000..6455614 --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0039-ask-user-specific-info-from-home-init-generate-files/_list @@ -0,0 +1,3 @@ +--regenerate/0039-ask-user-specific-info-from-home-init-generate-files/0039-ask-user-specific-info-from-home-init-generate-files-.bash_profile.patch +--regenerate/0039-ask-user-specific-info-from-home-init-generate-files/0039-ask-user-specific-info-from-home-init-generate-files-.gitconfig.patch +--regenerate/0039-ask-user-specific-info-from-home-init-generate-files/0039-ask-user-specific-info-from-home-init-generate-files-home-init.patch diff --git a/split-patch/test/chj-home-expected/--regenerate/0040-.bashrc-return-false-for-failing-commands/0040-.bashrc-return-false-for-failing-commands-.bashrc.patch b/split-patch/test/chj-home-expected/--regenerate/0040-.bashrc-return-false-for-failing-commands/0040-.bashrc-return-false-for-failing-commands-.bashrc.patch new file mode 100644 index 0000000..1f4f4a6 --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0040-.bashrc-return-false-for-failing-commands/0040-.bashrc-return-false-for-failing-commands-.bashrc.patch @@ -0,0 +1,46 @@ +From a05f6b20b9dd53700009747e515df6cec2fc24ce Mon Sep 17 00:00:00 2001 +From: Christian Jaeger +Date: Sun, 26 Nov 2017 01:04:36 +0000 +Subject: .bashrc: [PATCH 040/191] .bashrc: return false for failing commands + +--- + .bashrc | 5 +++++ + 1 file changed, 5 insertions(+) + +diff --git a/.bashrc b/.bashrc +index 63ddcb6..8bd5808 100644 +--- a/.bashrc ++++ b/.bashrc +@@ -72,6 +72,7 @@ cdnewdir() { + mkdir "$1" && cd "$1" + else + echo One argument required ++ false + fi + }; + mvcdnewdir() { +@@ -79,6 +80,7 @@ mvcdnewdir() { + mvnewdir "$@" && cd "${!#}" + else + echo At least two arguments expected ++ false + fi + }; + mvcd() { +@@ -92,13 +94,16 @@ mvcd() { + mv "$@" && cd "${!#}" + else + echo Neither argument is a directory ++ false + fi + else + echo More than two arguments and last one is not a directory ++ false + fi + fi + else + echo At least two arguments expected ++ false + fi + } + cd_newest_sisterfolder() { diff --git a/split-patch/test/chj-home-expected/--regenerate/0040-.bashrc-return-false-for-failing-commands/_list b/split-patch/test/chj-home-expected/--regenerate/0040-.bashrc-return-false-for-failing-commands/_list new file mode 100644 index 0000000..ac9fa16 --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0040-.bashrc-return-false-for-failing-commands/_list @@ -0,0 +1 @@ +--regenerate/0040-.bashrc-return-false-for-failing-commands/0040-.bashrc-return-false-for-failing-commands-.bashrc.patch diff --git a/split-patch/test/chj-home-expected/--regenerate/0041-home-init-only-run-once/0041-home-init-only-run-once-home-init.patch b/split-patch/test/chj-home-expected/--regenerate/0041-home-init-only-run-once/0041-home-init-only-run-once-home-init.patch new file mode 100644 index 0000000..128dc9d --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0041-home-init-only-run-once/0041-home-init-only-run-once-home-init.patch @@ -0,0 +1,34 @@ +From 6ef5c25d64273c41d5ee5cf3775f2a3ecad7d9ad Mon Sep 17 00:00:00 2001 +From: Christian Jaeger +Date: Mon, 27 Nov 2017 17:38:22 +0000 +Subject: home-init: [PATCH 041/191] home-init: only run once + +--- + home-init | 7 +++++++ + 1 file changed, 7 insertions(+) + +diff --git a/home-init b/home-init +index 56094fe..71199d3 100755 +--- a/home-init ++++ b/home-init +@@ -9,6 +9,12 @@ if [ "$(readlink -f .)" != "$(readlink -f ~)" ]; then + fi + + ++if [ -e .home-init-done ]; then ++ echo "$0 was already run before; if you want to force re-running it, please run 'rm .home-init-done' first." ++ exit 0 ++fi ++ ++ + cancel() { + echo "$0: cancelled due to missing answer." + exit 1 +@@ -81,6 +87,7 @@ lesskey + chmod a+wxt,g+s DROP + touch .ssh/authorized_keys + chmod go-w .ssh/authorized_keys ++touch .home-init-done + + set +x + diff --git a/split-patch/test/chj-home-expected/--regenerate/0041-home-init-only-run-once/_list b/split-patch/test/chj-home-expected/--regenerate/0041-home-init-only-run-once/_list new file mode 100644 index 0000000..0467918 --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0041-home-init-only-run-once/_list @@ -0,0 +1 @@ +--regenerate/0041-home-init-only-run-once/0041-home-init-only-run-once-home-init.patch diff --git a/split-patch/test/chj-home-expected/--regenerate/0042-home-init-create-scratch-directory/0042-home-init-create-scratch-directory-home-init.patch b/split-patch/test/chj-home-expected/--regenerate/0042-home-init-create-scratch-directory/0042-home-init-create-scratch-directory-home-init.patch new file mode 100644 index 0000000..eca898c --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0042-home-init-create-scratch-directory/0042-home-init-create-scratch-directory-home-init.patch @@ -0,0 +1,22 @@ +From 36c08bd3efe08df230a7d1e3d53926687cf74e38 Mon Sep 17 00:00:00 2001 +From: Christian Jaeger +Date: Wed, 29 Nov 2017 13:01:41 +0000 +Subject: home-init: [PATCH 042/191] home-init: create scratch directory + +--- + home-init | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/home-init b/home-init +index 71199d3..950aea2 100755 +--- a/home-init ++++ b/home-init +@@ -81,7 +81,7 @@ lesskey + + ( + umask 077 +- mkdir -p tmp .ssh DROP ++ mkdir -p tmp .ssh DROP scratch + ) + + chmod a+wxt,g+s DROP diff --git a/split-patch/test/chj-home-expected/--regenerate/0042-home-init-create-scratch-directory/_list b/split-patch/test/chj-home-expected/--regenerate/0042-home-init-create-scratch-directory/_list new file mode 100644 index 0000000..f286107 --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0042-home-init-create-scratch-directory/_list @@ -0,0 +1 @@ +--regenerate/0042-home-init-create-scratch-directory/0042-home-init-create-scratch-directory-home-init.patch diff --git a/split-patch/test/chj-home-expected/--regenerate/0043-.bash_profile-re-add-cj-git-patchtool-and-git-sign-t/0043-.bash_profile-re-add-cj-git-patchtool-and-git-sign-t-.bash_profile.patch b/split-patch/test/chj-home-expected/--regenerate/0043-.bash_profile-re-add-cj-git-patchtool-and-git-sign-t/0043-.bash_profile-re-add-cj-git-patchtool-and-git-sign-t-.bash_profile.patch new file mode 100644 index 0000000..d233d9d --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0043-.bash_profile-re-add-cj-git-patchtool-and-git-sign-t/0043-.bash_profile-re-add-cj-git-patchtool-and-git-sign-t-.bash_profile.patch @@ -0,0 +1,23 @@ +From dd29f571331b98ef9b8df7b638945e2d3a634e43 Mon Sep 17 00:00:00 2001 +From: Christian Jaeger +Date: Thu, 30 Nov 2017 16:28:13 +0000 +Subject: .bash_profile: [PATCH 043/191] .bash_profile: (re-)add cj-git-patchtool and git-sign + to PATH + +--- + .bash_profile | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/.bash_profile b/.bash_profile +index 540a729..38c19f5 100644 +--- a/.bash_profile ++++ b/.bash_profile +@@ -12,7 +12,7 @@ fi + # the default umask is set in /etc/login.defs + # umask 002 + +-PATH=/opt/chj/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games ++PATH=/opt/chj/cj-git-patchtool:/opt/chj/git-sign/bin:/opt/chj/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games + + # set PATH so it includes user's private bin if it exists + if [ -d ~/bin ] ; then diff --git a/split-patch/test/chj-home-expected/--regenerate/0043-.bash_profile-re-add-cj-git-patchtool-and-git-sign-t/_list b/split-patch/test/chj-home-expected/--regenerate/0043-.bash_profile-re-add-cj-git-patchtool-and-git-sign-t/_list new file mode 100644 index 0000000..88fe6cd --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0043-.bash_profile-re-add-cj-git-patchtool-and-git-sign-t/_list @@ -0,0 +1 @@ +--regenerate/0043-.bash_profile-re-add-cj-git-patchtool-and-git-sign-t/0043-.bash_profile-re-add-cj-git-patchtool-and-git-sign-t-.bash_profile.patch diff --git a/split-patch/test/chj-home-expected/--regenerate/0044-.bash_profile-put-paths-to-my-tools-last-in-PATH/0044-.bash_profile-put-paths-to-my-tools-last-in-PATH-.bash_profile.patch b/split-patch/test/chj-home-expected/--regenerate/0044-.bash_profile-put-paths-to-my-tools-last-in-PATH/0044-.bash_profile-put-paths-to-my-tools-last-in-PATH-.bash_profile.patch new file mode 100644 index 0000000..e360dfa --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0044-.bash_profile-put-paths-to-my-tools-last-in-PATH/0044-.bash_profile-put-paths-to-my-tools-last-in-PATH-.bash_profile.patch @@ -0,0 +1,24 @@ +From a4367a3823f98763f43dc49d6fed8686476dd7e8 Mon Sep 17 00:00:00 2001 +From: Christian Jaeger +Date: Thu, 30 Nov 2017 16:29:15 +0000 +Subject: .bash_profile: [PATCH 044/191] .bash_profile: put paths to my tools last in PATH + +To make sure no matter what tools other users install, they will be +able to see them. +--- + .bash_profile | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/.bash_profile b/.bash_profile +index 38c19f5..94cf529 100644 +--- a/.bash_profile ++++ b/.bash_profile +@@ -12,7 +12,7 @@ fi + # the default umask is set in /etc/login.defs + # umask 002 + +-PATH=/opt/chj/cj-git-patchtool:/opt/chj/git-sign/bin:/opt/chj/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games ++PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/opt/chj/bin:/opt/chj/cj-git-patchtool:/opt/chj/git-sign/bin + + # set PATH so it includes user's private bin if it exists + if [ -d ~/bin ] ; then diff --git a/split-patch/test/chj-home-expected/--regenerate/0044-.bash_profile-put-paths-to-my-tools-last-in-PATH/_list b/split-patch/test/chj-home-expected/--regenerate/0044-.bash_profile-put-paths-to-my-tools-last-in-PATH/_list new file mode 100644 index 0000000..336dfc3 --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0044-.bash_profile-put-paths-to-my-tools-last-in-PATH/_list @@ -0,0 +1 @@ +--regenerate/0044-.bash_profile-put-paths-to-my-tools-last-in-PATH/0044-.bash_profile-put-paths-to-my-tools-last-in-PATH-.bash_profile.patch diff --git a/split-patch/test/chj-home-expected/--regenerate/0045-.bashrc-add-functions-for-accessing-tools-from-chj-b/0045-.bashrc-add-functions-for-accessing-tools-from-chj-b-.bashrc.patch b/split-patch/test/chj-home-expected/--regenerate/0045-.bashrc-add-functions-for-accessing-tools-from-chj-b/0045-.bashrc-add-functions-for-accessing-tools-from-chj-b-.bashrc.patch new file mode 100644 index 0000000..ceb7f92 --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0045-.bashrc-add-functions-for-accessing-tools-from-chj-b/0045-.bashrc-add-functions-for-accessing-tools-from-chj-b-.bashrc.patch @@ -0,0 +1,46 @@ +From 63b5bce62f43d25c32e4532604bcfac94264b1e8 Mon Sep 17 00:00:00 2001 +From: Christian Jaeger +Date: Thu, 30 Nov 2017 17:05:56 +0000 +Subject: .bashrc: [PATCH 045/191] .bashrc: add functions for accessing tools from + chj-bin when last in PATH + +--- + .bashrc | 25 +++++++++++++++++++++++++ + 1 file changed, 25 insertions(+) + +diff --git a/.bashrc b/.bashrc +index 8bd5808..44629b2 100644 +--- a/.bashrc ++++ b/.bashrc +@@ -154,6 +154,31 @@ if [ "$UID" -eq 0 ]; then + fi + + ++ps () { ++ command ps --sort=start_time "$@" ++} ++ ++lsof () { ++ command lsof -nP "$@" ++ # -n = no host names ++ # -P = no port names ++} ++ ++# Utils which might be later in PATH than system ones: ++ ++ls () { /opt/chj/bin/ls "$@"; } # XX is this still useful? ++sort () { /opt/chj/bin/sort "$@"; } ++smplayer () { /opt/chj/bin/smplayer "$@"; } ++zless () { /opt/chj/bin/zless "$@"; } ++xpdf () { /opt/chj/bin/xpdf "$@"; } ++modprobe () { /opt/chj/bin/modprobe "$@"; } ++halt () { /opt/chj/bin/halt "$@"; } ++open () { /opt/chj/bin/open "$@"; } ++suxterm () { /opt/chj/bin/suxterm "$@"; } ++pdftotext () { /opt/chj/bin/pdftotext "$@"; } ++gv () { /opt/chj/bin/gv "$@"; } ++ ++ + # --- End ------------------------------------- + if [ -f ~/.bashrc_local ]; then + source ~/.bashrc_local diff --git a/split-patch/test/chj-home-expected/--regenerate/0045-.bashrc-add-functions-for-accessing-tools-from-chj-b/_list b/split-patch/test/chj-home-expected/--regenerate/0045-.bashrc-add-functions-for-accessing-tools-from-chj-b/_list new file mode 100644 index 0000000..f136eff --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0045-.bashrc-add-functions-for-accessing-tools-from-chj-b/_list @@ -0,0 +1 @@ +--regenerate/0045-.bashrc-add-functions-for-accessing-tools-from-chj-b/0045-.bashrc-add-functions-for-accessing-tools-from-chj-b-.bashrc.patch diff --git a/split-patch/test/chj-home-expected/--regenerate/0046-.bash_profile-stop-the-X-beep/0046-.bash_profile-stop-the-X-beep-.bash_profile.patch b/split-patch/test/chj-home-expected/--regenerate/0046-.bash_profile-stop-the-X-beep/0046-.bash_profile-stop-the-X-beep-.bash_profile.patch new file mode 100644 index 0000000..de3b6e7 --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0046-.bash_profile-stop-the-X-beep/0046-.bash_profile-stop-the-X-beep-.bash_profile.patch @@ -0,0 +1,24 @@ +From 8e105c31dc4c6a1db14c0d560f2b7b96dd5355e4 Mon Sep 17 00:00:00 2001 +From: "Christian Jaeger (Rustaceans)" +Date: Thu, 30 Nov 2017 19:30:42 +0000 +Subject: .bash_profile: [PATCH 046/191] .bash_profile: stop the X beep + +--- + .bash_profile | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/.bash_profile b/.bash_profile +index 94cf529..cce72dd 100644 +--- a/.bash_profile ++++ b/.bash_profile +@@ -39,6 +39,10 @@ export HISTSIZE=1500 + + ulimit -S -v 1200000 # note: can override in .bash_profile_local + ++if [ -n "${DISPLAY-}" ]; then ++ xset -b ++fi ++ + + # --- Personal env setup: ------- + # see ~/.bash_profile_local diff --git a/split-patch/test/chj-home-expected/--regenerate/0046-.bash_profile-stop-the-X-beep/_list b/split-patch/test/chj-home-expected/--regenerate/0046-.bash_profile-stop-the-X-beep/_list new file mode 100644 index 0000000..b182301 --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0046-.bash_profile-stop-the-X-beep/_list @@ -0,0 +1 @@ +--regenerate/0046-.bash_profile-stop-the-X-beep/0046-.bash_profile-stop-the-X-beep-.bash_profile.patch diff --git a/split-patch/test/chj-home-expected/--regenerate/0047-.Xresources-reduce-emacs-window-height/0047-.Xresources-reduce-emacs-window-height-.Xresources.patch b/split-patch/test/chj-home-expected/--regenerate/0047-.Xresources-reduce-emacs-window-height/0047-.Xresources-reduce-emacs-window-height-.Xresources.patch new file mode 100644 index 0000000..a9d5f18 --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0047-.Xresources-reduce-emacs-window-height/0047-.Xresources-reduce-emacs-window-height-.Xresources.patch @@ -0,0 +1,22 @@ +From 7c22ad6fe353f9fd490205eb2d0b611e64a0e46b Mon Sep 17 00:00:00 2001 +From: "Christian Jaeger (Rustaceans)" +Date: Thu, 30 Nov 2017 19:31:18 +0000 +Subject: .Xresources: [PATCH 047/191] .Xresources: reduce emacs window height + +--- + .Xresources | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/.Xresources b/.Xresources +index a8ee9dc..43976cd 100644 +--- a/.Xresources ++++ b/.Xresources +@@ -14,7 +14,7 @@ xpdf.initialZoom: width + + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + +-emacs*geometry: 80x65 ++emacs*geometry: 80x39 + + + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! diff --git a/split-patch/test/chj-home-expected/--regenerate/0047-.Xresources-reduce-emacs-window-height/_list b/split-patch/test/chj-home-expected/--regenerate/0047-.Xresources-reduce-emacs-window-height/_list new file mode 100644 index 0000000..031d06f --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0047-.Xresources-reduce-emacs-window-height/_list @@ -0,0 +1 @@ +--regenerate/0047-.Xresources-reduce-emacs-window-height/0047-.Xresources-reduce-emacs-window-height-.Xresources.patch diff --git a/split-patch/test/chj-home-expected/--regenerate/0048-.bash_profile-increase-default-virtual-memory-limit/0048-.bash_profile-increase-default-virtual-memory-limit-.bash_profile.patch b/split-patch/test/chj-home-expected/--regenerate/0048-.bash_profile-increase-default-virtual-memory-limit/0048-.bash_profile-increase-default-virtual-memory-limit-.bash_profile.patch new file mode 100644 index 0000000..083b2ea --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0048-.bash_profile-increase-default-virtual-memory-limit/0048-.bash_profile-increase-default-virtual-memory-limit-.bash_profile.patch @@ -0,0 +1,24 @@ +From c9374982fad56d5844278af91fb41608506f6b82 Mon Sep 17 00:00:00 2001 +From: Christian Jaeger +Date: Fri, 1 Dec 2017 10:32:19 +0000 +Subject: .bash_profile: [PATCH 048/191] .bash_profile: increase default virtual memory limit + +Firefox in current Debian stable wouldn't work any more with the old +one. +--- + .bash_profile | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/.bash_profile b/.bash_profile +index 94cf529..a617064 100644 +--- a/.bash_profile ++++ b/.bash_profile +@@ -37,7 +37,7 @@ unset GNOME_KEYRING_CONTROL + export COLUMNS + export HISTSIZE=1500 + +-ulimit -S -v 1200000 # note: can override in .bash_profile_local ++ulimit -S -v 3200000 # note: can override in .bash_profile_local + + + # --- Personal env setup: ------- diff --git a/split-patch/test/chj-home-expected/--regenerate/0048-.bash_profile-increase-default-virtual-memory-limit/_list b/split-patch/test/chj-home-expected/--regenerate/0048-.bash_profile-increase-default-virtual-memory-limit/_list new file mode 100644 index 0000000..4e511c8 --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0048-.bash_profile-increase-default-virtual-memory-limit/_list @@ -0,0 +1 @@ +--regenerate/0048-.bash_profile-increase-default-virtual-memory-limit/0048-.bash_profile-increase-default-virtual-memory-limit-.bash_profile.patch diff --git a/split-patch/test/chj-home-expected/--regenerate/0049-move-home-init-.chj-home-init/0049-move-home-init-.chj-home-init-.bash_profile.patch b/split-patch/test/chj-home-expected/--regenerate/0049-move-home-init-.chj-home-init/0049-move-home-init-.chj-home-init-.bash_profile.patch new file mode 100644 index 0000000..6a99d61 --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0049-move-home-init-.chj-home-init/0049-move-home-init-.chj-home-init-.bash_profile.patch @@ -0,0 +1,24 @@ +From fa002c681dd12a2470fdfc7dab629e39c59950ea Mon Sep 17 00:00:00 2001 +From: Christian Jaeger +Date: Fri, 1 Dec 2017 10:40:35 +0000 +Subject: .bash_profile: [PATCH 049/191] move home-init -> .chj-home/init + +--- + .bash_profile | 2 +- + home-init => .chj-home/init | 6 +++--- + 2 files changed, 4 insertions(+), 4 deletions(-) + rename home-init => .chj-home/init (93%) + +diff --git a/.bash_profile b/.bash_profile +index a617064..bda7a55 100644 +--- a/.bash_profile ++++ b/.bash_profile +@@ -48,7 +48,7 @@ ulimit -S -v 3200000 # note: can override in .bash_profile_local + if [ -f ~/.bash_profile_local ]; then + source ~/.bash_profile_local + else +- echo "NOTE: ~/.bash_profile_local does not exist, please run ~/home-init" >&2 ++ echo "NOTE: ~/.bash_profile_local does not exist, please run ~/.chj-home/init" >&2 + fi + if [ -f ~/.bashrc ]; then + source ~/.bashrc diff --git a/split-patch/test/chj-home-expected/--regenerate/0049-move-home-init-.chj-home-init/0049-move-home-init-.chj-home-init-.chj-home_init.patch b/split-patch/test/chj-home-expected/--regenerate/0049-move-home-init-.chj-home-init/0049-move-home-init-.chj-home-init-.chj-home_init.patch new file mode 100644 index 0000000..3cb67a4 --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0049-move-home-init-.chj-home-init/0049-move-home-init-.chj-home-init-.chj-home_init.patch @@ -0,0 +1,38 @@ +From fa002c681dd12a2470fdfc7dab629e39c59950ea Mon Sep 17 00:00:00 2001 +From: Christian Jaeger +Date: Fri, 1 Dec 2017 10:40:35 +0000 +Subject: .chj-home/init: [PATCH 049/191] move home-init -> .chj-home/init + +--- + .bash_profile | 2 +- + home-init => .chj-home/init | 6 +++--- + 2 files changed, 4 insertions(+), 4 deletions(-) + rename home-init => .chj-home/init (93%) + +diff --git a/home-init b/.chj-home/init +similarity index 93% +rename from home-init +rename to .chj-home/init +index 950aea2..3926178 100755 +--- a/home-init ++++ b/.chj-home/init +@@ -9,8 +9,8 @@ if [ "$(readlink -f .)" != "$(readlink -f ~)" ]; then + fi + + +-if [ -e .home-init-done ]; then +- echo "$0 was already run before; if you want to force re-running it, please run 'rm .home-init-done' first." ++if [ -e .chj-home/init-done ]; then ++ echo "$0 was already run before; if you want to force re-running it, please run 'rm .chj-home/init-done' first." + exit 0 + fi + +@@ -87,7 +87,7 @@ lesskey + chmod a+wxt,g+s DROP + touch .ssh/authorized_keys + chmod go-w .ssh/authorized_keys +-touch .home-init-done ++touch .chj-home/init-done + + set +x + diff --git a/split-patch/test/chj-home-expected/--regenerate/0049-move-home-init-.chj-home-init/_list b/split-patch/test/chj-home-expected/--regenerate/0049-move-home-init-.chj-home-init/_list new file mode 100644 index 0000000..19840f8 --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0049-move-home-init-.chj-home-init/_list @@ -0,0 +1,2 @@ +--regenerate/0049-move-home-init-.chj-home-init/0049-move-home-init-.chj-home-init-.bash_profile.patch +--regenerate/0049-move-home-init-.chj-home-init/0049-move-home-init-.chj-home-init-.chj-home_init.patch diff --git a/split-patch/test/chj-home-expected/--regenerate/0050-.bash_profile-stop-the-X-beep/0050-.bash_profile-stop-the-X-beep-.bash_profile.patch b/split-patch/test/chj-home-expected/--regenerate/0050-.bash_profile-stop-the-X-beep/0050-.bash_profile-stop-the-X-beep-.bash_profile.patch new file mode 100644 index 0000000..7f4ba3e --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0050-.bash_profile-stop-the-X-beep/0050-.bash_profile-stop-the-X-beep-.bash_profile.patch @@ -0,0 +1,24 @@ +From 087495679c102270e73e1fcdafefc0df595bd366 Mon Sep 17 00:00:00 2001 +From: "Christian Jaeger (Rustaceans)" +Date: Thu, 30 Nov 2017 19:30:42 +0000 +Subject: .bash_profile: [PATCH 050/191] .bash_profile: stop the X beep + +--- + .bash_profile | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/.bash_profile b/.bash_profile +index bda7a55..00c7849 100644 +--- a/.bash_profile ++++ b/.bash_profile +@@ -39,6 +39,10 @@ export HISTSIZE=1500 + + ulimit -S -v 3200000 # note: can override in .bash_profile_local + ++if [ -n "${DISPLAY-}" ]; then ++ xset -b ++fi ++ + + # --- Personal env setup: ------- + # see ~/.bash_profile_local diff --git a/split-patch/test/chj-home-expected/--regenerate/0050-.bash_profile-stop-the-X-beep/_list b/split-patch/test/chj-home-expected/--regenerate/0050-.bash_profile-stop-the-X-beep/_list new file mode 100644 index 0000000..61344bd --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0050-.bash_profile-stop-the-X-beep/_list @@ -0,0 +1 @@ +--regenerate/0050-.bash_profile-stop-the-X-beep/0050-.bash_profile-stop-the-X-beep-.bash_profile.patch diff --git a/split-patch/test/chj-home-expected/--regenerate/0051-symlink-the-opt-chj-emacs-bin-scripts/0051-symlink-the-opt-chj-emacs-bin-scripts-.chj-home_init.patch b/split-patch/test/chj-home-expected/--regenerate/0051-symlink-the-opt-chj-emacs-bin-scripts/0051-symlink-the-opt-chj-emacs-bin-scripts-.chj-home_init.patch new file mode 100644 index 0000000..78c4ee8 --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0051-symlink-the-opt-chj-emacs-bin-scripts/0051-symlink-the-opt-chj-emacs-bin-scripts-.chj-home_init.patch @@ -0,0 +1,31 @@ +From 17d1241b93a3afc13f38fc7e3c8535d30071247e Mon Sep 17 00:00:00 2001 +From: Christian Jaeger +Date: Tue, 5 Dec 2017 12:08:32 +0000 +Subject: .chj-home/init: [PATCH 051/191] symlink the /opt/chj/emacs/bin/* scripts + +--- + .chj-home/init | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +diff --git a/.chj-home/init b/.chj-home/init +index 3926178..60aaa47 100755 +--- a/.chj-home/init ++++ b/.chj-home/init +@@ -81,7 +81,7 @@ lesskey + + ( + umask 077 +- mkdir -p tmp .ssh DROP scratch ++ mkdir -p tmp .ssh DROP scratch bin + ) + + chmod a+wxt,g+s DROP +@@ -89,6 +89,8 @@ touch .ssh/authorized_keys + chmod go-w .ssh/authorized_keys + touch .chj-home/init-done + ++ln -s /opt/chj/emacs/bin/* bin || true ++ + set +x + + echo "NOTE: Your answers have been written to .chj-home_fullname, .chj-home_email, and the files .bash_profile_local and .gitconfig have been generated." diff --git a/split-patch/test/chj-home-expected/--regenerate/0051-symlink-the-opt-chj-emacs-bin-scripts/_list b/split-patch/test/chj-home-expected/--regenerate/0051-symlink-the-opt-chj-emacs-bin-scripts/_list new file mode 100644 index 0000000..9dc64b7 --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0051-symlink-the-opt-chj-emacs-bin-scripts/_list @@ -0,0 +1 @@ +--regenerate/0051-symlink-the-opt-chj-emacs-bin-scripts/0051-symlink-the-opt-chj-emacs-bin-scripts-.chj-home_init.patch diff --git a/split-patch/test/chj-home-expected/--regenerate/0052-.bashrc-use-false-instead-of-return-1/0052-.bashrc-use-false-instead-of-return-1-.bashrc.patch b/split-patch/test/chj-home-expected/--regenerate/0052-.bashrc-use-false-instead-of-return-1/0052-.bashrc-use-false-instead-of-return-1-.bashrc.patch new file mode 100644 index 0000000..a559660 --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0052-.bashrc-use-false-instead-of-return-1/0052-.bashrc-use-false-instead-of-return-1-.bashrc.patch @@ -0,0 +1,23 @@ +From 64bb27e1c713cf39365970b6fd5c9bede6300eab Mon Sep 17 00:00:00 2001 +From: Christian Jaeger +Date: Tue, 26 Dec 2017 04:44:14 +0000 +Subject: .bashrc: [PATCH 052/191] .bashrc: use false instead of return 1 + +It is shorter, and is a built-in, too. +--- + .bashrc | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/.bashrc b/.bashrc +index 44629b2..13d8f31 100644 +--- a/.bashrc ++++ b/.bashrc +@@ -149,7 +149,7 @@ settitle () { + if [ "$UID" -eq 0 ]; then + tar () { + echo "'tar': use tar-names or tar-numbers instead" >&2 +- return 1 ++ false + } + fi + diff --git a/split-patch/test/chj-home-expected/--regenerate/0052-.bashrc-use-false-instead-of-return-1/_list b/split-patch/test/chj-home-expected/--regenerate/0052-.bashrc-use-false-instead-of-return-1/_list new file mode 100644 index 0000000..33101ce --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0052-.bashrc-use-false-instead-of-return-1/_list @@ -0,0 +1 @@ +--regenerate/0052-.bashrc-use-false-instead-of-return-1/0052-.bashrc-use-false-instead-of-return-1-.bashrc.patch diff --git a/split-patch/test/chj-home-expected/--regenerate/0053-.Xresources-emacs-back-to-internal-LCD-novo/0053-.Xresources-emacs-back-to-internal-LCD-novo-.Xresources.patch b/split-patch/test/chj-home-expected/--regenerate/0053-.Xresources-emacs-back-to-internal-LCD-novo/0053-.Xresources-emacs-back-to-internal-LCD-novo-.Xresources.patch new file mode 100644 index 0000000..7d44375 --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0053-.Xresources-emacs-back-to-internal-LCD-novo/0053-.Xresources-emacs-back-to-internal-LCD-novo-.Xresources.patch @@ -0,0 +1,24 @@ +From f6fe9127c6c95327149069170347b3d29d82601e Mon Sep 17 00:00:00 2001 +From: Christian Jaeger +Date: Sat, 14 Apr 2018 22:02:21 +0100 +Subject: .Xresources: [PATCH 053/191] .Xresources: emacs back to internal LCD novo + +Stupid. Also, why do I have to trial and error, shown sizes by emacs +are not the right ones. WTF emacs? +--- + .Xresources | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/.Xresources b/.Xresources +index a8ee9dc..5351f20 100644 +--- a/.Xresources ++++ b/.Xresources +@@ -14,7 +14,7 @@ xpdf.initialZoom: width + + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + +-emacs*geometry: 80x65 ++emacs*geometry: 80x54 + + + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! diff --git a/split-patch/test/chj-home-expected/--regenerate/0053-.Xresources-emacs-back-to-internal-LCD-novo/_list b/split-patch/test/chj-home-expected/--regenerate/0053-.Xresources-emacs-back-to-internal-LCD-novo/_list new file mode 100644 index 0000000..ca05517 --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0053-.Xresources-emacs-back-to-internal-LCD-novo/_list @@ -0,0 +1 @@ +--regenerate/0053-.Xresources-emacs-back-to-internal-LCD-novo/0053-.Xresources-emacs-back-to-internal-LCD-novo-.Xresources.patch diff --git a/split-patch/test/chj-home-expected/--regenerate/0054-.Xresources-omfg-it-was-correctly-displayed/0054-.Xresources-omfg-it-was-correctly-displayed-.Xresources.patch b/split-patch/test/chj-home-expected/--regenerate/0054-.Xresources-omfg-it-was-correctly-displayed/0054-.Xresources-omfg-it-was-correctly-displayed-.Xresources.patch new file mode 100644 index 0000000..da1cc04 --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0054-.Xresources-omfg-it-was-correctly-displayed/0054-.Xresources-omfg-it-was-correctly-displayed-.Xresources.patch @@ -0,0 +1,24 @@ +From affa8907b4790ad1833dfe111f6582645425d21a Mon Sep 17 00:00:00 2001 +From: Christian Jaeger +Date: Sat, 14 Apr 2018 22:03:56 +0100 +Subject: .Xresources: [PATCH 054/191] .Xresources: omfg it *was* correctly displayed + +Just that the first window coming up is shorter, somehow. Because it's +first displaying menu then turning it off? +--- + .Xresources | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/.Xresources b/.Xresources +index 5351f20..4d0c54a 100644 +--- a/.Xresources ++++ b/.Xresources +@@ -14,7 +14,7 @@ xpdf.initialZoom: width + + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + +-emacs*geometry: 80x54 ++emacs*geometry: 80x51 + + + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! diff --git a/split-patch/test/chj-home-expected/--regenerate/0054-.Xresources-omfg-it-was-correctly-displayed/_list b/split-patch/test/chj-home-expected/--regenerate/0054-.Xresources-omfg-it-was-correctly-displayed/_list new file mode 100644 index 0000000..b37de71 --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0054-.Xresources-omfg-it-was-correctly-displayed/_list @@ -0,0 +1 @@ +--regenerate/0054-.Xresources-omfg-it-was-correctly-displayed/0054-.Xresources-omfg-it-was-correctly-displayed-.Xresources.patch diff --git a/split-patch/test/chj-home-expected/--regenerate/0055-add-.xscreensaver-with-hand-selection-through-ALL-of/0055-add-.xscreensaver-with-hand-selection-through-ALL-of-.xscreensaver.patch b/split-patch/test/chj-home-expected/--regenerate/0055-add-.xscreensaver-with-hand-selection-through-ALL-of/0055-add-.xscreensaver-with-hand-selection-through-ALL-of-.xscreensaver.patch new file mode 100644 index 0000000..1d8b0f8 --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0055-add-.xscreensaver-with-hand-selection-through-ALL-of/0055-add-.xscreensaver-with-hand-selection-through-ALL-of-.xscreensaver.patch @@ -0,0 +1,298 @@ +From 8e45e26c8d2f54bb5119480b436ab5e05f54f437 Mon Sep 17 00:00:00 2001 +From: "Christian Jaeger (Rustaceans)" +Date: Sat, 21 Apr 2018 14:31:12 +0100 +Subject: .xscreensaver: [PATCH 055/191] add .xscreensaver with hand selection through ALL of + the items. for dull. + +--- + .xscreensaver | 281 ++++++++++++++++++++++++++++++++++++++++++++++++++ + 1 file changed, 281 insertions(+) + create mode 100644 .xscreensaver + +diff --git a/.xscreensaver b/.xscreensaver +new file mode 100644 +index 0000000..278098b +--- /dev/null ++++ b/.xscreensaver +@@ -0,0 +1,281 @@ ++# XScreenSaver Preferences File ++# Written by xscreensaver-demo 5.36 for rustaceans on Sat Apr 21 14:30:36 2018. ++# https://www.jwz.org/xscreensaver/ ++ ++timeout: 0:10:00 ++cycle: 0:10:00 ++lock: True ++lockTimeout: 0:01:00 ++passwdTimeout: 0:00:30 ++visualID: default ++installColormap: True ++verbose: False ++timestamp: True ++splash: True ++splashDuration: 0:00:05 ++demoCommand: xscreensaver-demo ++prefsCommand: xscreensaver-demo -prefs ++nice: 10 ++memoryLimit: 0 ++fade: True ++unfade: False ++fadeSeconds: 0:00:03 ++fadeTicks: 20 ++captureStderr: True ++ignoreUninstalledPrograms:False ++font: *-medium-r-*-140-*-m-* ++dpmsEnabled: False ++dpmsQuickOff: False ++dpmsStandby: 2:00:00 ++dpmsSuspend: 2:00:00 ++dpmsOff: 4:00:00 ++grabDesktopImages: False ++grabVideoFrames: False ++chooseRandomImages: False ++imageDirectory: ++ ++mode: random ++selected: -1 ++ ++textMode: url ++textLiteral: XScreenSaver ++textFile: ++textProgram: fortune ++textURL: https://planet.debian.org/rss20.xml ++ ++programs: \ ++- maze -root \n\ ++- GL: superquadrics -root \n\ ++ attraction -root \n\ ++- blitspin -root \n\ ++- greynetic -root \n\ ++- helix -root \n\ ++ hopalong -root \n\ ++- imsmap -root \n\ ++- noseguy -root \n\ ++- pyro -root \n\ ++- qix -root \n\ ++- rocks -root \n\ ++- rorschach -root \n\ ++- decayscreen -root \n\ ++- flame -root \n\ ++- halo -root \n\ ++- slidescreen -root \n\ ++- pedal -root \n\ ++ bouboule -root \n\ ++- braid -root \n\ ++- coral -root \n\ ++- deco -root \n\ ++- drift -root \n\ ++- fadeplot -root \n\ ++ galaxy -root \n\ ++- goop -root \n\ ++- grav -root \n\ ++- ifs -root \n\ ++- unicode -root \n\ ++- GL: jigsaw -root \n\ ++- julia -root \n\ ++- kaleidescope -root \n\ ++- GL: moebius -root \n\ ++ moire -root \n\ ++- GL: morph3d -root \n\ ++- mountain -root \n\ ++- munch -root \n\ ++- penrose -root \n\ ++- GL: pipes -root \n\ ++- rd-bomb -root \n\ ++ GL: rubik -root \n\ ++- sierpinski -root \n\ ++- slip -root \n\ ++- GL: sproingies -root \n\ ++- starfish -root \n\ ++- strange -root \n\ ++- swirl -root \n\ ++- triangle -root \n\ ++ xjack -root \n\ ++- xlyap -root \n\ ++ GL: atlantis -root \n\ ++- bsod -root \n\ ++ GL: bubble3d -root \n\ ++- GL: cage -root \n\ ++- crystal -root \n\ ++ cynosure -root \n\ ++ discrete -root \n\ ++- distort -root \n\ ++- epicycle -root \n\ ++- flow -root \n\ ++- GL: glplanet -root \n\ ++- interference -root \n\ ++- kumppa -root \n\ ++- GL: lament -root \n\ ++- moire2 -root \n\ ++ GL: sonar -root \n\ ++- GL: stairs -root \n\ ++- truchet -root \n\ ++- vidwhacker -root \n\ ++- blaster -root \n\ ++- bumps -root \n\ ++- ccurve -root \n\ ++ compass -root \n\ ++- deluxe -root \n\ ++- demon -root \n\ ++- GL: extrusion -root \n\ ++- loop -root \n\ ++- penetrate -root \n\ ++- petri -root \n\ ++- phosphor -root \n\ ++- GL: pulsar -root \n\ ++- ripples -root \n\ ++- shadebobs -root \n\ ++- GL: sierpinski3d -root \n\ ++- spotlight -root \n\ ++- squiral -root \n\ ++- wander -root \n\ ++- webcollage -root \n\ ++- xflame -root \n\ ++ xmatrix -root \n\ ++- GL: gflux -root \n\ ++- nerverot -root \n\ ++- xrayswarm -root \n\ ++- xspirograph -root \n\ ++- GL: circuit -root \n\ ++- GL: dangerball -root \n\ ++- GL: engine -root \n\ ++- GL: flipscreen3d -root \n\ ++- GL: gltext -root \n\ ++- GL: menger -root \n\ ++- GL: molecule -root \n\ ++- rotzoomer -root \n\ ++- speedmine -root \n\ ++- GL: starwars -root \n\ ++- GL: stonerview -root \n\ ++- vermiculate -root \n\ ++- whirlwindwarp -root \n\ ++- zoom -root \n\ ++ anemone -root \n\ ++- apollonian -root \n\ ++ GL: boxed -root \n\ ++- GL: cubenetic -root \n\ ++ GL: endgame -root \n\ ++ euler2d -root \n\ ++- fluidballs -root \n\ ++ GL: flurry -root \n\ ++- GL: glblur -root \n\ ++- GL: glsnake -root \n\ ++- halftone -root \n\ ++ GL: juggler3d -root \n\ ++- GL: lavalite -root \n\ ++- polyominoes -root \n\ ++- GL: queens -root \n\ ++- GL: sballs -root \n\ ++- GL: spheremonics -root \n\ ++- thornbird -root \n\ ++- twang -root \n\ ++- GL: antspotlight -root \n\ ++ apple2 -root \n\ ++ GL: atunnel -root \n\ ++ barcode -root \n\ ++- GL: blinkbox -root \n\ ++ GL: blocktube -root \n\ ++- GL: bouncingcow -root \n\ ++ cloudlife -root \n\ ++- GL: cubestorm -root \n\ ++- eruption -root \n\ ++- GL: flipflop -root \n\ ++ GL: flyingtoasters -root \n\ ++- fontglide -root \n\ ++- GL: gleidescope -root \n\ ++- GL: glknots -root \n\ ++ GL: glmatrix -root \n\ ++- GL: glslideshow -root \n\ ++ GL: hypertorus -root \n\ ++ GL: jigglypuff -root \n\ ++- metaballs -root \n\ ++- GL: mirrorblob -root \n\ ++- piecewise -root \n\ ++ GL: polytopes -root \n\ ++- pong -root \n\ ++- popsquares -root \n\ ++- GL: surfaces -root \n\ ++- xanalogtv -root \n\ ++ abstractile -root \n\ ++- anemotaxis -root \n\ ++- GL: antinspect -root \n\ ++ fireworkx -root \n\ ++- fuzzyflakes -root \n\ ++ interaggregate -root \n\ ++ intermomentary -root \n\ ++- memscroller -root \n\ ++- GL: noof -root \n\ ++ pacman -root \n\ ++- GL: pinion -root \n\ ++- GL: polyhedra -root \n\ ++- GL: providence -root \n\ ++ substrate -root \n\ ++- wormhole -root \n\ ++- GL: antmaze -root \n\ ++- GL: boing -root \n\ ++- boxfit -root \n\ ++- GL: carousel -root \n\ ++- celtic -root \n\ ++ GL: crackberg -root \n\ ++ GL: cube21 -root \n\ ++ fiberlamp -root \n\ ++- GL: fliptext -root \n\ ++- GL: glhanoi -root \n\ ++- GL: tangram -root \n\ ++- GL: timetunnel -root \n\ ++- GL: glschool -root \n\ ++- GL: topblock -root \n\ ++ GL: cubicgrid -root \n\ ++ cwaves -root \n\ ++- GL: gears -root \n\ ++ GL: glcells -root \n\ ++- GL: lockward -root \n\ ++- m6502 -root \n\ ++- GL: moebiusgears -root \n\ ++- GL: voronoi -root \n\ ++- GL: hypnowheel -root \n\ ++ GL: klein -root \n\ ++- lcdscrub -root \n\ ++- GL: photopile -root \n\ ++- GL: skytentacles -root \n\ ++ GL: rubikblocks -root \n\ ++ GL: companioncube -root \n\ ++- GL: hilbert -root \n\ ++- GL: tronbit -root \n\ ++- GL: geodesic -root \n\ ++ hexadrop -root \n\ ++- GL: kaleidocycle -root \n\ ++ GL: quasicrystal -root \n\ ++ GL: unknownpleasures -root \n\ ++ binaryring -root \n\ ++ GL: cityflow -root \n\ ++- GL: geodesicgears -root \n\ ++ GL: projectiveplane -root \n\ ++- GL: romanboy -root \n\ ++- tessellimage -root \n\ ++ GL: winduprobot -root \n\ ++ GL: splitflap -root \n\ ++ GL: cubestack -root \n\ ++ GL: cubetwist -root \n\ ++ GL: discoball -root \n\ ++- GL: dymaxionmap -root \n\ ++- GL: energystream -root \n\ ++- GL: hexstrut -root \n\ ++ GL: hydrostat -root \n\ ++- GL: raverhoop -root \n\ ++- GL: splodesic -root \n\ ++- GL: unicrud -root \n\ ++ ++ ++pointerPollTime: 0:00:05 ++pointerHysteresis: 10 ++windowCreationTimeout:0:00:30 ++initialDelay: 0:00:00 ++GetViewPortIsFullOfLies:False ++procInterrupts: True ++xinputExtensionDev: False ++overlayStderr: True ++authWarningSlack: 20 ++ diff --git a/split-patch/test/chj-home-expected/--regenerate/0055-add-.xscreensaver-with-hand-selection-through-ALL-of/_list b/split-patch/test/chj-home-expected/--regenerate/0055-add-.xscreensaver-with-hand-selection-through-ALL-of/_list new file mode 100644 index 0000000..b578e7e --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0055-add-.xscreensaver-with-hand-selection-through-ALL-of/_list @@ -0,0 +1 @@ +--regenerate/0055-add-.xscreensaver-with-hand-selection-through-ALL-of/0055-add-.xscreensaver-with-hand-selection-through-ALL-of-.xscreensaver.patch diff --git a/split-patch/test/chj-home-expected/--regenerate/0056-.xscreensaver-disable-sonar/0056-.xscreensaver-disable-sonar-.xscreensaver.patch b/split-patch/test/chj-home-expected/--regenerate/0056-.xscreensaver-disable-sonar/0056-.xscreensaver-disable-sonar-.xscreensaver.patch new file mode 100644 index 0000000..c1e8cb2 --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0056-.xscreensaver-disable-sonar/0056-.xscreensaver-disable-sonar-.xscreensaver.patch @@ -0,0 +1,32 @@ +From 765a83c942cd6d08a7af3fc0bdb6c59bccda7090 Mon Sep 17 00:00:00 2001 +From: "Christian Jaeger (Rustaceans)" +Date: Sat, 21 Apr 2018 14:38:14 +0100 +Subject: .xscreensaver: [PATCH 056/191] .xscreensaver: disable sonar + +it's bad ARP packegts only but soo many of them. + +Also saving setuid that way.~ +--- + .xscreensaver | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/.xscreensaver b/.xscreensaver +index 278098b..26376cf 100644 +--- a/.xscreensaver ++++ b/.xscreensaver +@@ -1,5 +1,5 @@ + # XScreenSaver Preferences File +-# Written by xscreensaver-demo 5.36 for rustaceans on Sat Apr 21 14:30:36 2018. ++# Written by xscreensaver-demo 5.36 for rustaceans on Sat Apr 21 14:37:54 2018. + # https://www.jwz.org/xscreensaver/ + + timeout: 0:10:00 +@@ -109,7 +109,7 @@ programs: \ + - kumppa -root \n\ + - GL: lament -root \n\ + - moire2 -root \n\ +- GL: sonar -root \n\ ++- GL: sonar -root \n\ + - GL: stairs -root \n\ + - truchet -root \n\ + - vidwhacker -root \n\ diff --git a/split-patch/test/chj-home-expected/--regenerate/0056-.xscreensaver-disable-sonar/_list b/split-patch/test/chj-home-expected/--regenerate/0056-.xscreensaver-disable-sonar/_list new file mode 100644 index 0000000..a662307 --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0056-.xscreensaver-disable-sonar/_list @@ -0,0 +1 @@ +--regenerate/0056-.xscreensaver-disable-sonar/0056-.xscreensaver-disable-sonar-.xscreensaver.patch diff --git a/split-patch/test/chj-home-expected/--regenerate/0057-.xscreensaver-ok-hav-to-let-it-put-monitor-to-sleep/0057-.xscreensaver-ok-hav-to-let-it-put-monitor-to-sleep-.xscreensaver.patch b/split-patch/test/chj-home-expected/--regenerate/0057-.xscreensaver-ok-hav-to-let-it-put-monitor-to-sleep/0057-.xscreensaver-ok-hav-to-let-it-put-monitor-to-sleep-.xscreensaver.patch new file mode 100644 index 0000000..1e869b1 --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0057-.xscreensaver-ok-hav-to-let-it-put-monitor-to-sleep/0057-.xscreensaver-ok-hav-to-let-it-put-monitor-to-sleep-.xscreensaver.patch @@ -0,0 +1,86 @@ +From 6bb303a867bd8d0dd9c38a808b71f11cc6d82646 Mon Sep 17 00:00:00 2001 +From: "Christian Jaeger (Rustaceans)" +Date: Sat, 21 Apr 2018 17:10:22 +0100 +Subject: .xscreensaver: [PATCH 057/191] .xscreensaver: ok *hav* to let it put monitor to + sleep + +Not getting done otherwise ech + +Also, use desktop background pic, enable more savers with those. +--- + .xscreensaver | 24 +++++++++++++----------- + 1 file changed, 13 insertions(+), 11 deletions(-) + +diff --git a/.xscreensaver b/.xscreensaver +index 26376cf..e79c958 100644 +--- a/.xscreensaver ++++ b/.xscreensaver +@@ -1,5 +1,5 @@ + # XScreenSaver Preferences File +-# Written by xscreensaver-demo 5.36 for rustaceans on Sat Apr 21 14:37:54 2018. ++# Written by xscreensaver-demo 5.36 for rustaceans on Sat Apr 21 17:10:14 2018. + # https://www.jwz.org/xscreensaver/ + + timeout: 0:10:00 +@@ -24,15 +24,15 @@ fadeTicks: 20 + captureStderr: True + ignoreUninstalledPrograms:False + font: *-medium-r-*-140-*-m-* +-dpmsEnabled: False ++dpmsEnabled: True + dpmsQuickOff: False +-dpmsStandby: 2:00:00 +-dpmsSuspend: 2:00:00 ++dpmsStandby: 0:15:00 ++dpmsSuspend: 0:30:00 + dpmsOff: 4:00:00 + grabDesktopImages: False + grabVideoFrames: False +-chooseRandomImages: False +-imageDirectory: ++chooseRandomImages: True ++imageDirectory: /home/rustaceans/background/rusty-ship + + mode: random + selected: -1 +@@ -134,7 +134,7 @@ programs: \ + - webcollage -root \n\ + - xflame -root \n\ + xmatrix -root \n\ +-- GL: gflux -root \n\ ++ GL: gflux -root -speed 0.05 -squares 40 \n\ + - nerverot -root \n\ + - xrayswarm -root \n\ + - xspirograph -root \n\ +@@ -160,9 +160,10 @@ programs: \ + euler2d -root \n\ + - fluidballs -root \n\ + GL: flurry -root \n\ +-- GL: glblur -root \n\ ++ GL: glblur -root -delay 8547 -blursize 30 \n\ + - GL: glsnake -root \n\ +-- halftone -root \n\ ++ halftone -root -delay 14530 -maxspeed \ ++ 0.0124 \n\ + GL: juggler3d -root \n\ + - GL: lavalite -root \n\ + - polyominoes -root \n\ +@@ -187,7 +188,8 @@ programs: \ + - GL: gleidescope -root \n\ + - GL: glknots -root \n\ + GL: glmatrix -root \n\ +-- GL: glslideshow -root \n\ ++ GL: glslideshow -root -duration 10 -zoom 50 \ ++ -pan 30 -fade 9 \n\ + GL: hypertorus -root \n\ + GL: jigglypuff -root \n\ + - metaballs -root \n\ +@@ -197,7 +199,7 @@ programs: \ + - pong -root \n\ + - popsquares -root \n\ + - GL: surfaces -root \n\ +-- xanalogtv -root \n\ ++ xanalogtv -root \n\ + abstractile -root \n\ + - anemotaxis -root \n\ + - GL: antinspect -root \n\ diff --git a/split-patch/test/chj-home-expected/--regenerate/0057-.xscreensaver-ok-hav-to-let-it-put-monitor-to-sleep/_list b/split-patch/test/chj-home-expected/--regenerate/0057-.xscreensaver-ok-hav-to-let-it-put-monitor-to-sleep/_list new file mode 100644 index 0000000..283f19d --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0057-.xscreensaver-ok-hav-to-let-it-put-monitor-to-sleep/_list @@ -0,0 +1 @@ +--regenerate/0057-.xscreensaver-ok-hav-to-let-it-put-monitor-to-sleep/0057-.xscreensaver-ok-hav-to-let-it-put-monitor-to-sleep-.xscreensaver.patch diff --git a/split-patch/test/chj-home-expected/--regenerate/0058-.bashrc-ls-with-colors/0058-.bashrc-ls-with-colors-.bashrc.patch b/split-patch/test/chj-home-expected/--regenerate/0058-.bashrc-ls-with-colors/0058-.bashrc-ls-with-colors-.bashrc.patch new file mode 100644 index 0000000..3f447cd --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0058-.bashrc-ls-with-colors/0058-.bashrc-ls-with-colors-.bashrc.patch @@ -0,0 +1,22 @@ +From 52382355c936ae0c857dac0a378549906a27cb2a Mon Sep 17 00:00:00 2001 +From: "Christian Jaeger (Rustaceans)" +Date: Sun, 22 Apr 2018 23:59:59 +0100 +Subject: .bashrc: [PATCH 058/191] .bashrc: ls with colors + +--- + .bashrc | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/.bashrc b/.bashrc +index 44629b2..c8ba8a9 100644 +--- a/.bashrc ++++ b/.bashrc +@@ -166,7 +166,7 @@ lsof () { + + # Utils which might be later in PATH than system ones: + +-ls () { /opt/chj/bin/ls "$@"; } # XX is this still useful? ++ls () { /opt/chj/bin/ls --color=auto "$@"; } # XX is this still useful? + sort () { /opt/chj/bin/sort "$@"; } + smplayer () { /opt/chj/bin/smplayer "$@"; } + zless () { /opt/chj/bin/zless "$@"; } diff --git a/split-patch/test/chj-home-expected/--regenerate/0058-.bashrc-ls-with-colors/_list b/split-patch/test/chj-home-expected/--regenerate/0058-.bashrc-ls-with-colors/_list new file mode 100644 index 0000000..09e0a8d --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0058-.bashrc-ls-with-colors/_list @@ -0,0 +1 @@ +--regenerate/0058-.bashrc-ls-with-colors/0058-.bashrc-ls-with-colors-.bashrc.patch diff --git a/split-patch/test/chj-home-expected/--regenerate/0059-.bashrc-remove-le-function/0059-.bashrc-remove-le-function-.bashrc.patch b/split-patch/test/chj-home-expected/--regenerate/0059-.bashrc-remove-le-function/0059-.bashrc-remove-le-function-.bashrc.patch new file mode 100644 index 0000000..1c94f8a --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0059-.bashrc-remove-le-function/0059-.bashrc-remove-le-function-.bashrc.patch @@ -0,0 +1,22 @@ +From f3d1fe6c8f7fd7fd5ac21c93cb2ce42294414c75 Mon Sep 17 00:00:00 2001 +From: Christian Jaeger +Date: Thu, 17 May 2018 17:32:58 +0100 +Subject: .bashrc: [PATCH 059/191] .bashrc: remove le function + +le is now a script in chj-bin +--- + .bashrc | 1 - + 1 file changed, 1 deletion(-) + +diff --git a/.bashrc b/.bashrc +index 13d8f31..51bfbe6 100644 +--- a/.bashrc ++++ b/.bashrc +@@ -65,7 +65,6 @@ uuu() { cd ../../..; } + uuuu() { cd ../../../..; } + uuuuu() { cd ../../../../..; } + les() { less "$@"; } +-le() { zless "$@"; } + c() { cd "$@"; } + cdnewdir() { + if [ "$#" -eq 1 ]; then diff --git a/split-patch/test/chj-home-expected/--regenerate/0059-.bashrc-remove-le-function/_list b/split-patch/test/chj-home-expected/--regenerate/0059-.bashrc-remove-le-function/_list new file mode 100644 index 0000000..082455a --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0059-.bashrc-remove-le-function/_list @@ -0,0 +1 @@ +--regenerate/0059-.bashrc-remove-le-function/0059-.bashrc-remove-le-function-.bashrc.patch diff --git a/split-patch/test/chj-home-expected/--regenerate/0060-make-unlimit-accept-a-command/0060-make-unlimit-accept-a-command-.bashrc.patch b/split-patch/test/chj-home-expected/--regenerate/0060-make-unlimit-accept-a-command/0060-make-unlimit-accept-a-command-.bashrc.patch new file mode 100644 index 0000000..90f67b4 --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0060-make-unlimit-accept-a-command/0060-make-unlimit-accept-a-command-.bashrc.patch @@ -0,0 +1,29 @@ +From 00c4ac771488a9b8c9caf1e1d621d65eea5bb9fa Mon Sep 17 00:00:00 2001 +From: "Christian Jaeger (Rustaceans)" +Date: Tue, 17 Jul 2018 13:29:10 +0100 +Subject: .bashrc: [PATCH 060/191] make "unlimit" accept a command + +--- + .bashrc | 9 ++++++++- + 1 file changed, 8 insertions(+), 1 deletion(-) + +diff --git a/.bashrc b/.bashrc +index c8ba8a9..92628d4 100644 +--- a/.bashrc ++++ b/.bashrc +@@ -122,7 +122,14 @@ cdpwd() { + } + + unlimit() { +- ulimit -S -v unlimited ++ if [ $# -eq 0 ]; then ++ ulimit -S -v unlimited ++ else ++ ( ++ ulimit -S -v unlimited ++ exec "$@" ++ ) ++ fi + } + + cs() { diff --git a/split-patch/test/chj-home-expected/--regenerate/0060-make-unlimit-accept-a-command/_list b/split-patch/test/chj-home-expected/--regenerate/0060-make-unlimit-accept-a-command/_list new file mode 100644 index 0000000..794539e --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0060-make-unlimit-accept-a-command/_list @@ -0,0 +1 @@ +--regenerate/0060-make-unlimit-accept-a-command/0060-make-unlimit-accept-a-command-.bashrc.patch diff --git a/split-patch/test/chj-home-expected/--regenerate/0061-move-.xscreensaver-config-file-let-user-symlink-it/0061-move-.xscreensaver-config-file-let-user-symlink-it-.chj-home_dot.xscreensaver-dull.patch b/split-patch/test/chj-home-expected/--regenerate/0061-move-.xscreensaver-config-file-let-user-symlink-it/0061-move-.xscreensaver-config-file-let-user-symlink-it-.chj-home_dot.xscreensaver-dull.patch new file mode 100644 index 0000000..6313324 --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0061-move-.xscreensaver-config-file-let-user-symlink-it/0061-move-.xscreensaver-config-file-let-user-symlink-it-.chj-home_dot.xscreensaver-dull.patch @@ -0,0 +1,15 @@ +From 5852017d3ee9623bed391618fd5ad34ed7f97b9e Mon Sep 17 00:00:00 2001 +From: Christian Jaeger +Date: Tue, 17 Jul 2018 15:02:08 +0100 +Subject: .chj-home/dot.xscreensaver-dull: [PATCH 061/191] move .xscreensaver config file, let user symlink it + +OK, do symlinks work? +--- + .xscreensaver => .chj-home/dot.xscreensaver-dull | 0 + 1 file changed, 0 insertions(+), 0 deletions(-) + rename .xscreensaver => .chj-home/dot.xscreensaver-dull (100%) + +diff --git a/.xscreensaver b/.chj-home/dot.xscreensaver-dull +similarity index 100% +rename from .xscreensaver +rename to .chj-home/dot.xscreensaver-dull diff --git a/split-patch/test/chj-home-expected/--regenerate/0061-move-.xscreensaver-config-file-let-user-symlink-it/_list b/split-patch/test/chj-home-expected/--regenerate/0061-move-.xscreensaver-config-file-let-user-symlink-it/_list new file mode 100644 index 0000000..157935d --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0061-move-.xscreensaver-config-file-let-user-symlink-it/_list @@ -0,0 +1 @@ +--regenerate/0061-move-.xscreensaver-config-file-let-user-symlink-it/0061-move-.xscreensaver-config-file-let-user-symlink-it-.chj-home_dot.xscreensaver-dull.patch diff --git a/split-patch/test/chj-home-expected/--regenerate/0062-turn-PrtSc-button-into-Control/0062-turn-PrtSc-button-into-Control-.xmodmaprc.patch b/split-patch/test/chj-home-expected/--regenerate/0062-turn-PrtSc-button-into-Control/0062-turn-PrtSc-button-into-Control-.xmodmaprc.patch new file mode 100644 index 0000000..fd9eed4 --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0062-turn-PrtSc-button-into-Control/0062-turn-PrtSc-button-into-Control-.xmodmaprc.patch @@ -0,0 +1,22 @@ +From 31d18331ee97fcbbfdf67f8ab28ec51db31d937c Mon Sep 17 00:00:00 2001 +From: Christian Jaeger +Date: Tue, 28 Aug 2018 14:34:43 +0100 +Subject: .xmodmaprc: [PATCH 062/191] turn PrtSc button into Control + +--- + .xmodmaprc | 5 +++++ + 1 file changed, 5 insertions(+) + +diff --git a/.xmodmaprc b/.xmodmaprc +index 619a385..88b6baf 100644 +--- a/.xmodmaprc ++++ b/.xmodmaprc +@@ -18,3 +18,8 @@ keycode 133 = less greater less greater backslash brokenbar backslash brokenbar + keycode 134 = backslash brokenbar + + keycode 135 = Alt_L ++ ++keycode 107 = Control_R Control_R Control_R Control_R Control_R Control_R Control_R Control_R ++ ++add Control = Control_R ++ diff --git a/split-patch/test/chj-home-expected/--regenerate/0062-turn-PrtSc-button-into-Control/_list b/split-patch/test/chj-home-expected/--regenerate/0062-turn-PrtSc-button-into-Control/_list new file mode 100644 index 0000000..5d88d1d --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0062-turn-PrtSc-button-into-Control/_list @@ -0,0 +1 @@ +--regenerate/0062-turn-PrtSc-button-into-Control/0062-turn-PrtSc-button-into-Control-.xmodmaprc.patch diff --git a/split-patch/test/chj-home-expected/--regenerate/0063-.bashrc-silence-error-message-when-in-scratch/0063-.bashrc-silence-error-message-when-in-scratch-.bashrc.patch b/split-patch/test/chj-home-expected/--regenerate/0063-.bashrc-silence-error-message-when-in-scratch/0063-.bashrc-silence-error-message-when-in-scratch-.bashrc.patch new file mode 100644 index 0000000..42a6768 --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0063-.bashrc-silence-error-message-when-in-scratch/0063-.bashrc-silence-error-message-when-in-scratch-.bashrc.patch @@ -0,0 +1,26 @@ +From 7025d50b32c893b075d27db467a1869c147f3bd4 Mon Sep 17 00:00:00 2001 +From: Christian Jaeger +Date: Sun, 3 Feb 2019 11:39:25 +0000 +Subject: .bashrc: [PATCH 063/191] .bashrc: silence error message when in scratch + +--- + .bashrc | 6 ++++-- + 1 file changed, 4 insertions(+), 2 deletions(-) + +diff --git a/.bashrc b/.bashrc +index 0335adf..4e3c51c 100644 +--- a/.bashrc ++++ b/.bashrc +@@ -143,8 +143,10 @@ cp() { command cp -i "$@"; } + #rm() { command rm -i "$@"; } + + rens () { +- cd scratch/ +- ren -- "`lastfile .`" ++ if [ scratch != "$(basename "$(pwd)")" ]; then ++ cd scratch ++ fi ++ ren -- "$(lastfile .)" + } + + settitle () { diff --git a/split-patch/test/chj-home-expected/--regenerate/0063-.bashrc-silence-error-message-when-in-scratch/_list b/split-patch/test/chj-home-expected/--regenerate/0063-.bashrc-silence-error-message-when-in-scratch/_list new file mode 100644 index 0000000..87c92ab --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0063-.bashrc-silence-error-message-when-in-scratch/_list @@ -0,0 +1 @@ +--regenerate/0063-.bashrc-silence-error-message-when-in-scratch/0063-.bashrc-silence-error-message-when-in-scratch-.bashrc.patch diff --git a/split-patch/test/chj-home-expected/--regenerate/0064-.bashrc-don-t-use-backticks/0064-.bashrc-don-t-use-backticks-.bashrc.patch b/split-patch/test/chj-home-expected/--regenerate/0064-.bashrc-don-t-use-backticks/0064-.bashrc-don-t-use-backticks-.bashrc.patch new file mode 100644 index 0000000..9273265 --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0064-.bashrc-don-t-use-backticks/0064-.bashrc-don-t-use-backticks-.bashrc.patch @@ -0,0 +1,44 @@ +From d58ef763406fd04df785a6fa8612b88122c077de Mon Sep 17 00:00:00 2001 +From: "Christian Jaeger (Rustaceans)" +Date: Mon, 22 Jul 2019 04:15:26 +0100 +Subject: .bashrc: [PATCH 064/191] .bashrc: don't use backticks + +--- + .bashrc | 8 ++++---- + 1 file changed, 4 insertions(+), 4 deletions(-) + +diff --git a/.bashrc b/.bashrc +index 4e3c51c..3483ee3 100644 +--- a/.bashrc ++++ b/.bashrc +@@ -46,7 +46,7 @@ esac + + # enable color support of ls and also add handy aliases + if [ "$TERM" != "dumb" ]; then +- eval "`dircolors -b`" ++ eval "$(dircolors -b)" + ls() { command ls --color=auto "$@"; } + #alias dir='ls --color=auto --format=vertical' + #alias vdir='ls --color=auto --format=long' +@@ -106,10 +106,10 @@ mvcd() { + fi + } + cd_newest_sisterfolder() { +- cd "`find .. -maxdepth 1 -type d -print0 |grep -zZ -v '^\.*$'|xargs -0 -s 129023 -n 129023 --exit --no-run-if-empty ls -dt|head -1`" ++ cd "$(find .. -maxdepth 1 -type d -print0 |grep -zZ -v '^\.*$'|xargs -0 -s 129023 -n 129023 --exit --no-run-if-empty ls -dt|head -1)$" + } + cd_newest() { +- cd "`find . -maxdepth 1 -type d -print0|grep -zZ -v '^\.*$'|xargs -0 -s 129023 -n 129023 --exit --no-run-if-empty ls -dt|head -1`" ++ cd "$(find . -maxdepth 1 -type d -print0|grep -zZ -v '^\.*$'|xargs -0 -s 129023 -n 129023 --exit --no-run-if-empty ls -dt|head -1)" + } + cdt() { + if checkcreate-tmp-owner-dir; then +@@ -117,7 +117,7 @@ cdt() { + fi + } + cdpwd() { +- cd "`pwd -P`" ++ cd "$(pwd -P)" + } + + unlimit() { diff --git a/split-patch/test/chj-home-expected/--regenerate/0064-.bashrc-don-t-use-backticks/_list b/split-patch/test/chj-home-expected/--regenerate/0064-.bashrc-don-t-use-backticks/_list new file mode 100644 index 0000000..1dda51c --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0064-.bashrc-don-t-use-backticks/_list @@ -0,0 +1 @@ +--regenerate/0064-.bashrc-don-t-use-backticks/0064-.bashrc-don-t-use-backticks-.bashrc.patch diff --git a/split-patch/test/chj-home-expected/--regenerate/0065-.bashrc-add-rensn/0065-.bashrc-add-rensn-.bashrc.patch b/split-patch/test/chj-home-expected/--regenerate/0065-.bashrc-add-rensn/0065-.bashrc-add-rensn-.bashrc.patch new file mode 100644 index 0000000..d88ea0a --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0065-.bashrc-add-rensn/0065-.bashrc-add-rensn-.bashrc.patch @@ -0,0 +1,25 @@ +From 5f0d07cc49eae92adc261692fd92cb5efcb7cf9b Mon Sep 17 00:00:00 2001 +From: "Christian Jaeger (Rustaceans)" +Date: Mon, 22 Jul 2019 04:17:57 +0100 +Subject: .bashrc: [PATCH 065/191] .bashrc: add `rensn` + +--- + .bashrc | 5 +++++ + 1 file changed, 5 insertions(+) + +diff --git a/.bashrc b/.bashrc +index 3483ee3..1e03400 100644 +--- a/.bashrc ++++ b/.bashrc +@@ -149,6 +149,11 @@ rens () { + ren -- "$(lastfile .)" + } + ++rensn () { ++ cd scratch/ ++ ren -- "$(nonrenamed | tail -1 | ls2list)" ++} ++ + settitle () { + unset PROMPT_COMMAND + /opt/chj/bin/settitle "$@" diff --git a/split-patch/test/chj-home-expected/--regenerate/0065-.bashrc-add-rensn/_list b/split-patch/test/chj-home-expected/--regenerate/0065-.bashrc-add-rensn/_list new file mode 100644 index 0000000..483ddcb --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0065-.bashrc-add-rensn/_list @@ -0,0 +1 @@ +--regenerate/0065-.bashrc-add-rensn/0065-.bashrc-add-rensn-.bashrc.patch diff --git a/split-patch/test/chj-home-expected/--regenerate/0066-.bashrc-add-rensnall/0066-.bashrc-add-rensnall-.bashrc.patch b/split-patch/test/chj-home-expected/--regenerate/0066-.bashrc-add-rensnall/0066-.bashrc-add-rensnall-.bashrc.patch new file mode 100644 index 0000000..9f80599 --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0066-.bashrc-add-rensnall/0066-.bashrc-add-rensnall-.bashrc.patch @@ -0,0 +1,25 @@ +From 2787d545c8b266d888d5a1ae1e5dd850463d1c70 Mon Sep 17 00:00:00 2001 +From: "Christian Jaeger (Rustaceans)" +Date: Mon, 22 Jul 2019 04:21:05 +0100 +Subject: .bashrc: [PATCH 066/191] .bashrc: add `rensnall` + +--- + .bashrc | 5 +++++ + 1 file changed, 5 insertions(+) + +diff --git a/.bashrc b/.bashrc +index 1e03400..4ac0453 100644 +--- a/.bashrc ++++ b/.bashrc +@@ -154,6 +154,11 @@ rensn () { + ren -- "$(nonrenamed | tail -1 | ls2list)" + } + ++rensnall () { ++ cd scratch/ ++ nonrenamed | ls2list | tac |» ren ++} ++ + settitle () { + unset PROMPT_COMMAND + /opt/chj/bin/settitle "$@" diff --git a/split-patch/test/chj-home-expected/--regenerate/0066-.bashrc-add-rensnall/_list b/split-patch/test/chj-home-expected/--regenerate/0066-.bashrc-add-rensnall/_list new file mode 100644 index 0000000..75c6ca7 --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0066-.bashrc-add-rensnall/_list @@ -0,0 +1 @@ +--regenerate/0066-.bashrc-add-rensnall/0066-.bashrc-add-rensnall-.bashrc.patch diff --git a/split-patch/test/chj-home-expected/--regenerate/0067-.bashrc-consistently-format-function-definitions/0067-.bashrc-consistently-format-function-definitions-.bashrc.patch b/split-patch/test/chj-home-expected/--regenerate/0067-.bashrc-consistently-format-function-definitions/0067-.bashrc-consistently-format-function-definitions-.bashrc.patch new file mode 100644 index 0000000..3ffd4f2 --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0067-.bashrc-consistently-format-function-definitions/0067-.bashrc-consistently-format-function-definitions-.bashrc.patch @@ -0,0 +1,114 @@ +From 1504b6ee31a9dbe427bdac5d7b41d1e18acbda7e Mon Sep 17 00:00:00 2001 +From: "Christian Jaeger (Rustaceans)" +Date: Mon, 22 Jul 2019 04:22:38 +0100 +Subject: .bashrc: [PATCH 067/191] .bashrc: consistently format function definitions + +--- + .bashrc | 44 ++++++++++++++++++++++---------------------- + 1 file changed, 22 insertions(+), 22 deletions(-) + +diff --git a/.bashrc b/.bashrc +index 4ac0453..187fcfb 100644 +--- a/.bashrc ++++ b/.bashrc +@@ -47,7 +47,7 @@ esac + # enable color support of ls and also add handy aliases + if [ "$TERM" != "dumb" ]; then + eval "$(dircolors -b)" +- ls() { command ls --color=auto "$@"; } ++ ls () { command ls --color=auto "$@"; } + #alias dir='ls --color=auto --format=vertical' + #alias vdir='ls --color=auto --format=long' + fi +@@ -59,14 +59,14 @@ fi + # . /etc/bash_completion + #fi + +-u() { cd ..; } +-uu() { cd ../..; } +-uuu() { cd ../../..; } +-uuuu() { cd ../../../..; } +-uuuuu() { cd ../../../../..; } +-les() { less "$@"; } +-c() { cd "$@"; } +-cdnewdir() { ++u () { cd ..; } ++uu () { cd ../..; } ++uuu () { cd ../../..; } ++uuuu () { cd ../../../..; } ++uuuuu () { cd ../../../../..; } ++les () { less "$@"; } ++c () { cd "$@"; } ++cdnewdir () { + if [ "$#" -eq 1 ]; then + mkdir "$1" && cd "$1" + else +@@ -74,7 +74,7 @@ cdnewdir() { + false + fi + }; +-mvcdnewdir() { ++mvcdnewdir () { + if [ "$#" -gt 1 ]; then + mvnewdir "$@" && cd "${!#}" + else +@@ -82,7 +82,7 @@ mvcdnewdir() { + false + fi + }; +-mvcd() { ++mvcd () { + if [ "$#" -gt 1 ]; then + if [ -d "${!#}" ]; then + mv "$@" && cd "${!#}" +@@ -105,22 +105,22 @@ mvcd() { + false + fi + } +-cd_newest_sisterfolder() { ++cd_newest_sisterfolder () { + cd "$(find .. -maxdepth 1 -type d -print0 |grep -zZ -v '^\.*$'|xargs -0 -s 129023 -n 129023 --exit --no-run-if-empty ls -dt|head -1)$" + } +-cd_newest() { ++cd_newest () { + cd "$(find . -maxdepth 1 -type d -print0|grep -zZ -v '^\.*$'|xargs -0 -s 129023 -n 129023 --exit --no-run-if-empty ls -dt|head -1)" + } +-cdt() { ++cdt () { + if checkcreate-tmp-owner-dir; then + cd "/tmp/$USER" + fi + } +-cdpwd() { ++cdpwd () { + cd "$(pwd -P)" + } + +-unlimit() { ++unlimit () { + if [ $# -eq 0 ]; then + ulimit -S -v unlimited + else +@@ -131,16 +131,16 @@ unlimit() { + fi + } + +-cs() { ++cs () { + cd ~/scratch + } + +-find() { my.find "$@"; } +-df() { my.df "$@"; } ++find () { my.find "$@"; } ++df () { my.df "$@"; } + +-mv() { command mv -i "$@"; } +-cp() { command cp -i "$@"; } +-#rm() { command rm -i "$@"; } ++mv () { command mv -i "$@"; } ++cp () { command cp -i "$@"; } ++#rm () { command rm -i "$@"; } + + rens () { + if [ scratch != "$(basename "$(pwd)")" ]; then diff --git a/split-patch/test/chj-home-expected/--regenerate/0067-.bashrc-consistently-format-function-definitions/_list b/split-patch/test/chj-home-expected/--regenerate/0067-.bashrc-consistently-format-function-definitions/_list new file mode 100644 index 0000000..25e388e --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0067-.bashrc-consistently-format-function-definitions/_list @@ -0,0 +1 @@ +--regenerate/0067-.bashrc-consistently-format-function-definitions/0067-.bashrc-consistently-format-function-definitions-.bashrc.patch diff --git a/split-patch/test/chj-home-expected/--regenerate/0068-.bashrc-use-ren-nonrenamed/0068-.bashrc-use-ren-nonrenamed-.bashrc.patch b/split-patch/test/chj-home-expected/--regenerate/0068-.bashrc-use-ren-nonrenamed/0068-.bashrc-use-ren-nonrenamed-.bashrc.patch new file mode 100644 index 0000000..6ea7a70 --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0068-.bashrc-use-ren-nonrenamed/0068-.bashrc-use-ren-nonrenamed-.bashrc.patch @@ -0,0 +1,22 @@ +From bcd74f2db6782c0b0349998e1be10559f84afe7e Mon Sep 17 00:00:00 2001 +From: "Christian Jaeger (Rustaceans)" +Date: Mon, 22 Jul 2019 08:23:06 +0100 +Subject: .bashrc: [PATCH 068/191] .bashrc: use ren-nonrenamed + +--- + .bashrc | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/.bashrc b/.bashrc +index 187fcfb..a67a962 100644 +--- a/.bashrc ++++ b/.bashrc +@@ -156,7 +156,7 @@ rensn () { + + rensnall () { + cd scratch/ +- nonrenamed | ls2list | tac |» ren ++ ren-nonrenamed + } + + settitle () { diff --git a/split-patch/test/chj-home-expected/--regenerate/0068-.bashrc-use-ren-nonrenamed/_list b/split-patch/test/chj-home-expected/--regenerate/0068-.bashrc-use-ren-nonrenamed/_list new file mode 100644 index 0000000..14ab1d4 --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0068-.bashrc-use-ren-nonrenamed/_list @@ -0,0 +1 @@ +--regenerate/0068-.bashrc-use-ren-nonrenamed/0068-.bashrc-use-ren-nonrenamed-.bashrc.patch diff --git a/split-patch/test/chj-home-expected/--regenerate/0069-.bashrc-shorten-that-name/0069-.bashrc-shorten-that-name-.bashrc.patch b/split-patch/test/chj-home-expected/--regenerate/0069-.bashrc-shorten-that-name/0069-.bashrc-shorten-that-name-.bashrc.patch new file mode 100644 index 0000000..aa11d35 --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0069-.bashrc-shorten-that-name/0069-.bashrc-shorten-that-name-.bashrc.patch @@ -0,0 +1,24 @@ +From 678a5e59f0d29e8e5fd079ce2900d64a6e6bfed2 Mon Sep 17 00:00:00 2001 +From: "Christian Jaeger (Rustaceans)" +Date: Mon, 22 Jul 2019 16:56:26 +0100 +Subject: .bashrc: [PATCH 069/191] .bashrc: shorten that name + +Hey, `coma` etc. +--- + .bashrc | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/.bashrc b/.bashrc +index a67a962..bb18c79 100644 +--- a/.bashrc ++++ b/.bashrc +@@ -154,7 +154,8 @@ rensn () { + ren -- "$(nonrenamed | tail -1 | ls2list)" + } + +-rensnall () { ++# rename scratch nonrenamed all ++rensna () { + cd scratch/ + ren-nonrenamed + } diff --git a/split-patch/test/chj-home-expected/--regenerate/0069-.bashrc-shorten-that-name/_list b/split-patch/test/chj-home-expected/--regenerate/0069-.bashrc-shorten-that-name/_list new file mode 100644 index 0000000..738fc1f --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0069-.bashrc-shorten-that-name/_list @@ -0,0 +1 @@ +--regenerate/0069-.bashrc-shorten-that-name/0069-.bashrc-shorten-that-name-.bashrc.patch diff --git a/split-patch/test/chj-home-expected/--regenerate/0070-.bashrc-add-cb/0070-.bashrc-add-cb-.bashrc.patch b/split-patch/test/chj-home-expected/--regenerate/0070-.bashrc-add-cb/0070-.bashrc-add-cb-.bashrc.patch new file mode 100644 index 0000000..fafdccb --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0070-.bashrc-add-cb/0070-.bashrc-add-cb-.bashrc.patch @@ -0,0 +1,24 @@ +From f5805967952c373878d944d1beff5d46d6976f52 Mon Sep 17 00:00:00 2001 +From: "Christian Jaeger (Rustaceans)" +Date: Thu, 25 Jul 2019 12:18:10 +0100 +Subject: .bashrc: [PATCH 070/191] .bashrc: add 'cb' + +--- + .bashrc | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/.bashrc b/.bashrc +index bb18c79..760d4f0 100644 +--- a/.bashrc ++++ b/.bashrc +@@ -135,6 +135,10 @@ cs () { + cd ~/scratch + } + ++cb () { ++ cd ~/bookmarks ++} ++ + find () { my.find "$@"; } + df () { my.df "$@"; } + diff --git a/split-patch/test/chj-home-expected/--regenerate/0070-.bashrc-add-cb/_list b/split-patch/test/chj-home-expected/--regenerate/0070-.bashrc-add-cb/_list new file mode 100644 index 0000000..b7258be --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0070-.bashrc-add-cb/_list @@ -0,0 +1 @@ +--regenerate/0070-.bashrc-add-cb/0070-.bashrc-add-cb-.bashrc.patch diff --git a/split-patch/test/chj-home-expected/--regenerate/0071-Turn-off-new-Git-editor-waiting-warning/0071-Turn-off-new-Git-editor-waiting-warning-.chj-home_init.patch b/split-patch/test/chj-home-expected/--regenerate/0071-Turn-off-new-Git-editor-waiting-warning/0071-Turn-off-new-Git-editor-waiting-warning-.chj-home_init.patch new file mode 100644 index 0000000..5bf9f37 --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0071-Turn-off-new-Git-editor-waiting-warning/0071-Turn-off-new-Git-editor-waiting-warning-.chj-home_init.patch @@ -0,0 +1,23 @@ +From 76908cc15329c38f89a2af25f6c1a08bacc807d7 Mon Sep 17 00:00:00 2001 +From: Christian Jaeger +Date: Wed, 16 Oct 2019 22:22:01 +0000 +Subject: .chj-home/init: [PATCH 071/191] Turn off new Git editor 'waiting' warning + +--- + .chj-home/init | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/.chj-home/init b/.chj-home/init +index 60aaa47..0b8249d 100755 +--- a/.chj-home/init ++++ b/.chj-home/init +@@ -59,6 +59,9 @@ cat < .gitconfig + [core] + excludesfile = ~/.gitignore_global + ++[advice] ++ waitingForEditor = false ++ + #[gpg] + # program = gpg+scrypt + diff --git a/split-patch/test/chj-home-expected/--regenerate/0071-Turn-off-new-Git-editor-waiting-warning/_list b/split-patch/test/chj-home-expected/--regenerate/0071-Turn-off-new-Git-editor-waiting-warning/_list new file mode 100644 index 0000000..d3248aa --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0071-Turn-off-new-Git-editor-waiting-warning/_list @@ -0,0 +1 @@ +--regenerate/0071-Turn-off-new-Git-editor-waiting-warning/0071-Turn-off-new-Git-editor-waiting-warning-.chj-home_init.patch diff --git a/split-patch/test/chj-home-expected/--regenerate/0072-.bashrc-cb-accept-argument/0072-.bashrc-cb-accept-argument-.bashrc.patch b/split-patch/test/chj-home-expected/--regenerate/0072-.bashrc-cb-accept-argument/0072-.bashrc-cb-accept-argument-.bashrc.patch new file mode 100644 index 0000000..e3797e5 --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0072-.bashrc-cb-accept-argument/0072-.bashrc-cb-accept-argument-.bashrc.patch @@ -0,0 +1,22 @@ +From bb7ed9595e09670c9aa9b6c7725a08bdf2408a5e Mon Sep 17 00:00:00 2001 +From: "Christian Jaeger (Rustaceans)" +Date: Fri, 16 Aug 2019 01:20:18 +0100 +Subject: .bashrc: [PATCH 072/191] .bashrc: cb: accept argument + +--- + .bashrc | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/.bashrc b/.bashrc +index 760d4f0..7c8cd3c 100644 +--- a/.bashrc ++++ b/.bashrc +@@ -136,7 +136,7 @@ cs () { + } + + cb () { +- cd ~/bookmarks ++ cd ~/bookmarks/"${1-}" + } + + find () { my.find "$@"; } diff --git a/split-patch/test/chj-home-expected/--regenerate/0072-.bashrc-cb-accept-argument/_list b/split-patch/test/chj-home-expected/--regenerate/0072-.bashrc-cb-accept-argument/_list new file mode 100644 index 0000000..b95ea3c --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0072-.bashrc-cb-accept-argument/_list @@ -0,0 +1 @@ +--regenerate/0072-.bashrc-cb-accept-argument/0072-.bashrc-cb-accept-argument-.bashrc.patch diff --git a/split-patch/test/chj-home-expected/--regenerate/0073-.bashrc-cb-do-it-better/0073-.bashrc-cb-do-it-better-.bashrc.patch b/split-patch/test/chj-home-expected/--regenerate/0073-.bashrc-cb-do-it-better/0073-.bashrc-cb-do-it-better-.bashrc.patch new file mode 100644 index 0000000..660bc74 --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0073-.bashrc-cb-do-it-better/0073-.bashrc-cb-do-it-better-.bashrc.patch @@ -0,0 +1,29 @@ +From 2690ebb1944db25305b8a1362cc09893f6fe478a Mon Sep 17 00:00:00 2001 +From: "Christian Jaeger (Rustaceans)" +Date: Fri, 16 Aug 2019 01:21:13 +0100 +Subject: .bashrc: [PATCH 073/191] .bashrc: cb: do it better? + +This correctly handles absolute paths (not that this would be +usesful?). Also, still goes to bookmarks folder even if mistyped, +which *might* be useful (already decided to go there, so presumably +always fine). +--- + .bashrc | 5 ++++- + 1 file changed, 4 insertions(+), 1 deletion(-) + +diff --git a/.bashrc b/.bashrc +index 7c8cd3c..b5e18ef 100644 +--- a/.bashrc ++++ b/.bashrc +@@ -136,7 +136,10 @@ cs () { + } + + cb () { +- cd ~/bookmarks/"${1-}" ++ cd ~/bookmarks ++ if [ $# -ge 1 ]; then ++ cd "$1" ++ fi + } + + find () { my.find "$@"; } diff --git a/split-patch/test/chj-home-expected/--regenerate/0073-.bashrc-cb-do-it-better/_list b/split-patch/test/chj-home-expected/--regenerate/0073-.bashrc-cb-do-it-better/_list new file mode 100644 index 0000000..841433b --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0073-.bashrc-cb-do-it-better/_list @@ -0,0 +1 @@ +--regenerate/0073-.bashrc-cb-do-it-better/0073-.bashrc-cb-do-it-better-.bashrc.patch diff --git a/split-patch/test/chj-home-expected/--regenerate/0074-Don-t-use-.lesskey-anymore-for-env-LESS/0074-Don-t-use-.lesskey-anymore-for-env-LESS-.bash_profile.patch b/split-patch/test/chj-home-expected/--regenerate/0074-Don-t-use-.lesskey-anymore-for-env-LESS/0074-Don-t-use-.lesskey-anymore-for-env-LESS-.bash_profile.patch new file mode 100644 index 0000000..1c43ca8 --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0074-Don-t-use-.lesskey-anymore-for-env-LESS/0074-Don-t-use-.lesskey-anymore-for-env-LESS-.bash_profile.patch @@ -0,0 +1,29 @@ +From 4a8fe3bac17d3e9446e0bd702f45b116a1004129 Mon Sep 17 00:00:00 2001 +From: "Christian Jaeger (Rustaceans)" +Date: Thu, 29 Aug 2019 12:48:26 +0100 +Subject: .bash_profile: [PATCH 074/191] Don't use .lesskey anymore for #env LESS + +As less is broken and priorizes .less over the actual LESS env +var. Which means nothing can be passed via dynamic variable anymore. + +Instead set LESS from .bash_profile +--- + .bash_profile | 2 ++ + .chj-home/init | 4 +++- + .lesskey | 2 -- + 3 files changed, 5 insertions(+), 3 deletions(-) + delete mode 100644 .lesskey + +diff --git a/.bash_profile b/.bash_profile +index 00c7849..c304f5b 100644 +--- a/.bash_profile ++++ b/.bash_profile +@@ -31,6 +31,8 @@ fi + # --- General env setup ------- + unset LESSOPEN + unset LESSCLOSE ++export LESS="-i -M -R" ++ + # not running Gnome anymore, for some reason this env var is set, why + # no idea, XX. + unset GNOME_KEYRING_CONTROL diff --git a/split-patch/test/chj-home-expected/--regenerate/0074-Don-t-use-.lesskey-anymore-for-env-LESS/0074-Don-t-use-.lesskey-anymore-for-env-LESS-.chj-home_init.patch b/split-patch/test/chj-home-expected/--regenerate/0074-Don-t-use-.lesskey-anymore-for-env-LESS/0074-Don-t-use-.lesskey-anymore-for-env-LESS-.chj-home_init.patch new file mode 100644 index 0000000..8c30a75 --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0074-Don-t-use-.lesskey-anymore-for-env-LESS/0074-Don-t-use-.lesskey-anymore-for-env-LESS-.chj-home_init.patch @@ -0,0 +1,31 @@ +From 4a8fe3bac17d3e9446e0bd702f45b116a1004129 Mon Sep 17 00:00:00 2001 +From: "Christian Jaeger (Rustaceans)" +Date: Thu, 29 Aug 2019 12:48:26 +0100 +Subject: .chj-home/init: [PATCH 074/191] Don't use .lesskey anymore for #env LESS + +As less is broken and priorizes .less over the actual LESS env +var. Which means nothing can be passed via dynamic variable anymore. + +Instead set LESS from .bash_profile +--- + .bash_profile | 2 ++ + .chj-home/init | 4 +++- + .lesskey | 2 -- + 3 files changed, 5 insertions(+), 3 deletions(-) + delete mode 100644 .lesskey + +diff --git a/.chj-home/init b/.chj-home/init +index 0b8249d..99d7584 100755 +--- a/.chj-home/init ++++ b/.chj-home/init +@@ -80,7 +80,9 @@ ln -s /opt/chj/xemacs/init.el .xemacs/ + + ln -s /opt/chj/emacs/.emacs.d + +-lesskey ++if [ -e ~/.lesskey ]; then ++ lesskey ++fi + + ( + umask 077 diff --git a/split-patch/test/chj-home-expected/--regenerate/0074-Don-t-use-.lesskey-anymore-for-env-LESS/0074-Don-t-use-.lesskey-anymore-for-env-LESS-.lesskey.patch b/split-patch/test/chj-home-expected/--regenerate/0074-Don-t-use-.lesskey-anymore-for-env-LESS/0074-Don-t-use-.lesskey-anymore-for-env-LESS-.lesskey.patch new file mode 100644 index 0000000..fc43572 --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0074-Don-t-use-.lesskey-anymore-for-env-LESS/0074-Don-t-use-.lesskey-anymore-for-env-LESS-.lesskey.patch @@ -0,0 +1,24 @@ +From 4a8fe3bac17d3e9446e0bd702f45b116a1004129 Mon Sep 17 00:00:00 2001 +From: "Christian Jaeger (Rustaceans)" +Date: Thu, 29 Aug 2019 12:48:26 +0100 +Subject: .lesskey: [PATCH 074/191] Don't use .lesskey anymore for #env LESS + +As less is broken and priorizes .less over the actual LESS env +var. Which means nothing can be passed via dynamic variable anymore. + +Instead set LESS from .bash_profile +--- + .bash_profile | 2 ++ + .chj-home/init | 4 +++- + .lesskey | 2 -- + 3 files changed, 5 insertions(+), 3 deletions(-) + delete mode 100644 .lesskey + +diff --git a/.lesskey b/.lesskey +deleted file mode 100644 +index 217fc08..0000000 +--- a/.lesskey ++++ /dev/null +@@ -1,2 +0,0 @@ +-#env +-LESS = -i -M -R diff --git a/split-patch/test/chj-home-expected/--regenerate/0074-Don-t-use-.lesskey-anymore-for-env-LESS/_list b/split-patch/test/chj-home-expected/--regenerate/0074-Don-t-use-.lesskey-anymore-for-env-LESS/_list new file mode 100644 index 0000000..4622644 --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0074-Don-t-use-.lesskey-anymore-for-env-LESS/_list @@ -0,0 +1,3 @@ +--regenerate/0074-Don-t-use-.lesskey-anymore-for-env-LESS/0074-Don-t-use-.lesskey-anymore-for-env-LESS-.bash_profile.patch +--regenerate/0074-Don-t-use-.lesskey-anymore-for-env-LESS/0074-Don-t-use-.lesskey-anymore-for-env-LESS-.chj-home_init.patch +--regenerate/0074-Don-t-use-.lesskey-anymore-for-env-LESS/0074-Don-t-use-.lesskey-anymore-for-env-LESS-.lesskey.patch diff --git a/split-patch/test/chj-home-expected/--regenerate/0075-.bashrc-pick-up-etc-hostname-s-value-in-chroots/0075-.bashrc-pick-up-etc-hostname-s-value-in-chroots-.bashrc.patch b/split-patch/test/chj-home-expected/--regenerate/0075-.bashrc-pick-up-etc-hostname-s-value-in-chroots/0075-.bashrc-pick-up-etc-hostname-s-value-in-chroots-.bashrc.patch new file mode 100644 index 0000000..988323b --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0075-.bashrc-pick-up-etc-hostname-s-value-in-chroots/0075-.bashrc-pick-up-etc-hostname-s-value-in-chroots-.bashrc.patch @@ -0,0 +1,61 @@ +From d6a23eb0d212e62f9827262b08e4e74ffad24ce9 Mon Sep 17 00:00:00 2001 +From: "Christian Jaeger (Rustaceans)" +Date: Thu, 28 May 2020 13:50:03 +0100 +Subject: .bashrc: [PATCH 075/191] .bashrc: pick up /etc/hostname's value in chroots + +Removing debian_chroot hack in the process (that I totally forgot +about). +--- + .bashrc | 28 ++++++++++++++-------------- + 1 file changed, 14 insertions(+), 14 deletions(-) + +diff --git a/.bashrc b/.bashrc +index b5e18ef..391e56f 100644 +--- a/.bashrc ++++ b/.bashrc +@@ -16,31 +16,31 @@ shopt -s checkwinsize + # make less more friendly for non-text input files, see lesspipe(1) + [ -x /usr/bin/lesspipe ] && eval "$(lesspipe)" + +-# set variable identifying the chroot you work in (used in the prompt below) +-if [ -z "$debian_chroot" ] && [ -r /etc/debian_chroot ]; then +- debian_chroot=$(cat /etc/debian_chroot) +-fi ++# $HOSTNAME is apparently magical (apparently reading from the ++# kernel), thus use another env var to keep actual hostname ++# definition, for chroots: ++export CHJHOSTNAME="$(head -1 /etc/hostname)" + + # set a fancy prompt (non-color, unless we know we "want" color) + case "$TERM" in + xterm-color) +- PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ ' ++ PS1='\[\033[01;32m\]\u@$CHJHOSTNAME\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ ' + ;; + *) +- PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ ' ++ PS1='\u@$CHJHOSTNAME:\w\$ ' + ;; + esac + +-# Comment in the above and uncomment this below for a color prompt +-#PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ ' ++# Comment the above and uncomment this below for a color prompt ++#PS1='\[\033[01;32m\]\u@$CHJHOSTNAME\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ ' + +-# If this is an xterm set the title to user@host:dir ++# If this is an xterm set the window title, via PROMPT_COMMAND + case "$TERM" in +-xterm*|rxvt*) +- PROMPT_COMMAND='echo -ne "\033]0;${USER}@${HOSTNAME}: ${PWD/$HOME/~}\007"' +- ;; +-*) +- ;; ++ xterm*|rxvt*) ++ PROMPT_COMMAND='echo -ne "\033]0;${USER}@$CHJHOSTNAME: ${PWD/$HOME/~}\007"' ++ ;; ++ *) ++ ;; + esac + + diff --git a/split-patch/test/chj-home-expected/--regenerate/0075-.bashrc-pick-up-etc-hostname-s-value-in-chroots/_list b/split-patch/test/chj-home-expected/--regenerate/0075-.bashrc-pick-up-etc-hostname-s-value-in-chroots/_list new file mode 100644 index 0000000..0858b9c --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0075-.bashrc-pick-up-etc-hostname-s-value-in-chroots/_list @@ -0,0 +1 @@ +--regenerate/0075-.bashrc-pick-up-etc-hostname-s-value-in-chroots/0075-.bashrc-pick-up-etc-hostname-s-value-in-chroots-.bashrc.patch diff --git a/split-patch/test/chj-home-expected/--regenerate/0076-.bashrc-have-u-etc.-take-optional-argument/0076-.bashrc-have-u-etc.-take-optional-argument-.bashrc.patch b/split-patch/test/chj-home-expected/--regenerate/0076-.bashrc-have-u-etc.-take-optional-argument/0076-.bashrc-have-u-etc.-take-optional-argument-.bashrc.patch new file mode 100644 index 0000000..c2cc521 --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0076-.bashrc-have-u-etc.-take-optional-argument/0076-.bashrc-have-u-etc.-take-optional-argument-.bashrc.patch @@ -0,0 +1,39 @@ +From eef5b2df89adfd1a6f323b3f56d0b6741802d065 Mon Sep 17 00:00:00 2001 +From: Christian Jaeger +Date: Sun, 7 Jun 2020 22:02:13 +0100 +Subject: .bashrc: [PATCH 076/191] .bashrc: have u etc. take optional argument + +--- + .bashrc | 19 ++++++++++++++----- + 1 file changed, 14 insertions(+), 5 deletions(-) + +diff --git a/.bashrc b/.bashrc +index 391e56f..98096a0 100644 +--- a/.bashrc ++++ b/.bashrc +@@ -59,11 +59,20 @@ fi + # . /etc/bash_completion + #fi + +-u () { cd ..; } +-uu () { cd ../..; } +-uuu () { cd ../../..; } +-uuuu () { cd ../../../..; } +-uuuuu () { cd ../../../../..; } ++maybe_cd () { ++ if [ $# = 1 ]; then ++ cd "$1" ++ elif [ $# -gt 1 ]; then ++ echo "too many arguments" ++ false ++ fi ++} ++ ++u () { cd ..; maybe_cd "$@"; } ++uu () { cd ../..; maybe_cd "$@"; } ++uuu () { cd ../../..; maybe_cd "$@"; } ++uuuu () { cd ../../../..; maybe_cd "$@"; } ++uuuuu () { cd ../../../../..; maybe_cd "$@"; } + les () { less "$@"; } + c () { cd "$@"; } + cdnewdir () { diff --git a/split-patch/test/chj-home-expected/--regenerate/0076-.bashrc-have-u-etc.-take-optional-argument/_list b/split-patch/test/chj-home-expected/--regenerate/0076-.bashrc-have-u-etc.-take-optional-argument/_list new file mode 100644 index 0000000..5a4a88e --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0076-.bashrc-have-u-etc.-take-optional-argument/_list @@ -0,0 +1 @@ +--regenerate/0076-.bashrc-have-u-etc.-take-optional-argument/0076-.bashrc-have-u-etc.-take-optional-argument-.bashrc.patch diff --git a/split-patch/test/chj-home-expected/--regenerate/0077-.bashrc-make-u-etc.-transaction-safe-kind-of/0077-.bashrc-make-u-etc.-transaction-safe-kind-of-.bashrc.patch b/split-patch/test/chj-home-expected/--regenerate/0077-.bashrc-make-u-etc.-transaction-safe-kind-of/0077-.bashrc-make-u-etc.-transaction-safe-kind-of-.bashrc.patch new file mode 100644 index 0000000..a0ef8c4 --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0077-.bashrc-make-u-etc.-transaction-safe-kind-of/0077-.bashrc-make-u-etc.-transaction-safe-kind-of-.bashrc.patch @@ -0,0 +1,52 @@ +From 497bc6425624f556c278479259129b55e0c30db3 Mon Sep 17 00:00:00 2001 +From: Christian Jaeger +Date: Sun, 7 Jun 2020 22:07:41 +0100 +Subject: .bashrc: [PATCH 077/191] .bashrc: make u etc. "transaction safe" (kind of) + +--- + .bashrc | 25 +++++++++++++++++++------ + 1 file changed, 19 insertions(+), 6 deletions(-) + +diff --git a/.bashrc b/.bashrc +index 98096a0..2e1f69b 100644 +--- a/.bashrc ++++ b/.bashrc +@@ -59,7 +59,7 @@ fi + # . /etc/bash_completion + #fi + +-maybe_cd () { ++possibly_cd () { + if [ $# = 1 ]; then + cd "$1" + elif [ $# -gt 1 ]; then +@@ -68,11 +68,24 @@ maybe_cd () { + fi + } + +-u () { cd ..; maybe_cd "$@"; } +-uu () { cd ../..; maybe_cd "$@"; } +-uuu () { cd ../../..; maybe_cd "$@"; } +-uuuu () { cd ../../../..; maybe_cd "$@"; } +-uuuuu () { cd ../../../../..; maybe_cd "$@"; } ++_cd_then () { ++ local to="$1"; shift ++ if [ $# = 1 ]; then ++ local old=$(pwd) ++ cd "$to" && cd "$1" || cd "$old" ++ elif [ $# -gt 1 ]; then ++ echo "too many arguments" ++ false ++ else ++ cd "$to" ++ fi ++} ++ ++u () { _cd_then .. "$@"; } ++uu () { _cd_then ../.. "$@"; } ++uuu () { _cd_then ../../.. "$@"; } ++uuuu () { _cd_then ../../../.. "$@"; } ++uuuuu () { _cd_then ../../../../.. "$@"; } + les () { less "$@"; } + c () { cd "$@"; } + cdnewdir () { diff --git a/split-patch/test/chj-home-expected/--regenerate/0077-.bashrc-make-u-etc.-transaction-safe-kind-of/_list b/split-patch/test/chj-home-expected/--regenerate/0077-.bashrc-make-u-etc.-transaction-safe-kind-of/_list new file mode 100644 index 0000000..f79ddfb --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0077-.bashrc-make-u-etc.-transaction-safe-kind-of/_list @@ -0,0 +1 @@ +--regenerate/0077-.bashrc-make-u-etc.-transaction-safe-kind-of/0077-.bashrc-make-u-etc.-transaction-safe-kind-of-.bashrc.patch diff --git a/split-patch/test/chj-home-expected/--regenerate/0078-.bashrc-u-more-transaction-safety-properly-handle-OL/0078-.bashrc-u-more-transaction-safety-properly-handle-OL-.bashrc.patch b/split-patch/test/chj-home-expected/--regenerate/0078-.bashrc-u-more-transaction-safety-properly-handle-OL/0078-.bashrc-u-more-transaction-safety-properly-handle-OL-.bashrc.patch new file mode 100644 index 0000000..a5f43ee --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0078-.bashrc-u-more-transaction-safety-properly-handle-OL/0078-.bashrc-u-more-transaction-safety-properly-handle-OL-.bashrc.patch @@ -0,0 +1,30 @@ +From 362e03085459ccbbaed3e1e4b2c0baa1c7af4d42 Mon Sep 17 00:00:00 2001 +From: Christian Jaeger +Date: Sun, 7 Jun 2020 22:17:39 +0100 +Subject: .bashrc: [PATCH 078/191] .bashrc: u*: more "transaction safety": properly + handle OLDPWD + +Oh my. +--- + .bashrc | 8 +++++++- + 1 file changed, 7 insertions(+), 1 deletion(-) + +diff --git a/.bashrc b/.bashrc +index 2e1f69b..ecd2109 100644 +--- a/.bashrc ++++ b/.bashrc +@@ -72,7 +72,13 @@ _cd_then () { + local to="$1"; shift + if [ $# = 1 ]; then + local old=$(pwd) +- cd "$to" && cd "$1" || cd "$old" ++ local oldOLDPWD=$OLDPWD ++ if cd "$to" && cd "$1"; then ++ OLDPWD=$old ++ else ++ cd "$old" ++ OLDPWD=$oldOLDPWD ++ fi + elif [ $# -gt 1 ]; then + echo "too many arguments" + false diff --git a/split-patch/test/chj-home-expected/--regenerate/0078-.bashrc-u-more-transaction-safety-properly-handle-OL/_list b/split-patch/test/chj-home-expected/--regenerate/0078-.bashrc-u-more-transaction-safety-properly-handle-OL/_list new file mode 100644 index 0000000..b753662 --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0078-.bashrc-u-more-transaction-safety-properly-handle-OL/_list @@ -0,0 +1 @@ +--regenerate/0078-.bashrc-u-more-transaction-safety-properly-handle-OL/0078-.bashrc-u-more-transaction-safety-properly-handle-OL-.bashrc.patch diff --git a/split-patch/test/chj-home-expected/--regenerate/0079-.bashrc-add-rxvt-fontsize-wrapper-for-env-var-change/0079-.bashrc-add-rxvt-fontsize-wrapper-for-env-var-change-.bashrc.patch b/split-patch/test/chj-home-expected/--regenerate/0079-.bashrc-add-rxvt-fontsize-wrapper-for-env-var-change/0079-.bashrc-add-rxvt-fontsize-wrapper-for-env-var-change-.bashrc.patch new file mode 100644 index 0000000..490c255 --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0079-.bashrc-add-rxvt-fontsize-wrapper-for-env-var-change/0079-.bashrc-add-rxvt-fontsize-wrapper-for-env-var-change-.bashrc.patch @@ -0,0 +1,25 @@ +From dcad1cb8a1167661514c0b43f0fff859996805f6 Mon Sep 17 00:00:00 2001 +From: "Christian Jaeger (Rustaceans)" +Date: Fri, 29 May 2020 20:44:22 +0100 +Subject: .bashrc: [PATCH 079/191] .bashrc: add rxvt-fontsize wrapper for env var + changes + +--- + .bashrc | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/.bashrc b/.bashrc +index ecd2109..33f5475 100644 +--- a/.bashrc ++++ b/.bashrc +@@ -218,6 +218,10 @@ lsof () { + # -P = no port names + } + ++rxvt-fontsize () { ++ eval "$(/opt/chj/bin/rxvt-fontsize "$@")" ++} ++ + # Utils which might be later in PATH than system ones: + + ls () { /opt/chj/bin/ls --color=auto "$@"; } # XX is this still useful? diff --git a/split-patch/test/chj-home-expected/--regenerate/0079-.bashrc-add-rxvt-fontsize-wrapper-for-env-var-change/_list b/split-patch/test/chj-home-expected/--regenerate/0079-.bashrc-add-rxvt-fontsize-wrapper-for-env-var-change/_list new file mode 100644 index 0000000..499d17f --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0079-.bashrc-add-rxvt-fontsize-wrapper-for-env-var-change/_list @@ -0,0 +1 @@ +--regenerate/0079-.bashrc-add-rxvt-fontsize-wrapper-for-env-var-change/0079-.bashrc-add-rxvt-fontsize-wrapper-for-env-var-change-.bashrc.patch diff --git a/split-patch/test/chj-home-expected/--regenerate/0080-.bash_profile-double-history-size/0080-.bash_profile-double-history-size-.bash_profile.patch b/split-patch/test/chj-home-expected/--regenerate/0080-.bash_profile-double-history-size/0080-.bash_profile-double-history-size-.bash_profile.patch new file mode 100644 index 0000000..e884719 --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0080-.bash_profile-double-history-size/0080-.bash_profile-double-history-size-.bash_profile.patch @@ -0,0 +1,22 @@ +From 74fa5483e9c947c5f44223290745f4d72aff00ed Mon Sep 17 00:00:00 2001 +From: Christian Jaeger +Date: Sat, 18 Jul 2020 00:43:14 +0100 +Subject: .bash_profile: [PATCH 080/191] .bash_profile: double history size + +--- + .bash_profile | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/.bash_profile b/.bash_profile +index c304f5b..c42e861 100644 +--- a/.bash_profile ++++ b/.bash_profile +@@ -37,7 +37,7 @@ export LESS="-i -M -R" + # no idea, XX. + unset GNOME_KEYRING_CONTROL + export COLUMNS +-export HISTSIZE=1500 ++export HISTSIZE=3000 + + ulimit -S -v 3200000 # note: can override in .bash_profile_local + diff --git a/split-patch/test/chj-home-expected/--regenerate/0080-.bash_profile-double-history-size/_list b/split-patch/test/chj-home-expected/--regenerate/0080-.bash_profile-double-history-size/_list new file mode 100644 index 0000000..75611f4 --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0080-.bash_profile-double-history-size/_list @@ -0,0 +1 @@ +--regenerate/0080-.bash_profile-double-history-size/0080-.bash_profile-double-history-size-.bash_profile.patch diff --git a/split-patch/test/chj-home-expected/--regenerate/0081-.xpdfrc-add-urlCommand-copy-URL-to-clipboard/0081-.xpdfrc-add-urlCommand-copy-URL-to-clipboard-.xpdfrc.patch b/split-patch/test/chj-home-expected/--regenerate/0081-.xpdfrc-add-urlCommand-copy-URL-to-clipboard/0081-.xpdfrc-add-urlCommand-copy-URL-to-clipboard-.xpdfrc.patch new file mode 100644 index 0000000..f3a6ddf --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0081-.xpdfrc-add-urlCommand-copy-URL-to-clipboard/0081-.xpdfrc-add-urlCommand-copy-URL-to-clipboard-.xpdfrc.patch @@ -0,0 +1,16 @@ +From a9b624f4674f51ade5bdea8782c53ae8c7f73601 Mon Sep 17 00:00:00 2001 +From: Christian Jaeger +Date: Mon, 20 Jul 2020 01:59:36 +0100 +Subject: .xpdfrc: [PATCH 081/191] .xpdfrc: add urlCommand (copy URL to clipboard) + +--- + .xpdfrc | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/.xpdfrc b/.xpdfrc +index ab84123..3b83da7 100644 +--- a/.xpdfrc ++++ b/.xpdfrc +@@ -1,1 +1,2 @@ + initialZoom width ++urlCommand "to-clipboard '%s'" diff --git a/split-patch/test/chj-home-expected/--regenerate/0081-.xpdfrc-add-urlCommand-copy-URL-to-clipboard/_list b/split-patch/test/chj-home-expected/--regenerate/0081-.xpdfrc-add-urlCommand-copy-URL-to-clipboard/_list new file mode 100644 index 0000000..b427def --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0081-.xpdfrc-add-urlCommand-copy-URL-to-clipboard/_list @@ -0,0 +1 @@ +--regenerate/0081-.xpdfrc-add-urlCommand-copy-URL-to-clipboard/0081-.xpdfrc-add-urlCommand-copy-URL-to-clipboard-.xpdfrc.patch diff --git a/split-patch/test/chj-home-expected/--regenerate/0082-.bash_profile-add-VERIFY_SIG_ACCEPT_KEYS-with-cj-s-k/0082-.bash_profile-add-VERIFY_SIG_ACCEPT_KEYS-with-cj-s-k-.bash_profile.patch b/split-patch/test/chj-home-expected/--regenerate/0082-.bash_profile-add-VERIFY_SIG_ACCEPT_KEYS-with-cj-s-k/0082-.bash_profile-add-VERIFY_SIG_ACCEPT_KEYS-with-cj-s-k-.bash_profile.patch new file mode 100644 index 0000000..b4f7ad1 --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0082-.bash_profile-add-VERIFY_SIG_ACCEPT_KEYS-with-cj-s-k/0082-.bash_profile-add-VERIFY_SIG_ACCEPT_KEYS-with-cj-s-k-.bash_profile.patch @@ -0,0 +1,31 @@ +From 5c1734bd3f0f7510e71fc5d08995fd44828f0a9b Mon Sep 17 00:00:00 2001 +From: Christian Jaeger +Date: Wed, 29 Jul 2020 23:25:55 +0100 +Subject: .bash_profile: [PATCH 082/191] .bash_profile: add VERIFY_SIG_ACCEPT_KEYS with cj's + key + +--- + .bash_profile | 8 ++++---- + 1 file changed, 4 insertions(+), 4 deletions(-) + +diff --git a/.bash_profile b/.bash_profile +index c42e861..e072030 100644 +--- a/.bash_profile ++++ b/.bash_profile +@@ -45,12 +45,12 @@ if [ -n "${DISPLAY-}" ]; then + xset -b + fi + +- +-# --- Personal env setup: ------- +-# see ~/.bash_profile_local ++# cj's key (since you're trusting his repo already, why not also trust ++# his key?) ++export VERIFY_SIG_ACCEPT_KEYS=A54A1D7CA1F94C866AC81A1F0FA5B21104EDB072 + + +-# --- End ------------------------------------- ++# --- Personal env setup: ------- + if [ -f ~/.bash_profile_local ]; then + source ~/.bash_profile_local + else diff --git a/split-patch/test/chj-home-expected/--regenerate/0082-.bash_profile-add-VERIFY_SIG_ACCEPT_KEYS-with-cj-s-k/_list b/split-patch/test/chj-home-expected/--regenerate/0082-.bash_profile-add-VERIFY_SIG_ACCEPT_KEYS-with-cj-s-k/_list new file mode 100644 index 0000000..bcd10bf --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0082-.bash_profile-add-VERIFY_SIG_ACCEPT_KEYS-with-cj-s-k/_list @@ -0,0 +1 @@ +--regenerate/0082-.bash_profile-add-VERIFY_SIG_ACCEPT_KEYS-with-cj-s-k/0082-.bash_profile-add-VERIFY_SIG_ACCEPT_KEYS-with-cj-s-k-.bash_profile.patch diff --git a/split-patch/test/chj-home-expected/--regenerate/0083-Yet-increase-bash-history-size-more/0083-Yet-increase-bash-history-size-more-.bash_profile.patch b/split-patch/test/chj-home-expected/--regenerate/0083-Yet-increase-bash-history-size-more/0083-Yet-increase-bash-history-size-more-.bash_profile.patch new file mode 100644 index 0000000..c7eee6e --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0083-Yet-increase-bash-history-size-more/0083-Yet-increase-bash-history-size-more-.bash_profile.patch @@ -0,0 +1,25 @@ +From c92216ba2ba32d40d5d06b148553c2f31606047a Mon Sep 17 00:00:00 2001 +From: Christian Jaeger +Date: Wed, 26 Aug 2020 23:07:37 +0100 +Subject: .bash_profile: [PATCH 083/191] Yet increase bash history size more + +And move variable setting to 'right' place. +--- + .bash_profile | 3 ++- + .bashrc | 3 --- + 2 files changed, 2 insertions(+), 4 deletions(-) + +diff --git a/.bash_profile b/.bash_profile +index e072030..a143e92 100644 +--- a/.bash_profile ++++ b/.bash_profile +@@ -37,7 +37,8 @@ export LESS="-i -M -R" + # no idea, XX. + unset GNOME_KEYRING_CONTROL + export COLUMNS +-export HISTSIZE=3000 ++export HISTCONTROL=ignoredups ++export HISTSIZE=5000 + + ulimit -S -v 3200000 # note: can override in .bash_profile_local + diff --git a/split-patch/test/chj-home-expected/--regenerate/0083-Yet-increase-bash-history-size-more/0083-Yet-increase-bash-history-size-more-.bashrc.patch b/split-patch/test/chj-home-expected/--regenerate/0083-Yet-increase-bash-history-size-more/0083-Yet-increase-bash-history-size-more-.bashrc.patch new file mode 100644 index 0000000..ef47c3c --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0083-Yet-increase-bash-history-size-more/0083-Yet-increase-bash-history-size-more-.bashrc.patch @@ -0,0 +1,25 @@ +From c92216ba2ba32d40d5d06b148553c2f31606047a Mon Sep 17 00:00:00 2001 +From: Christian Jaeger +Date: Wed, 26 Aug 2020 23:07:37 +0100 +Subject: .bashrc: [PATCH 083/191] Yet increase bash history size more + +And move variable setting to 'right' place. +--- + .bash_profile | 3 ++- + .bashrc | 3 --- + 2 files changed, 2 insertions(+), 4 deletions(-) + +diff --git a/.bashrc b/.bashrc +index 33f5475..318d943 100644 +--- a/.bashrc ++++ b/.bashrc +@@ -6,9 +6,6 @@ + # If not running interactively, don't do anything + [ -z "$PS1" ] && return + +-# don't put duplicate lines in the history. See bash(1) for more options +-export HISTCONTROL=ignoredups +- + # check the window size after each command and, if necessary, + # update the values of LINES and COLUMNS. + shopt -s checkwinsize diff --git a/split-patch/test/chj-home-expected/--regenerate/0083-Yet-increase-bash-history-size-more/_list b/split-patch/test/chj-home-expected/--regenerate/0083-Yet-increase-bash-history-size-more/_list new file mode 100644 index 0000000..35808b1 --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0083-Yet-increase-bash-history-size-more/_list @@ -0,0 +1,2 @@ +--regenerate/0083-Yet-increase-bash-history-size-more/0083-Yet-increase-bash-history-size-more-.bash_profile.patch +--regenerate/0083-Yet-increase-bash-history-size-more/0083-Yet-increase-bash-history-size-more-.bashrc.patch diff --git a/split-patch/test/chj-home-expected/--regenerate/0084-Move-CHJHOSTNAME-to-right-place-too/0084-Move-CHJHOSTNAME-to-right-place-too-.bash_profile.patch b/split-patch/test/chj-home-expected/--regenerate/0084-Move-CHJHOSTNAME-to-right-place-too/0084-Move-CHJHOSTNAME-to-right-place-too-.bash_profile.patch new file mode 100644 index 0000000..434167e --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0084-Move-CHJHOSTNAME-to-right-place-too/0084-Move-CHJHOSTNAME-to-right-place-too-.bash_profile.patch @@ -0,0 +1,26 @@ +From ae04978b1accd5c87b343314928988b26eaed489 Mon Sep 17 00:00:00 2001 +From: Christian Jaeger +Date: Wed, 26 Aug 2020 23:10:40 +0100 +Subject: .bash_profile: [PATCH 084/191] Move CHJHOSTNAME to 'right place', too + +--- + .bash_profile | 5 +++++ + .bashrc | 5 ----- + 2 files changed, 5 insertions(+), 5 deletions(-) + +diff --git a/.bash_profile b/.bash_profile +index a143e92..2af2318 100644 +--- a/.bash_profile ++++ b/.bash_profile +@@ -9,6 +9,11 @@ if [ "`readlink -f "$PWD"`" = "`readlink -f "$HOME"`" ]; then + PWD=$HOME + fi + ++# $HOSTNAME is apparently magical (apparently reading from the ++# kernel), thus use another env var to keep actual hostname ++# definition, for chroots: ++export CHJHOSTNAME="$(head -1 /etc/hostname)" ++ + # the default umask is set in /etc/login.defs + # umask 002 + diff --git a/split-patch/test/chj-home-expected/--regenerate/0084-Move-CHJHOSTNAME-to-right-place-too/0084-Move-CHJHOSTNAME-to-right-place-too-.bashrc.patch b/split-patch/test/chj-home-expected/--regenerate/0084-Move-CHJHOSTNAME-to-right-place-too/0084-Move-CHJHOSTNAME-to-right-place-too-.bashrc.patch new file mode 100644 index 0000000..e9e0c47 --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0084-Move-CHJHOSTNAME-to-right-place-too/0084-Move-CHJHOSTNAME-to-right-place-too-.bashrc.patch @@ -0,0 +1,26 @@ +From ae04978b1accd5c87b343314928988b26eaed489 Mon Sep 17 00:00:00 2001 +From: Christian Jaeger +Date: Wed, 26 Aug 2020 23:10:40 +0100 +Subject: .bashrc: [PATCH 084/191] Move CHJHOSTNAME to 'right place', too + +--- + .bash_profile | 5 +++++ + .bashrc | 5 ----- + 2 files changed, 5 insertions(+), 5 deletions(-) + +diff --git a/.bashrc b/.bashrc +index 318d943..1f6b90b 100644 +--- a/.bashrc ++++ b/.bashrc +@@ -13,11 +13,6 @@ shopt -s checkwinsize + # make less more friendly for non-text input files, see lesspipe(1) + [ -x /usr/bin/lesspipe ] && eval "$(lesspipe)" + +-# $HOSTNAME is apparently magical (apparently reading from the +-# kernel), thus use another env var to keep actual hostname +-# definition, for chroots: +-export CHJHOSTNAME="$(head -1 /etc/hostname)" +- + # set a fancy prompt (non-color, unless we know we "want" color) + case "$TERM" in + xterm-color) diff --git a/split-patch/test/chj-home-expected/--regenerate/0084-Move-CHJHOSTNAME-to-right-place-too/_list b/split-patch/test/chj-home-expected/--regenerate/0084-Move-CHJHOSTNAME-to-right-place-too/_list new file mode 100644 index 0000000..39ec70f --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0084-Move-CHJHOSTNAME-to-right-place-too/_list @@ -0,0 +1,2 @@ +--regenerate/0084-Move-CHJHOSTNAME-to-right-place-too/0084-Move-CHJHOSTNAME-to-right-place-too-.bash_profile.patch +--regenerate/0084-Move-CHJHOSTNAME-to-right-place-too/0084-Move-CHJHOSTNAME-to-right-place-too-.bashrc.patch diff --git a/split-patch/test/chj-home-expected/--regenerate/0085-.bashrc-add-cdn-alias-for-cd_newest/0085-.bashrc-add-cdn-alias-for-cd_newest-.bashrc.patch b/split-patch/test/chj-home-expected/--regenerate/0085-.bashrc-add-cdn-alias-for-cd_newest/0085-.bashrc-add-cdn-alias-for-cd_newest-.bashrc.patch new file mode 100644 index 0000000..f485f41 --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0085-.bashrc-add-cdn-alias-for-cd_newest/0085-.bashrc-add-cdn-alias-for-cd_newest-.bashrc.patch @@ -0,0 +1,23 @@ +From ca158955d21197aa8e11406f2ec6b114f36ee4c4 Mon Sep 17 00:00:00 2001 +From: Christian Jaeger +Date: Thu, 10 Dec 2020 04:03:51 +0000 +Subject: .bashrc: [PATCH 085/191] .bashrc: add `cdn` alias for cd_newest + +--- + .bashrc | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/.bashrc b/.bashrc +index 1f6b90b..00267b7 100644 +--- a/.bashrc ++++ b/.bashrc +@@ -131,6 +131,9 @@ cd_newest_sisterfolder () { + cd_newest () { + cd "$(find . -maxdepth 1 -type d -print0|grep -zZ -v '^\.*$'|xargs -0 -s 129023 -n 129023 --exit --no-run-if-empty ls -dt|head -1)" + } ++cdn () { ++ cd_newest ++} + cdt () { + if checkcreate-tmp-owner-dir; then + cd "/tmp/$USER" diff --git a/split-patch/test/chj-home-expected/--regenerate/0085-.bashrc-add-cdn-alias-for-cd_newest/_list b/split-patch/test/chj-home-expected/--regenerate/0085-.bashrc-add-cdn-alias-for-cd_newest/_list new file mode 100644 index 0000000..22bc501 --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0085-.bashrc-add-cdn-alias-for-cd_newest/_list @@ -0,0 +1 @@ +--regenerate/0085-.bashrc-add-cdn-alias-for-cd_newest/0085-.bashrc-add-cdn-alias-for-cd_newest-.bashrc.patch diff --git a/split-patch/test/chj-home-expected/--regenerate/0086-.bashrc-remove-stale-commented-lines/0086-.bashrc-remove-stale-commented-lines-.bashrc.patch b/split-patch/test/chj-home-expected/--regenerate/0086-.bashrc-remove-stale-commented-lines/0086-.bashrc-remove-stale-commented-lines-.bashrc.patch new file mode 100644 index 0000000..591586b --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0086-.bashrc-remove-stale-commented-lines/0086-.bashrc-remove-stale-commented-lines-.bashrc.patch @@ -0,0 +1,30 @@ +From 8f62821384c0577aa0f629d73fae5409a486e05b Mon Sep 17 00:00:00 2001 +From: Christian Jaeger +Date: Thu, 10 Dec 2020 04:04:29 +0000 +Subject: .bashrc: [PATCH 086/191] .bashrc: remove stale commented lines + +Originally from someone else's config. + +This concludes the removal of the use of the `alias` shell builtin. +--- + .bashrc | 4 +--- + 1 file changed, 1 insertion(+), 3 deletions(-) + +diff --git a/.bashrc b/.bashrc +index 00267b7..107f268 100644 +--- a/.bashrc ++++ b/.bashrc +@@ -36,12 +36,10 @@ case "$TERM" in + esac + + +-# enable color support of ls and also add handy aliases ++# enable color support of ls + if [ "$TERM" != "dumb" ]; then + eval "$(dircolors -b)" + ls () { command ls --color=auto "$@"; } +- #alias dir='ls --color=auto --format=vertical' +- #alias vdir='ls --color=auto --format=long' + fi + + # enable programmable completion features (you don't need to enable diff --git a/split-patch/test/chj-home-expected/--regenerate/0086-.bashrc-remove-stale-commented-lines/_list b/split-patch/test/chj-home-expected/--regenerate/0086-.bashrc-remove-stale-commented-lines/_list new file mode 100644 index 0000000..2720589 --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0086-.bashrc-remove-stale-commented-lines/_list @@ -0,0 +1 @@ +--regenerate/0086-.bashrc-remove-stale-commented-lines/0086-.bashrc-remove-stale-commented-lines-.bashrc.patch diff --git a/split-patch/test/chj-home-expected/--regenerate/0087-.bashrc-clean-up-with-regards-to-.bashrc_local/0087-.bashrc-clean-up-with-regards-to-.bashrc_local-.bashrc.patch b/split-patch/test/chj-home-expected/--regenerate/0087-.bashrc-clean-up-with-regards-to-.bashrc_local/0087-.bashrc-clean-up-with-regards-to-.bashrc_local-.bashrc.patch new file mode 100644 index 0000000..6027b4e --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0087-.bashrc-clean-up-with-regards-to-.bashrc_local/0087-.bashrc-clean-up-with-regards-to-.bashrc_local-.bashrc.patch @@ -0,0 +1,56 @@ +From 5d1e3b88b0dd50afe387b90459bd9fef5e2b1c84 Mon Sep 17 00:00:00 2001 +From: Christian Jaeger +Date: Thu, 10 Dec 2020 04:08:34 +0000 +Subject: .bashrc: [PATCH 087/191] .bashrc: clean up with regards to ~/.bashrc_local + +--- + .bashrc | 22 +++++++++++++++------- + 1 file changed, 15 insertions(+), 7 deletions(-) + +diff --git a/.bashrc b/.bashrc +index 107f268..5fe0cf7 100644 +--- a/.bashrc ++++ b/.bashrc +@@ -2,6 +2,10 @@ + # see /usr/share/doc/bash/examples/startup-files (in the package bash-doc) + # for examples + ++# NOTE: you can use ~/.bashrc_local for local changes (i.e. those that ++# shouldn't make it to the Git repo), it is included at the end of ++# this file. ++ + + # If not running interactively, don't do anything + [ -z "$PS1" ] && return +@@ -42,13 +46,6 @@ if [ "$TERM" != "dumb" ]; then + ls () { command ls --color=auto "$@"; } + fi + +-# enable programmable completion features (you don't need to enable +-# this, if it's already enabled in /etc/bash.bashrc and /etc/profile +-# sources /etc/bash.bashrc). +-#if [ -f /etc/bash_completion ]; then +-# . /etc/bash_completion +-#fi +- + possibly_cd () { + if [ $# = 1 ]; then + cd "$1" +@@ -231,6 +228,17 @@ gv () { /opt/chj/bin/gv "$@"; } + + + # --- End ------------------------------------- ++ ++# You may want to copy this to ~/.bashrc_local (and add other local ++# changes): ++ ++# enable programmable completion features (you don't need to enable ++# this, if it's already enabled in /etc/bash.bashrc and /etc/profile ++# sources /etc/bash.bashrc). ++#if [ -f /etc/bash_completion ]; then ++# . /etc/bash_completion ++#fi ++ + if [ -f ~/.bashrc_local ]; then + source ~/.bashrc_local + fi diff --git a/split-patch/test/chj-home-expected/--regenerate/0087-.bashrc-clean-up-with-regards-to-.bashrc_local/_list b/split-patch/test/chj-home-expected/--regenerate/0087-.bashrc-clean-up-with-regards-to-.bashrc_local/_list new file mode 100644 index 0000000..6696b8e --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0087-.bashrc-clean-up-with-regards-to-.bashrc_local/_list @@ -0,0 +1 @@ +--regenerate/0087-.bashrc-clean-up-with-regards-to-.bashrc_local/0087-.bashrc-clean-up-with-regards-to-.bashrc_local-.bashrc.patch diff --git a/split-patch/test/chj-home-expected/--regenerate/0088-.bashrc-enable-color-prompt-on-rxvt-remove-commented/0088-.bashrc-enable-color-prompt-on-rxvt-remove-commented-.bashrc.patch b/split-patch/test/chj-home-expected/--regenerate/0088-.bashrc-enable-color-prompt-on-rxvt-remove-commented/0088-.bashrc-enable-color-prompt-on-rxvt-remove-commented-.bashrc.patch new file mode 100644 index 0000000..6ec25eb --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0088-.bashrc-enable-color-prompt-on-rxvt-remove-commented/0088-.bashrc-enable-color-prompt-on-rxvt-remove-commented-.bashrc.patch @@ -0,0 +1,33 @@ +From 1612f9c858ce7cf74ff8448ccf6e829db3a5d587 Mon Sep 17 00:00:00 2001 +From: Christian Jaeger +Date: Thu, 10 Dec 2020 04:12:45 +0000 +Subject: .bashrc: [PATCH 088/191] .bashrc: enable color prompt on rxvt, remove + commented duplicate + +--- + .bashrc | 5 +---- + 1 file changed, 1 insertion(+), 4 deletions(-) + +diff --git a/.bashrc b/.bashrc +index 5fe0cf7..36b3db8 100644 +--- a/.bashrc ++++ b/.bashrc +@@ -19,7 +19,7 @@ shopt -s checkwinsize + + # set a fancy prompt (non-color, unless we know we "want" color) + case "$TERM" in +-xterm-color) ++xterm-color|xterm) + PS1='\[\033[01;32m\]\u@$CHJHOSTNAME\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ ' + ;; + *) +@@ -27,9 +27,6 @@ xterm-color) + ;; + esac + +-# Comment the above and uncomment this below for a color prompt +-#PS1='\[\033[01;32m\]\u@$CHJHOSTNAME\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ ' +- + # If this is an xterm set the window title, via PROMPT_COMMAND + case "$TERM" in + xterm*|rxvt*) diff --git a/split-patch/test/chj-home-expected/--regenerate/0088-.bashrc-enable-color-prompt-on-rxvt-remove-commented/_list b/split-patch/test/chj-home-expected/--regenerate/0088-.bashrc-enable-color-prompt-on-rxvt-remove-commented/_list new file mode 100644 index 0000000..e842029 --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0088-.bashrc-enable-color-prompt-on-rxvt-remove-commented/_list @@ -0,0 +1 @@ +--regenerate/0088-.bashrc-enable-color-prompt-on-rxvt-remove-commented/0088-.bashrc-enable-color-prompt-on-rxvt-remove-commented-.bashrc.patch diff --git a/split-patch/test/chj-home-expected/--regenerate/0089-.chj-home-dot.xscreensaver-dull-disable-dpms-again/0089-.chj-home-dot.xscreensaver-dull-disable-dpms-again-.chj-home_dot.xscreensaver-dull.patch b/split-patch/test/chj-home-expected/--regenerate/0089-.chj-home-dot.xscreensaver-dull-disable-dpms-again/0089-.chj-home-dot.xscreensaver-dull-disable-dpms-again-.chj-home_dot.xscreensaver-dull.patch new file mode 100644 index 0000000..e72b62e --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0089-.chj-home-dot.xscreensaver-dull-disable-dpms-again/0089-.chj-home-dot.xscreensaver-dull-disable-dpms-again-.chj-home_dot.xscreensaver-dull.patch @@ -0,0 +1,23 @@ +From e82275ce63f4669b6b4f1a1bd85c40ad0b0aec45 Mon Sep 17 00:00:00 2001 +From: Christian Jaeger +Date: Thu, 10 Dec 2020 04:18:37 +0000 +Subject: .chj-home/dot.xscreensaver-dull: [PATCH 089/191] .chj-home/dot.xscreensaver-dull: disable dpms again + +Is this the reason for the TV-related screen messup problem? +--- + .chj-home/dot.xscreensaver-dull | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/.chj-home/dot.xscreensaver-dull b/.chj-home/dot.xscreensaver-dull +index e79c958..6a396ac 100644 +--- a/.chj-home/dot.xscreensaver-dull ++++ b/.chj-home/dot.xscreensaver-dull +@@ -24,7 +24,7 @@ fadeTicks: 20 + captureStderr: True + ignoreUninstalledPrograms:False + font: *-medium-r-*-140-*-m-* +-dpmsEnabled: True ++dpmsEnabled: False + dpmsQuickOff: False + dpmsStandby: 0:15:00 + dpmsSuspend: 0:30:00 diff --git a/split-patch/test/chj-home-expected/--regenerate/0089-.chj-home-dot.xscreensaver-dull-disable-dpms-again/_list b/split-patch/test/chj-home-expected/--regenerate/0089-.chj-home-dot.xscreensaver-dull-disable-dpms-again/_list new file mode 100644 index 0000000..522d4ba --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0089-.chj-home-dot.xscreensaver-dull-disable-dpms-again/_list @@ -0,0 +1 @@ +--regenerate/0089-.chj-home-dot.xscreensaver-dull-disable-dpms-again/0089-.chj-home-dot.xscreensaver-dull-disable-dpms-again-.chj-home_dot.xscreensaver-dull.patch diff --git a/split-patch/test/chj-home-expected/--regenerate/0090-.bashrc-cdn-ah-I-can-overload-it/0090-.bashrc-cdn-ah-I-can-overload-it-.bashrc.patch b/split-patch/test/chj-home-expected/--regenerate/0090-.bashrc-cdn-ah-I-can-overload-it/0090-.bashrc-cdn-ah-I-can-overload-it-.bashrc.patch new file mode 100644 index 0000000..6b08fe7 --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0090-.bashrc-cdn-ah-I-can-overload-it/0090-.bashrc-cdn-ah-I-can-overload-it-.bashrc.patch @@ -0,0 +1,26 @@ +From 81bd4351661779cccf08d29c4dc7e5d837adfa61 Mon Sep 17 00:00:00 2001 +From: Christian Jaeger +Date: Wed, 6 Jan 2021 21:22:17 +0000 +Subject: .bashrc: [PATCH 090/191] .bashrc: cdn: ah, I can overload it + +--- + .bashrc | 6 +++++- + 1 file changed, 5 insertions(+), 1 deletion(-) + +diff --git a/.bashrc b/.bashrc +index 36b3db8..bccbe38 100644 +--- a/.bashrc ++++ b/.bashrc +@@ -124,7 +124,11 @@ cd_newest () { + cd "$(find . -maxdepth 1 -type d -print0|grep -zZ -v '^\.*$'|xargs -0 -s 129023 -n 129023 --exit --no-run-if-empty ls -dt|head -1)" + } + cdn () { +- cd_newest ++ if [ $# -eq 0 ]; then ++ cd_newest ++ else ++ cdnewdir "$@" ++ fi + } + cdt () { + if checkcreate-tmp-owner-dir; then diff --git a/split-patch/test/chj-home-expected/--regenerate/0090-.bashrc-cdn-ah-I-can-overload-it/_list b/split-patch/test/chj-home-expected/--regenerate/0090-.bashrc-cdn-ah-I-can-overload-it/_list new file mode 100644 index 0000000..40fe09a --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0090-.bashrc-cdn-ah-I-can-overload-it/_list @@ -0,0 +1 @@ +--regenerate/0090-.bashrc-cdn-ah-I-can-overload-it/0090-.bashrc-cdn-ah-I-can-overload-it-.bashrc.patch diff --git a/split-patch/test/chj-home-expected/--regenerate/0091-.bashrc-add-cj/0091-.bashrc-add-cj-.bashrc.patch b/split-patch/test/chj-home-expected/--regenerate/0091-.bashrc-add-cj/0091-.bashrc-add-cj-.bashrc.patch new file mode 100644 index 0000000..af2d5db --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0091-.bashrc-add-cj/0091-.bashrc-add-cj-.bashrc.patch @@ -0,0 +1,26 @@ +From 2c27145f1f3792a9f6f218fbb636d0d576847fe9 Mon Sep 17 00:00:00 2001 +From: Christian Jaeger +Date: Thu, 7 Jan 2021 01:40:20 +0000 +Subject: .bashrc: [PATCH 091/191] .bashrc: add `cj` + +--- + .bashrc | 6 ++++++ + 1 file changed, 6 insertions(+) + +diff --git a/.bashrc b/.bashrc +index bccbe38..7be4a36 100644 +--- a/.bashrc ++++ b/.bashrc +@@ -160,6 +160,12 @@ cb () { + cd "$1" + fi + } ++cj () { ++ cd ~/bookmarks/j ++ if [ $# -ge 1 ]; then ++ cd "$1" ++ fi ++} + + find () { my.find "$@"; } + df () { my.df "$@"; } diff --git a/split-patch/test/chj-home-expected/--regenerate/0091-.bashrc-add-cj/_list b/split-patch/test/chj-home-expected/--regenerate/0091-.bashrc-add-cj/_list new file mode 100644 index 0000000..30259b6 --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0091-.bashrc-add-cj/_list @@ -0,0 +1 @@ +--regenerate/0091-.bashrc-add-cj/0091-.bashrc-add-cj-.bashrc.patch diff --git a/split-patch/test/chj-home-expected/--regenerate/0092-.chj-home-init-make-sure-the-chjize-key-is-imported/0092-.chj-home-init-make-sure-the-chjize-key-is-imported-.chj-home_init.patch b/split-patch/test/chj-home-expected/--regenerate/0092-.chj-home-init-make-sure-the-chjize-key-is-imported/0092-.chj-home-init-make-sure-the-chjize-key-is-imported-.chj-home_init.patch new file mode 100644 index 0000000..db5761c --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0092-.chj-home-init-make-sure-the-chjize-key-is-imported/0092-.chj-home-init-make-sure-the-chjize-key-is-imported-.chj-home_init.patch @@ -0,0 +1,23 @@ +From 88f0c290084b62887d84d8d507a0cb7a3f3fc1e0 Mon Sep 17 00:00:00 2001 +From: Christian Jaeger +Date: Wed, 17 Feb 2021 14:25:45 +0000 +Subject: .chj-home/init: [PATCH 092/191] .chj-home/init: make sure the chjize key is imported + +This can't be done on the `/etc/skel` files (or at least not easily). +--- + .chj-home/init | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/.chj-home/init b/.chj-home/init +index 99d7584..41084ac 100755 +--- a/.chj-home/init ++++ b/.chj-home/init +@@ -20,6 +20,8 @@ cancel() { + exit 1 + } + ++gpg --import /opt/chj/chjize/cj-key.asc || true ++ + if read -e -p "Please enter your full name: " fullname; then + if read -e -p "Please enter your (bare) email address: " email; then + echo "$fullname" > .chj-home_fullname diff --git a/split-patch/test/chj-home-expected/--regenerate/0092-.chj-home-init-make-sure-the-chjize-key-is-imported/_list b/split-patch/test/chj-home-expected/--regenerate/0092-.chj-home-init-make-sure-the-chjize-key-is-imported/_list new file mode 100644 index 0000000..4393ddc --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0092-.chj-home-init-make-sure-the-chjize-key-is-imported/_list @@ -0,0 +1 @@ +--regenerate/0092-.chj-home-init-make-sure-the-chjize-key-is-imported/0092-.chj-home-init-make-sure-the-chjize-key-is-imported-.chj-home_init.patch diff --git a/split-patch/test/chj-home-expected/--regenerate/0093-.chj-home-init-move-gpg-import-to-the-end/0093-.chj-home-init-move-gpg-import-to-the-end-.chj-home_init.patch b/split-patch/test/chj-home-expected/--regenerate/0093-.chj-home-init-move-gpg-import-to-the-end/0093-.chj-home-init-move-gpg-import-to-the-end-.chj-home_init.patch new file mode 100644 index 0000000..e7c64e6 --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0093-.chj-home-init-move-gpg-import-to-the-end/0093-.chj-home-init-move-gpg-import-to-the-end-.chj-home_init.patch @@ -0,0 +1,34 @@ +From 6dacb84d68eb908deec70860e8d7c8be31073c38 Mon Sep 17 00:00:00 2001 +From: Christian Jaeger +Date: Wed, 17 Feb 2021 20:45:32 +0000 +Subject: .chj-home/init: [PATCH 093/191] .chj-home/init: move gpg import to the end + +To avoid it cluttering the screen before asking the questions. And +there's no usage of the key in that file yet, add such after this +place when it comes up. +--- + .chj-home/init | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/.chj-home/init b/.chj-home/init +index 41084ac..3a41328 100755 +--- a/.chj-home/init ++++ b/.chj-home/init +@@ -20,8 +20,6 @@ cancel() { + exit 1 + } + +-gpg --import /opt/chj/chjize/cj-key.asc || true +- + if read -e -p "Please enter your full name: " fullname; then + if read -e -p "Please enter your (bare) email address: " email; then + echo "$fullname" > .chj-home_fullname +@@ -98,6 +96,8 @@ touch .chj-home/init-done + + ln -s /opt/chj/emacs/bin/* bin || true + ++gpg --import /opt/chj/chjize/cj-key.asc || true ++ + set +x + + echo "NOTE: Your answers have been written to .chj-home_fullname, .chj-home_email, and the files .bash_profile_local and .gitconfig have been generated." diff --git a/split-patch/test/chj-home-expected/--regenerate/0093-.chj-home-init-move-gpg-import-to-the-end/_list b/split-patch/test/chj-home-expected/--regenerate/0093-.chj-home-init-move-gpg-import-to-the-end/_list new file mode 100644 index 0000000..4e89317 --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0093-.chj-home-init-move-gpg-import-to-the-end/_list @@ -0,0 +1 @@ +--regenerate/0093-.chj-home-init-move-gpg-import-to-the-end/0093-.chj-home-init-move-gpg-import-to-the-end-.chj-home_init.patch diff --git a/split-patch/test/chj-home-expected/--regenerate/0094-.chj-home-init-initialize-a-Git-repo-in-scratch/0094-.chj-home-init-initialize-a-Git-repo-in-scratch-.chj-home_init.patch b/split-patch/test/chj-home-expected/--regenerate/0094-.chj-home-init-initialize-a-Git-repo-in-scratch/0094-.chj-home-init-initialize-a-Git-repo-in-scratch-.chj-home_init.patch new file mode 100644 index 0000000..46ad588 --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0094-.chj-home-init-initialize-a-Git-repo-in-scratch/0094-.chj-home-init-initialize-a-Git-repo-in-scratch-.chj-home_init.patch @@ -0,0 +1,25 @@ +From 0514027a09064f1f3cad02ebe55ceb1cb5ab68f8 Mon Sep 17 00:00:00 2001 +From: Christian Jaeger +Date: Sun, 21 Feb 2021 21:43:05 +0000 +Subject: .chj-home/init: [PATCH 094/191] .chj-home/init: initialize a Git repo in scratch/ + +--- + .chj-home/init | 5 +++++ + 1 file changed, 5 insertions(+) + +diff --git a/.chj-home/init b/.chj-home/init +index 3a41328..fa1b0d2 100755 +--- a/.chj-home/init ++++ b/.chj-home/init +@@ -88,6 +88,11 @@ fi + umask 077 + mkdir -p tmp .ssh DROP scratch bin + ) ++( ++ set -eu ++ cd scratch ++ /opt/chj/bin/cj-git-init || true ++) + + chmod a+wxt,g+s DROP + touch .ssh/authorized_keys diff --git a/split-patch/test/chj-home-expected/--regenerate/0094-.chj-home-init-initialize-a-Git-repo-in-scratch/_list b/split-patch/test/chj-home-expected/--regenerate/0094-.chj-home-init-initialize-a-Git-repo-in-scratch/_list new file mode 100644 index 0000000..8d675dd --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0094-.chj-home-init-initialize-a-Git-repo-in-scratch/_list @@ -0,0 +1 @@ +--regenerate/0094-.chj-home-init-initialize-a-Git-repo-in-scratch/0094-.chj-home-init-initialize-a-Git-repo-in-scratch-.chj-home_init.patch diff --git a/split-patch/test/chj-home-expected/--regenerate/0095-.bash_profile-put-chjize-into-PATH/0095-.bash_profile-put-chjize-into-PATH-.bash_profile.patch b/split-patch/test/chj-home-expected/--regenerate/0095-.bash_profile-put-chjize-into-PATH/0095-.bash_profile-put-chjize-into-PATH-.bash_profile.patch new file mode 100644 index 0000000..35cb02e --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0095-.bash_profile-put-chjize-into-PATH/0095-.bash_profile-put-chjize-into-PATH-.bash_profile.patch @@ -0,0 +1,22 @@ +From ba67a53b657dda072742fa46035f4293495e591c Mon Sep 17 00:00:00 2001 +From: Christian Jaeger +Date: Sun, 28 Feb 2021 23:55:44 +0000 +Subject: .bash_profile: [PATCH 095/191] .bash_profile: put chjize into PATH + +--- + .bash_profile | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/.bash_profile b/.bash_profile +index 2af2318..82efcad 100644 +--- a/.bash_profile ++++ b/.bash_profile +@@ -17,7 +17,7 @@ export CHJHOSTNAME="$(head -1 /etc/hostname)" + # the default umask is set in /etc/login.defs + # umask 002 + +-PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/opt/chj/bin:/opt/chj/cj-git-patchtool:/opt/chj/git-sign/bin ++PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/opt/chj/bin:/opt/chj/cj-git-patchtool:/opt/chj/git-sign/bin:/opt/chj/chjize/bin + + # set PATH so it includes user's private bin if it exists + if [ -d ~/bin ] ; then diff --git a/split-patch/test/chj-home-expected/--regenerate/0095-.bash_profile-put-chjize-into-PATH/_list b/split-patch/test/chj-home-expected/--regenerate/0095-.bash_profile-put-chjize-into-PATH/_list new file mode 100644 index 0000000..2c81df5 --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0095-.bash_profile-put-chjize-into-PATH/_list @@ -0,0 +1 @@ +--regenerate/0095-.bash_profile-put-chjize-into-PATH/0095-.bash_profile-put-chjize-into-PATH-.bash_profile.patch diff --git a/split-patch/test/chj-home-expected/--regenerate/0096-.bashrc-cdn-cdnewdir-use-p-mkdir-option/0096-.bashrc-cdn-cdnewdir-use-p-mkdir-option-.bashrc.patch b/split-patch/test/chj-home-expected/--regenerate/0096-.bashrc-cdn-cdnewdir-use-p-mkdir-option/0096-.bashrc-cdn-cdnewdir-use-p-mkdir-option-.bashrc.patch new file mode 100644 index 0000000..d995aea --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0096-.bashrc-cdn-cdnewdir-use-p-mkdir-option/0096-.bashrc-cdn-cdnewdir-use-p-mkdir-option-.bashrc.patch @@ -0,0 +1,22 @@ +From fb4781b9434fc346718154039f89bf7aad7b63c0 Mon Sep 17 00:00:00 2001 +From: Christian Jaeger +Date: Thu, 4 Mar 2021 17:18:09 +0000 +Subject: .bashrc: [PATCH 096/191] .bashrc: cdn / cdnewdir: use -p mkdir option + +--- + .bashrc | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/.bashrc b/.bashrc +index 7be4a36..2a74503 100644 +--- a/.bashrc ++++ b/.bashrc +@@ -80,7 +80,7 @@ les () { less "$@"; } + c () { cd "$@"; } + cdnewdir () { + if [ "$#" -eq 1 ]; then +- mkdir "$1" && cd "$1" ++ mkdir -p "$1" && cd "$1" + else + echo One argument required + false diff --git a/split-patch/test/chj-home-expected/--regenerate/0096-.bashrc-cdn-cdnewdir-use-p-mkdir-option/_list b/split-patch/test/chj-home-expected/--regenerate/0096-.bashrc-cdn-cdnewdir-use-p-mkdir-option/_list new file mode 100644 index 0000000..8a4b7c7 --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0096-.bashrc-cdn-cdnewdir-use-p-mkdir-option/_list @@ -0,0 +1 @@ +--regenerate/0096-.bashrc-cdn-cdnewdir-use-p-mkdir-option/0096-.bashrc-cdn-cdnewdir-use-p-mkdir-option-.bashrc.patch diff --git a/split-patch/test/chj-home-expected/--regenerate/0097-.bash_profile-set-USER-if-missing/0097-.bash_profile-set-USER-if-missing-.bash_profile.patch b/split-patch/test/chj-home-expected/--regenerate/0097-.bash_profile-set-USER-if-missing/0097-.bash_profile-set-USER-if-missing-.bash_profile.patch new file mode 100644 index 0000000..10f3671 --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0097-.bash_profile-set-USER-if-missing/0097-.bash_profile-set-USER-if-missing-.bash_profile.patch @@ -0,0 +1,25 @@ +From e6e68e28df222b946b5ed696a12e7d7098f95ead Mon Sep 17 00:00:00 2001 +From: Christian Jaeger +Date: Thu, 11 Mar 2021 15:58:30 +0000 +Subject: .bash_profile: [PATCH 097/191] .bash_profile: set $USER if missing + +Since it is used at least for setting the window titles, and in the +`cdt` function. +--- + .bash_profile | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/.bash_profile b/.bash_profile +index 82efcad..6f5ff60 100644 +--- a/.bash_profile ++++ b/.bash_profile +@@ -2,6 +2,9 @@ + # see /usr/share/doc/bash/examples/startup-files for examples. + # the files are located in the bash-doc package. + ++# Set $USER if not already set (this is necessary when starting the ++# desktop via crontab (VNC server).) ++export USER=${USER-$(/opt/chj/bin/user "$UID")} + + # use path as given in HOME as PWD [if we're in home] to avoid + # symlinked paths to be shown diff --git a/split-patch/test/chj-home-expected/--regenerate/0097-.bash_profile-set-USER-if-missing/_list b/split-patch/test/chj-home-expected/--regenerate/0097-.bash_profile-set-USER-if-missing/_list new file mode 100644 index 0000000..e1eda5f --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0097-.bash_profile-set-USER-if-missing/_list @@ -0,0 +1 @@ +--regenerate/0097-.bash_profile-set-USER-if-missing/0097-.bash_profile-set-USER-if-missing-.bash_profile.patch diff --git a/split-patch/test/chj-home-expected/--regenerate/0098-.bash_profile-add-cj-qemucontrol-to-PATH/0098-.bash_profile-add-cj-qemucontrol-to-PATH-.bash_profile.patch b/split-patch/test/chj-home-expected/--regenerate/0098-.bash_profile-add-cj-qemucontrol-to-PATH/0098-.bash_profile-add-cj-qemucontrol-to-PATH-.bash_profile.patch new file mode 100644 index 0000000..676ecd6 --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0098-.bash_profile-add-cj-qemucontrol-to-PATH/0098-.bash_profile-add-cj-qemucontrol-to-PATH-.bash_profile.patch @@ -0,0 +1,22 @@ +From 01d1f9c5d0e61bdee6bbd5a3f2db1049fc72e9c7 Mon Sep 17 00:00:00 2001 +From: Christian Jaeger +Date: Thu, 11 Mar 2021 16:15:55 +0000 +Subject: .bash_profile: [PATCH 098/191] .bash_profile: add cj-qemucontrol to PATH + +--- + .bash_profile | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/.bash_profile b/.bash_profile +index 6f5ff60..0c4cc48 100644 +--- a/.bash_profile ++++ b/.bash_profile +@@ -20,7 +20,7 @@ export CHJHOSTNAME="$(head -1 /etc/hostname)" + # the default umask is set in /etc/login.defs + # umask 002 + +-PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/opt/chj/bin:/opt/chj/cj-git-patchtool:/opt/chj/git-sign/bin:/opt/chj/chjize/bin ++PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/opt/chj/bin:/opt/chj/cj-git-patchtool:/opt/chj/git-sign/bin:/opt/chj/cj-qemucontrol/bin:/opt/chj/chjize/bin + + # set PATH so it includes user's private bin if it exists + if [ -d ~/bin ] ; then diff --git a/split-patch/test/chj-home-expected/--regenerate/0098-.bash_profile-add-cj-qemucontrol-to-PATH/_list b/split-patch/test/chj-home-expected/--regenerate/0098-.bash_profile-add-cj-qemucontrol-to-PATH/_list new file mode 100644 index 0000000..154c271 --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0098-.bash_profile-add-cj-qemucontrol-to-PATH/_list @@ -0,0 +1 @@ +--regenerate/0098-.bash_profile-add-cj-qemucontrol-to-PATH/0098-.bash_profile-add-cj-qemucontrol-to-PATH-.bash_profile.patch diff --git a/split-patch/test/chj-home-expected/--regenerate/0099-.chj-home-init-accept-email-addresses-with-full-name/0099-.chj-home-init-accept-email-addresses-with-full-name-.chj-home_init.patch b/split-patch/test/chj-home-expected/--regenerate/0099-.chj-home-init-accept-email-addresses-with-full-name/0099-.chj-home-init-accept-email-addresses-with-full-name-.chj-home_init.patch new file mode 100644 index 0000000..3457be0 --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0099-.chj-home-init-accept-email-addresses-with-full-name/0099-.chj-home-init-accept-email-addresses-with-full-name-.chj-home_init.patch @@ -0,0 +1,49 @@ +From a30b2de3b14944ea15b39aac36467994b4466ecf Mon Sep 17 00:00:00 2001 +From: Christian Jaeger +Date: Fri, 12 Mar 2021 17:08:14 +0000 +Subject: .chj-home/init: [PATCH 099/191] .chj-home/init: accept email addresses with full name + +--- + .chj-home/init | 28 +++++++++++++++++++++++----- + 1 file changed, 23 insertions(+), 5 deletions(-) + +diff --git a/.chj-home/init b/.chj-home/init +index fa1b0d2..dd0c8aa 100755 +--- a/.chj-home/init ++++ b/.chj-home/init +@@ -20,12 +20,30 @@ cancel() { + exit 1 + } + +-if read -e -p "Please enter your full name: " fullname; then +- if read -e -p "Please enter your (bare) email address: " email; then +- echo "$fullname" > .chj-home_fullname +- echo "$email" > .chj-home_email ++set_fn_email() { ++ local fullname ++ local email ++ fullname=$1 ++ email=$2 ++ echo "$fullname" > .chj-home_fullname ++ echo "$email" > .chj-home_email ++} ++ ++if read -e -p "Please enter your email address (either bare or with full name): " email; then ++ if bareemail=$(printf '%s' "$email" | perl -wne 'm{<([^<>]+)>} or exit 1; print $1'); then ++ if fullname=$(printf '%s' "$email" | perl -wne 'm{^(.*?)\s*<[^<>]+>\s*\z} or exit 1; print $1'); then ++ set_fn_email "$fullname" "$bareemail" ++ # and forever ugly imperative code: ++ email=$bareemail ++ else ++ echo "invalid mail address with full name" ++ fi + else +- cancel ++ if read -e -p "Please enter your full name: " fullname; then ++ set_fn_email "$fullname" "$email" ++ else ++ cancel ++ fi + fi + else + cancel diff --git a/split-patch/test/chj-home-expected/--regenerate/0099-.chj-home-init-accept-email-addresses-with-full-name/_list b/split-patch/test/chj-home-expected/--regenerate/0099-.chj-home-init-accept-email-addresses-with-full-name/_list new file mode 100644 index 0000000..1df1731 --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0099-.chj-home-init-accept-email-addresses-with-full-name/_list @@ -0,0 +1 @@ +--regenerate/0099-.chj-home-init-accept-email-addresses-with-full-name/0099-.chj-home-init-accept-email-addresses-with-full-name-.chj-home_init.patch diff --git a/split-patch/test/chj-home-expected/--regenerate/0100-.chj-home-init-set-scoma-settings/0100-.chj-home-init-set-scoma-settings-.chj-home_init.patch b/split-patch/test/chj-home-expected/--regenerate/0100-.chj-home-init-set-scoma-settings/0100-.chj-home-init-set-scoma-settings-.chj-home_init.patch new file mode 100644 index 0000000..206f269 --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0100-.chj-home-init-set-scoma-settings/0100-.chj-home-init-set-scoma-settings-.chj-home_init.patch @@ -0,0 +1,25 @@ +From 19d40a69e2cada844da14614dd8632c4cda5eaff Mon Sep 17 00:00:00 2001 +From: Christian Jaeger +Date: Sun, 14 Mar 2021 22:50:27 +0000 +Subject: .chj-home/init: [PATCH 100/191] .chj-home/init: set `scoma` settings + +--- + .chj-home/init | 5 ++++- + 1 file changed, 4 insertions(+), 1 deletion(-) + +diff --git a/.chj-home/init b/.chj-home/init +index dd0c8aa..8a394b2 100755 +--- a/.chj-home/init ++++ b/.chj-home/init +@@ -109,7 +109,10 @@ fi + ( + set -eu + cd scratch +- /opt/chj/bin/cj-git-init || true ++ if /opt/chj/bin/cj-git-init; then ++ touch .git/scoma-no-user-group ++ touch .git/scoma-no-push ++ fi + ) + + chmod a+wxt,g+s DROP diff --git a/split-patch/test/chj-home-expected/--regenerate/0100-.chj-home-init-set-scoma-settings/_list b/split-patch/test/chj-home-expected/--regenerate/0100-.chj-home-init-set-scoma-settings/_list new file mode 100644 index 0000000..c6d4dd7 --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0100-.chj-home-init-set-scoma-settings/_list @@ -0,0 +1 @@ +--regenerate/0100-.chj-home-init-set-scoma-settings/0100-.chj-home-init-set-scoma-settings-.chj-home_init.patch diff --git a/split-patch/test/chj-home-expected/--regenerate/0101-.chj-home-init-fix-perms-on-checked-out-directories/0101-.chj-home-init-fix-perms-on-checked-out-directories-.chj-home_init.patch b/split-patch/test/chj-home-expected/--regenerate/0101-.chj-home-init-fix-perms-on-checked-out-directories/0101-.chj-home-init-fix-perms-on-checked-out-directories-.chj-home_init.patch new file mode 100644 index 0000000..b156b83 --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0101-.chj-home-init-fix-perms-on-checked-out-directories/0101-.chj-home-init-fix-perms-on-checked-out-directories-.chj-home_init.patch @@ -0,0 +1,23 @@ +From decdeadc8305e681d67103b1dfbbafb6bb24d39c Mon Sep 17 00:00:00 2001 +From: Christian Jaeger +Date: Tue, 16 Mar 2021 20:05:04 +0000 +Subject: .chj-home/init: [PATCH 101/191] .chj-home/init: fix perms on checked-out directories! + +--- + .chj-home/init | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/.chj-home/init b/.chj-home/init +index 8a394b2..5ffd148 100755 +--- a/.chj-home/init ++++ b/.chj-home/init +@@ -14,6 +14,9 @@ if [ -e .chj-home/init-done ]; then + exit 0 + fi + ++# fix perms (make private): ++chmod go-rwx .links2 .vnc ++ + + cancel() { + echo "$0: cancelled due to missing answer." diff --git a/split-patch/test/chj-home-expected/--regenerate/0101-.chj-home-init-fix-perms-on-checked-out-directories/_list b/split-patch/test/chj-home-expected/--regenerate/0101-.chj-home-init-fix-perms-on-checked-out-directories/_list new file mode 100644 index 0000000..ae15274 --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0101-.chj-home-init-fix-perms-on-checked-out-directories/_list @@ -0,0 +1 @@ +--regenerate/0101-.chj-home-init-fix-perms-on-checked-out-directories/0101-.chj-home-init-fix-perms-on-checked-out-directories-.chj-home_init.patch diff --git a/split-patch/test/chj-home-expected/--regenerate/0102-Fix-.chj-home-init-fix-perms-on-checked-out-director/0102-Fix-.chj-home-init-fix-perms-on-checked-out-director-.chj-home_init.patch b/split-patch/test/chj-home-expected/--regenerate/0102-Fix-.chj-home-init-fix-perms-on-checked-out-director/0102-Fix-.chj-home-init-fix-perms-on-checked-out-director-.chj-home_init.patch new file mode 100644 index 0000000..b33bc44 --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0102-Fix-.chj-home-init-fix-perms-on-checked-out-director/0102-Fix-.chj-home-init-fix-perms-on-checked-out-director-.chj-home_init.patch @@ -0,0 +1,28 @@ +From 9fad0758ae3152e61319b7c71d1b4421ee0571db Mon Sep 17 00:00:00 2001 +From: Christian Jaeger +Date: Sat, 20 Mar 2021 23:31:19 +0000 +Subject: .chj-home/init: [PATCH 102/191] Fix ".chj-home/init: fix perms on checked-out + directories!" + +`.vnc` has no files from Git so won't be created, usually. +--- + .chj-home/init | 6 +++++- + 1 file changed, 5 insertions(+), 1 deletion(-) + +diff --git a/.chj-home/init b/.chj-home/init +index 5ffd148..57e00d7 100755 +--- a/.chj-home/init ++++ b/.chj-home/init +@@ -15,7 +15,11 @@ if [ -e .chj-home/init-done ]; then + fi + + # fix perms (make private): +-chmod go-rwx .links2 .vnc ++for d in .links2 .vnc; do ++ if [ -e "$d" ]; then ++ chmod go-rwx "$d" ++ fi ++done + + + cancel() { diff --git a/split-patch/test/chj-home-expected/--regenerate/0102-Fix-.chj-home-init-fix-perms-on-checked-out-director/_list b/split-patch/test/chj-home-expected/--regenerate/0102-Fix-.chj-home-init-fix-perms-on-checked-out-director/_list new file mode 100644 index 0000000..a756ff1 --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0102-Fix-.chj-home-init-fix-perms-on-checked-out-director/_list @@ -0,0 +1 @@ +--regenerate/0102-Fix-.chj-home-init-fix-perms-on-checked-out-director/0102-Fix-.chj-home-init-fix-perms-on-checked-out-director-.chj-home_init.patch diff --git a/split-patch/test/chj-home-expected/--regenerate/0103-.bashrc-show-exit-code-on-failing-commands/0103-.bashrc-show-exit-code-on-failing-commands-.bashrc.patch b/split-patch/test/chj-home-expected/--regenerate/0103-.bashrc-show-exit-code-on-failing-commands/0103-.bashrc-show-exit-code-on-failing-commands-.bashrc.patch new file mode 100644 index 0000000..ba20c30 --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0103-.bashrc-show-exit-code-on-failing-commands/0103-.bashrc-show-exit-code-on-failing-commands-.bashrc.patch @@ -0,0 +1,34 @@ +From ebd6f9a9b7f076972f4ff6c5c2cef7a95a511c1e Mon Sep 17 00:00:00 2001 +From: Christian Jaeger +Date: Tue, 15 Jun 2021 04:11:44 +0100 +Subject: .bashrc: [PATCH 103/191] .bashrc: show exit code on failing commands + +--- + .bashrc | 11 ++++++++++- + 1 file changed, 10 insertions(+), 1 deletion(-) + +diff --git a/.bashrc b/.bashrc +index 2a74503..dd08c18 100644 +--- a/.bashrc ++++ b/.bashrc +@@ -17,10 +17,19 @@ shopt -s checkwinsize + # make less more friendly for non-text input files, see lesspipe(1) + [ -x /usr/bin/lesspipe ] && eval "$(lesspipe)" + ++__ps1_show_exitcode () { ++ local v=$? ++ if [ "$v" -ne 0 ]; then ++ echo -ne "$v "'\033[01;41m'; ++ else ++ echo -ne '\033[01;32m'; ++ fi ++} ++ + # set a fancy prompt (non-color, unless we know we "want" color) + case "$TERM" in + xterm-color|xterm) +- PS1='\[\033[01;32m\]\u@$CHJHOSTNAME\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ ' ++ PS1='$(__ps1_show_exitcode)\u@$CHJHOSTNAME\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ ' + ;; + *) + PS1='\u@$CHJHOSTNAME:\w\$ ' diff --git a/split-patch/test/chj-home-expected/--regenerate/0103-.bashrc-show-exit-code-on-failing-commands/_list b/split-patch/test/chj-home-expected/--regenerate/0103-.bashrc-show-exit-code-on-failing-commands/_list new file mode 100644 index 0000000..3710f91 --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0103-.bashrc-show-exit-code-on-failing-commands/_list @@ -0,0 +1 @@ +--regenerate/0103-.bashrc-show-exit-code-on-failing-commands/0103-.bashrc-show-exit-code-on-failing-commands-.bashrc.patch diff --git a/split-patch/test/chj-home-expected/--regenerate/0104-.bashrc-show-the-exit-code-in-red-not-the-other-info/0104-.bashrc-show-the-exit-code-in-red-not-the-other-info-.bashrc.patch b/split-patch/test/chj-home-expected/--regenerate/0104-.bashrc-show-the-exit-code-in-red-not-the-other-info/0104-.bashrc-show-the-exit-code-in-red-not-the-other-info-.bashrc.patch new file mode 100644 index 0000000..b48255a --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0104-.bashrc-show-the-exit-code-in-red-not-the-other-info/0104-.bashrc-show-the-exit-code-in-red-not-the-other-info-.bashrc.patch @@ -0,0 +1,23 @@ +From 3ea5922b4fe9d5d8a9f391f3b14531860598bdcb Mon Sep 17 00:00:00 2001 +From: Christian Jaeger +Date: Tue, 15 Jun 2021 04:18:23 +0100 +Subject: .bashrc: [PATCH 104/191] .bashrc: show the exit code in red, not the other + info + +--- + .bashrc | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/.bashrc b/.bashrc +index dd08c18..ff2706c 100644 +--- a/.bashrc ++++ b/.bashrc +@@ -20,7 +20,7 @@ shopt -s checkwinsize + __ps1_show_exitcode () { + local v=$? + if [ "$v" -ne 0 ]; then +- echo -ne "$v "'\033[01;41m'; ++ echo -ne '\033[01;41m'"$v"'\033[00m \033[01;32m'; + else + echo -ne '\033[01;32m'; + fi diff --git a/split-patch/test/chj-home-expected/--regenerate/0104-.bashrc-show-the-exit-code-in-red-not-the-other-info/_list b/split-patch/test/chj-home-expected/--regenerate/0104-.bashrc-show-the-exit-code-in-red-not-the-other-info/_list new file mode 100644 index 0000000..4f5a8f4 --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0104-.bashrc-show-the-exit-code-in-red-not-the-other-info/_list @@ -0,0 +1 @@ +--regenerate/0104-.bashrc-show-the-exit-code-in-red-not-the-other-info/0104-.bashrc-show-the-exit-code-in-red-not-the-other-info-.bashrc.patch diff --git a/split-patch/test/chj-home-expected/--regenerate/0105-.bashrc-show-exit-code-on-a-separate-line/0105-.bashrc-show-exit-code-on-a-separate-line-.bashrc.patch b/split-patch/test/chj-home-expected/--regenerate/0105-.bashrc-show-exit-code-on-a-separate-line/0105-.bashrc-show-exit-code-on-a-separate-line-.bashrc.patch new file mode 100644 index 0000000..b1792af --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0105-.bashrc-show-exit-code-on-a-separate-line/0105-.bashrc-show-exit-code-on-a-separate-line-.bashrc.patch @@ -0,0 +1,22 @@ +From 9c495d33b41919d596f355a5bf98c6d256f186f0 Mon Sep 17 00:00:00 2001 +From: Christian Jaeger +Date: Tue, 15 Jun 2021 04:27:32 +0100 +Subject: .bashrc: [PATCH 105/191] .bashrc: show exit code on a separate line + +--- + .bashrc | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/.bashrc b/.bashrc +index ff2706c..81c3a21 100644 +--- a/.bashrc ++++ b/.bashrc +@@ -20,7 +20,7 @@ shopt -s checkwinsize + __ps1_show_exitcode () { + local v=$? + if [ "$v" -ne 0 ]; then +- echo -ne '\033[01;41m'"$v"'\033[00m \033[01;32m'; ++ echo -ne '\033[01;41m'"$v"'\033[00m\n\033[01;32m'; + else + echo -ne '\033[01;32m'; + fi diff --git a/split-patch/test/chj-home-expected/--regenerate/0105-.bashrc-show-exit-code-on-a-separate-line/_list b/split-patch/test/chj-home-expected/--regenerate/0105-.bashrc-show-exit-code-on-a-separate-line/_list new file mode 100644 index 0000000..cbd2076 --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0105-.bashrc-show-exit-code-on-a-separate-line/_list @@ -0,0 +1 @@ +--regenerate/0105-.bashrc-show-exit-code-on-a-separate-line/0105-.bashrc-show-exit-code-on-a-separate-line-.bashrc.patch diff --git a/split-patch/test/chj-home-expected/--regenerate/0106-Revert-.bashrc-show-exit-code-on-a-separate-line/0106-Revert-.bashrc-show-exit-code-on-a-separate-line-.bashrc.patch b/split-patch/test/chj-home-expected/--regenerate/0106-Revert-.bashrc-show-exit-code-on-a-separate-line/0106-Revert-.bashrc-show-exit-code-on-a-separate-line-.bashrc.patch new file mode 100644 index 0000000..6965393 --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0106-Revert-.bashrc-show-exit-code-on-a-separate-line/0106-Revert-.bashrc-show-exit-code-on-a-separate-line-.bashrc.patch @@ -0,0 +1,23 @@ +From 94ce51be131f6a4979c3d1cdbb75fa9429ecdc70 Mon Sep 17 00:00:00 2001 +From: Christian Jaeger +Date: Tue, 15 Jun 2021 12:45:17 +0100 +Subject: .bashrc: [PATCH 106/191] Revert ".bashrc: show exit code on a separate line" + +Line editing is broken, because of this? +--- + .bashrc | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/.bashrc b/.bashrc +index 81c3a21..ff2706c 100644 +--- a/.bashrc ++++ b/.bashrc +@@ -20,7 +20,7 @@ shopt -s checkwinsize + __ps1_show_exitcode () { + local v=$? + if [ "$v" -ne 0 ]; then +- echo -ne '\033[01;41m'"$v"'\033[00m\n\033[01;32m'; ++ echo -ne '\033[01;41m'"$v"'\033[00m \033[01;32m'; + else + echo -ne '\033[01;32m'; + fi diff --git a/split-patch/test/chj-home-expected/--regenerate/0106-Revert-.bashrc-show-exit-code-on-a-separate-line/_list b/split-patch/test/chj-home-expected/--regenerate/0106-Revert-.bashrc-show-exit-code-on-a-separate-line/_list new file mode 100644 index 0000000..39b789a --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0106-Revert-.bashrc-show-exit-code-on-a-separate-line/_list @@ -0,0 +1 @@ +--regenerate/0106-Revert-.bashrc-show-exit-code-on-a-separate-line/0106-Revert-.bashrc-show-exit-code-on-a-separate-line-.bashrc.patch diff --git a/split-patch/test/chj-home-expected/--regenerate/0107-.bashrc-restructure-prompt-command/0107-.bashrc-restructure-prompt-command-.bashrc.patch b/split-patch/test/chj-home-expected/--regenerate/0107-.bashrc-restructure-prompt-command/0107-.bashrc-restructure-prompt-command-.bashrc.patch new file mode 100644 index 0000000..6704df6 --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0107-.bashrc-restructure-prompt-command/0107-.bashrc-restructure-prompt-command-.bashrc.patch @@ -0,0 +1,49 @@ +From 41deb7dc5bef0df70515401e1c0fecff9adedc6d Mon Sep 17 00:00:00 2001 +From: Christian Jaeger +Date: Tue, 15 Jun 2021 12:49:36 +0100 +Subject: .bashrc: [PATCH 107/191] .bashrc: restructure prompt command + +--- + .bashrc | 22 +++++++++++++--------- + 1 file changed, 13 insertions(+), 9 deletions(-) + +diff --git a/.bashrc b/.bashrc +index ff2706c..b7da0b1 100644 +--- a/.bashrc ++++ b/.bashrc +@@ -26,6 +26,19 @@ __ps1_show_exitcode () { + fi + } + ++__prompt_command () { ++ # If this is an xterm set the window title ++ case "$TERM" in ++ xterm*|rxvt*) ++ echo -ne "\033]0;${USER}@$CHJHOSTNAME: ${PWD/$HOME/~}\007" ++ ;; ++ *) ++ ;; ++ esac ++} ++ ++PROMPT_COMMAND=__prompt_command ++ + # set a fancy prompt (non-color, unless we know we "want" color) + case "$TERM" in + xterm-color|xterm) +@@ -36,15 +49,6 @@ xterm-color|xterm) + ;; + esac + +-# If this is an xterm set the window title, via PROMPT_COMMAND +-case "$TERM" in +- xterm*|rxvt*) +- PROMPT_COMMAND='echo -ne "\033]0;${USER}@$CHJHOSTNAME: ${PWD/$HOME/~}\007"' +- ;; +- *) +- ;; +-esac +- + + # enable color support of ls + if [ "$TERM" != "dumb" ]; then diff --git a/split-patch/test/chj-home-expected/--regenerate/0107-.bashrc-restructure-prompt-command/_list b/split-patch/test/chj-home-expected/--regenerate/0107-.bashrc-restructure-prompt-command/_list new file mode 100644 index 0000000..284b693 --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0107-.bashrc-restructure-prompt-command/_list @@ -0,0 +1 @@ +--regenerate/0107-.bashrc-restructure-prompt-command/0107-.bashrc-restructure-prompt-command-.bashrc.patch diff --git a/split-patch/test/chj-home-expected/--regenerate/0108-.bashrc-set-PS1-differently-on-each-iteration/0108-.bashrc-set-PS1-differently-on-each-iteration-.bashrc.patch b/split-patch/test/chj-home-expected/--regenerate/0108-.bashrc-set-PS1-differently-on-each-iteration/0108-.bashrc-set-PS1-differently-on-each-iteration-.bashrc.patch new file mode 100644 index 0000000..ea2cfcb --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0108-.bashrc-set-PS1-differently-on-each-iteration/0108-.bashrc-set-PS1-differently-on-each-iteration-.bashrc.patch @@ -0,0 +1,63 @@ +From 1100a538cbdcdbf5079d43d63599341aba4ce51a Mon Sep 17 00:00:00 2001 +From: Christian Jaeger +Date: Tue, 15 Jun 2021 12:58:50 +0100 +Subject: .bashrc: [PATCH 108/191] .bashrc: set PS1 differently on each iteration + +--- + .bashrc | 30 ++++++++++++++++-------------- + 1 file changed, 16 insertions(+), 14 deletions(-) + +diff --git a/.bashrc b/.bashrc +index b7da0b1..6315695 100644 +--- a/.bashrc ++++ b/.bashrc +@@ -18,16 +18,28 @@ shopt -s checkwinsize + [ -x /usr/bin/lesspipe ] && eval "$(lesspipe)" + + __ps1_show_exitcode () { +- local v=$? +- if [ "$v" -ne 0 ]; then +- echo -ne '\033[01;41m'"$v"'\033[00m \033[01;32m'; ++ #local exitcode=$? ++ if [ "$exitcode" -ne 0 ]; then ++ echo -ne '\033[01;41m'"$exitcode"'\033[00m \033[01;32m'; + else + echo -ne '\033[01;32m'; + fi + } + + __prompt_command () { +- # If this is an xterm set the window title ++ local exitcode=$? ++ ++ # set a fancy prompt (non-color, unless we know we "want" color) ++ case "$TERM" in ++ xterm-color|xterm) ++ PS1="$(__ps1_show_exitcode)"'\u@$CHJHOSTNAME\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ ' ++ ;; ++ *) ++ PS1='\u@$CHJHOSTNAME:\w\$ ' ++ ;; ++ esac ++ ++ # If this is an X terminal, set the window title + case "$TERM" in + xterm*|rxvt*) + echo -ne "\033]0;${USER}@$CHJHOSTNAME: ${PWD/$HOME/~}\007" +@@ -39,16 +51,6 @@ __prompt_command () { + + PROMPT_COMMAND=__prompt_command + +-# set a fancy prompt (non-color, unless we know we "want" color) +-case "$TERM" in +-xterm-color|xterm) +- PS1='$(__ps1_show_exitcode)\u@$CHJHOSTNAME\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ ' +- ;; +-*) +- PS1='\u@$CHJHOSTNAME:\w\$ ' +- ;; +-esac +- + + # enable color support of ls + if [ "$TERM" != "dumb" ]; then diff --git a/split-patch/test/chj-home-expected/--regenerate/0108-.bashrc-set-PS1-differently-on-each-iteration/_list b/split-patch/test/chj-home-expected/--regenerate/0108-.bashrc-set-PS1-differently-on-each-iteration/_list new file mode 100644 index 0000000..3a030f9 --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0108-.bashrc-set-PS1-differently-on-each-iteration/_list @@ -0,0 +1 @@ +--regenerate/0108-.bashrc-set-PS1-differently-on-each-iteration/0108-.bashrc-set-PS1-differently-on-each-iteration-.bashrc.patch diff --git a/split-patch/test/chj-home-expected/--regenerate/0109-Revert-.bashrc-set-PS1-differently-on-each-iteration/0109-Revert-.bashrc-set-PS1-differently-on-each-iteration-.bashrc.patch b/split-patch/test/chj-home-expected/--regenerate/0109-Revert-.bashrc-set-PS1-differently-on-each-iteration/0109-Revert-.bashrc-set-PS1-differently-on-each-iteration-.bashrc.patch new file mode 100644 index 0000000..db49dc4 --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0109-Revert-.bashrc-set-PS1-differently-on-each-iteration/0109-Revert-.bashrc-set-PS1-differently-on-each-iteration-.bashrc.patch @@ -0,0 +1,65 @@ +From 64e1dec6bda4d3601594356d03ab0832ea3620f5 Mon Sep 17 00:00:00 2001 +From: Christian Jaeger +Date: Tue, 15 Jun 2021 13:23:40 +0100 +Subject: .bashrc: [PATCH 109/191] Revert ".bashrc: set PS1 differently on each + iteration" + +This reverts commit 1100a538cbdcdbf5079d43d63599341aba4ce51a. +--- + .bashrc | 30 ++++++++++++++---------------- + 1 file changed, 14 insertions(+), 16 deletions(-) + +diff --git a/.bashrc b/.bashrc +index 6315695..b7da0b1 100644 +--- a/.bashrc ++++ b/.bashrc +@@ -18,28 +18,16 @@ shopt -s checkwinsize + [ -x /usr/bin/lesspipe ] && eval "$(lesspipe)" + + __ps1_show_exitcode () { +- #local exitcode=$? +- if [ "$exitcode" -ne 0 ]; then +- echo -ne '\033[01;41m'"$exitcode"'\033[00m \033[01;32m'; ++ local v=$? ++ if [ "$v" -ne 0 ]; then ++ echo -ne '\033[01;41m'"$v"'\033[00m \033[01;32m'; + else + echo -ne '\033[01;32m'; + fi + } + + __prompt_command () { +- local exitcode=$? +- +- # set a fancy prompt (non-color, unless we know we "want" color) +- case "$TERM" in +- xterm-color|xterm) +- PS1="$(__ps1_show_exitcode)"'\u@$CHJHOSTNAME\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ ' +- ;; +- *) +- PS1='\u@$CHJHOSTNAME:\w\$ ' +- ;; +- esac +- +- # If this is an X terminal, set the window title ++ # If this is an xterm set the window title + case "$TERM" in + xterm*|rxvt*) + echo -ne "\033]0;${USER}@$CHJHOSTNAME: ${PWD/$HOME/~}\007" +@@ -51,6 +39,16 @@ __prompt_command () { + + PROMPT_COMMAND=__prompt_command + ++# set a fancy prompt (non-color, unless we know we "want" color) ++case "$TERM" in ++xterm-color|xterm) ++ PS1='$(__ps1_show_exitcode)\u@$CHJHOSTNAME\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ ' ++ ;; ++*) ++ PS1='\u@$CHJHOSTNAME:\w\$ ' ++ ;; ++esac ++ + + # enable color support of ls + if [ "$TERM" != "dumb" ]; then diff --git a/split-patch/test/chj-home-expected/--regenerate/0109-Revert-.bashrc-set-PS1-differently-on-each-iteration/_list b/split-patch/test/chj-home-expected/--regenerate/0109-Revert-.bashrc-set-PS1-differently-on-each-iteration/_list new file mode 100644 index 0000000..45ed4b8 --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0109-Revert-.bashrc-set-PS1-differently-on-each-iteration/_list @@ -0,0 +1 @@ +--regenerate/0109-Revert-.bashrc-set-PS1-differently-on-each-iteration/0109-Revert-.bashrc-set-PS1-differently-on-each-iteration-.bashrc.patch diff --git a/split-patch/test/chj-home-expected/--regenerate/0110-Revert-.bashrc-restructure-prompt-command/0110-Revert-.bashrc-restructure-prompt-command-.bashrc.patch b/split-patch/test/chj-home-expected/--regenerate/0110-Revert-.bashrc-restructure-prompt-command/0110-Revert-.bashrc-restructure-prompt-command-.bashrc.patch new file mode 100644 index 0000000..9a8f9ad --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0110-Revert-.bashrc-restructure-prompt-command/0110-Revert-.bashrc-restructure-prompt-command-.bashrc.patch @@ -0,0 +1,50 @@ +From 22c968cdf3cfc64fb950f90ebec934524c9a3e4a Mon Sep 17 00:00:00 2001 +From: Christian Jaeger +Date: Tue, 15 Jun 2021 13:24:03 +0100 +Subject: .bashrc: [PATCH 110/191] Revert ".bashrc: restructure prompt command" + +This reverts commit 41deb7dc5bef0df70515401e1c0fecff9adedc6d. +--- + .bashrc | 22 +++++++++------------- + 1 file changed, 9 insertions(+), 13 deletions(-) + +diff --git a/.bashrc b/.bashrc +index b7da0b1..ff2706c 100644 +--- a/.bashrc ++++ b/.bashrc +@@ -26,19 +26,6 @@ __ps1_show_exitcode () { + fi + } + +-__prompt_command () { +- # If this is an xterm set the window title +- case "$TERM" in +- xterm*|rxvt*) +- echo -ne "\033]0;${USER}@$CHJHOSTNAME: ${PWD/$HOME/~}\007" +- ;; +- *) +- ;; +- esac +-} +- +-PROMPT_COMMAND=__prompt_command +- + # set a fancy prompt (non-color, unless we know we "want" color) + case "$TERM" in + xterm-color|xterm) +@@ -49,6 +36,15 @@ xterm-color|xterm) + ;; + esac + ++# If this is an xterm set the window title, via PROMPT_COMMAND ++case "$TERM" in ++ xterm*|rxvt*) ++ PROMPT_COMMAND='echo -ne "\033]0;${USER}@$CHJHOSTNAME: ${PWD/$HOME/~}\007"' ++ ;; ++ *) ++ ;; ++esac ++ + + # enable color support of ls + if [ "$TERM" != "dumb" ]; then diff --git a/split-patch/test/chj-home-expected/--regenerate/0110-Revert-.bashrc-restructure-prompt-command/_list b/split-patch/test/chj-home-expected/--regenerate/0110-Revert-.bashrc-restructure-prompt-command/_list new file mode 100644 index 0000000..b7ec016 --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0110-Revert-.bashrc-restructure-prompt-command/_list @@ -0,0 +1 @@ +--regenerate/0110-Revert-.bashrc-restructure-prompt-command/0110-Revert-.bashrc-restructure-prompt-command-.bashrc.patch diff --git a/split-patch/test/chj-home-expected/--regenerate/0111-.bashrc-does-not-work/0111-.bashrc-does-not-work-.bashrc.patch b/split-patch/test/chj-home-expected/--regenerate/0111-.bashrc-does-not-work/0111-.bashrc-does-not-work-.bashrc.patch new file mode 100644 index 0000000..79dc65d --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0111-.bashrc-does-not-work/0111-.bashrc-does-not-work-.bashrc.patch @@ -0,0 +1,31 @@ +From 91394c04339e86d92d03b20ee8165f2b85bcd1ab Mon Sep 17 00:00:00 2001 +From: Christian Jaeger +Date: Tue, 15 Jun 2021 13:26:24 +0100 +Subject: .bashrc: [PATCH 111/191] .bashrc: does not work + +Apparently PS1 is not being generated (eval) then interpreted, but in +one go. +--- + .bashrc | 8 ++++---- + 1 file changed, 4 insertions(+), 4 deletions(-) + +diff --git a/.bashrc b/.bashrc +index ff2706c..f28ff8b 100644 +--- a/.bashrc ++++ b/.bashrc +@@ -18,11 +18,11 @@ shopt -s checkwinsize + [ -x /usr/bin/lesspipe ] && eval "$(lesspipe)" + + __ps1_show_exitcode () { +- local v=$? +- if [ "$v" -ne 0 ]; then +- echo -ne '\033[01;41m'"$v"'\033[00m \033[01;32m'; ++ local exitcode=$? ++ if [ "$exitcode" -ne 0 ]; then ++ echo -n '\[\033[01;41m\]'"$exitcode"'\[\033[00m \033[01;32m\]'; + else +- echo -ne '\033[01;32m'; ++ echo -n '\[\033[01;32m\]'; + fi + } + diff --git a/split-patch/test/chj-home-expected/--regenerate/0111-.bashrc-does-not-work/_list b/split-patch/test/chj-home-expected/--regenerate/0111-.bashrc-does-not-work/_list new file mode 100644 index 0000000..cb7fd4d --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0111-.bashrc-does-not-work/_list @@ -0,0 +1 @@ +--regenerate/0111-.bashrc-does-not-work/0111-.bashrc-does-not-work-.bashrc.patch diff --git a/split-patch/test/chj-home-expected/--regenerate/0112-.bashrc-finally-working/0112-.bashrc-finally-working-.bashrc.patch b/split-patch/test/chj-home-expected/--regenerate/0112-.bashrc-finally-working/0112-.bashrc-finally-working-.bashrc.patch new file mode 100644 index 0000000..2bd39d1 --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0112-.bashrc-finally-working/0112-.bashrc-finally-working-.bashrc.patch @@ -0,0 +1,29 @@ +From cb9e5d8c0b5c746a096cfbc81fe97c44153040b4 Mon Sep 17 00:00:00 2001 +From: Christian Jaeger +Date: Tue, 15 Jun 2021 13:29:11 +0100 +Subject: .bashrc: [PATCH 112/191] .bashrc: finally working + +--- + .bashrc | 8 ++++++-- + 1 file changed, 6 insertions(+), 2 deletions(-) + +diff --git a/.bashrc b/.bashrc +index f28ff8b..b98d40f 100644 +--- a/.bashrc ++++ b/.bashrc +@@ -20,9 +20,13 @@ shopt -s checkwinsize + __ps1_show_exitcode () { + local exitcode=$? + if [ "$exitcode" -ne 0 ]; then +- echo -n '\[\033[01;41m\]'"$exitcode"'\[\033[00m \033[01;32m\]'; ++ echo -ne '\001\033[01;41m\002' ++ echo -n "$exitcode" ++ echo -ne '\001\033[00m\002' ++ echo -n ' ' ++ echo -ne '\001\033[01;32m\002' + else +- echo -n '\[\033[01;32m\]'; ++ echo -ne '\001\033[01;32m\002' + fi + } + diff --git a/split-patch/test/chj-home-expected/--regenerate/0112-.bashrc-finally-working/_list b/split-patch/test/chj-home-expected/--regenerate/0112-.bashrc-finally-working/_list new file mode 100644 index 0000000..9f88b50 --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0112-.bashrc-finally-working/_list @@ -0,0 +1 @@ +--regenerate/0112-.bashrc-finally-working/0112-.bashrc-finally-working-.bashrc.patch diff --git a/split-patch/test/chj-home-expected/--regenerate/0113-.bashrc-show-exit-code-on-a-separate-line-now-fixed/0113-.bashrc-show-exit-code-on-a-separate-line-now-fixed-.bashrc.patch b/split-patch/test/chj-home-expected/--regenerate/0113-.bashrc-show-exit-code-on-a-separate-line-now-fixed/0113-.bashrc-show-exit-code-on-a-separate-line-now-fixed-.bashrc.patch new file mode 100644 index 0000000..9ecd26e --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0113-.bashrc-show-exit-code-on-a-separate-line-now-fixed/0113-.bashrc-show-exit-code-on-a-separate-line-now-fixed-.bashrc.patch @@ -0,0 +1,23 @@ +From 7b75a9e504fc49d716f3dc61ceb6895776a56b2c Mon Sep 17 00:00:00 2001 +From: Christian Jaeger +Date: Tue, 15 Jun 2021 13:30:15 +0100 +Subject: .bashrc: [PATCH 113/191] .bashrc: show exit code on a separate line (now + fixed) + +--- + .bashrc | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/.bashrc b/.bashrc +index b98d40f..44cd67d 100644 +--- a/.bashrc ++++ b/.bashrc +@@ -23,7 +23,7 @@ __ps1_show_exitcode () { + echo -ne '\001\033[01;41m\002' + echo -n "$exitcode" + echo -ne '\001\033[00m\002' +- echo -n ' ' ++ echo -ne '\n' + echo -ne '\001\033[01;32m\002' + else + echo -ne '\001\033[01;32m\002' diff --git a/split-patch/test/chj-home-expected/--regenerate/0113-.bashrc-show-exit-code-on-a-separate-line-now-fixed/_list b/split-patch/test/chj-home-expected/--regenerate/0113-.bashrc-show-exit-code-on-a-separate-line-now-fixed/_list new file mode 100644 index 0000000..f8c68f0 --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0113-.bashrc-show-exit-code-on-a-separate-line-now-fixed/_list @@ -0,0 +1 @@ +--regenerate/0113-.bashrc-show-exit-code-on-a-separate-line-now-fixed/0113-.bashrc-show-exit-code-on-a-separate-line-now-fixed-.bashrc.patch diff --git a/split-patch/test/chj-home-expected/--regenerate/0114-Revert-.bashrc-show-exit-code-on-a-separate-line-now/0114-Revert-.bashrc-show-exit-code-on-a-separate-line-now-.bashrc.patch b/split-patch/test/chj-home-expected/--regenerate/0114-Revert-.bashrc-show-exit-code-on-a-separate-line-now/0114-Revert-.bashrc-show-exit-code-on-a-separate-line-now-.bashrc.patch new file mode 100644 index 0000000..19a88de --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0114-Revert-.bashrc-show-exit-code-on-a-separate-line-now/0114-Revert-.bashrc-show-exit-code-on-a-separate-line-now-.bashrc.patch @@ -0,0 +1,24 @@ +From 43e86f54d1dd1454c98290c3639a83be9145839f Mon Sep 17 00:00:00 2001 +From: Christian Jaeger +Date: Tue, 15 Jun 2021 13:31:42 +0100 +Subject: .bashrc: [PATCH 114/191] Revert ".bashrc: show exit code on a separate line + (now fixed)" + +Maybe I don't want this, after all. +--- + .bashrc | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/.bashrc b/.bashrc +index 44cd67d..b98d40f 100644 +--- a/.bashrc ++++ b/.bashrc +@@ -23,7 +23,7 @@ __ps1_show_exitcode () { + echo -ne '\001\033[01;41m\002' + echo -n "$exitcode" + echo -ne '\001\033[00m\002' +- echo -ne '\n' ++ echo -n ' ' + echo -ne '\001\033[01;32m\002' + else + echo -ne '\001\033[01;32m\002' diff --git a/split-patch/test/chj-home-expected/--regenerate/0114-Revert-.bashrc-show-exit-code-on-a-separate-line-now/_list b/split-patch/test/chj-home-expected/--regenerate/0114-Revert-.bashrc-show-exit-code-on-a-separate-line-now/_list new file mode 100644 index 0000000..80eb0fe --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0114-Revert-.bashrc-show-exit-code-on-a-separate-line-now/_list @@ -0,0 +1 @@ +--regenerate/0114-Revert-.bashrc-show-exit-code-on-a-separate-line-now/0114-Revert-.bashrc-show-exit-code-on-a-separate-line-now-.bashrc.patch diff --git a/split-patch/test/chj-home-expected/--regenerate/0115-.bashrc-document-the-fix/0115-.bashrc-document-the-fix-.bashrc.patch b/split-patch/test/chj-home-expected/--regenerate/0115-.bashrc-document-the-fix/0115-.bashrc-document-the-fix-.bashrc.patch new file mode 100644 index 0000000..6f8cf3f --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0115-.bashrc-document-the-fix/0115-.bashrc-document-the-fix-.bashrc.patch @@ -0,0 +1,23 @@ +From 04d8049d277c9e70e20d4d53f8b2e3b2fdf2c041 Mon Sep 17 00:00:00 2001 +From: Christian Jaeger +Date: Tue, 15 Jun 2021 13:37:42 +0100 +Subject: .bashrc: [PATCH 115/191] .bashrc: document the fix + +--- + .bashrc | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/.bashrc b/.bashrc +index b98d40f..1761393 100644 +--- a/.bashrc ++++ b/.bashrc +@@ -19,6 +19,9 @@ shopt -s checkwinsize + + __ps1_show_exitcode () { + local exitcode=$? ++ # Have to make shell aware of non-printing character sequences, ++ # and for this have to use \001 \002 over \[ \] . ++ # (Also see https://mywiki.wooledge.org/BashFAQ/053 .) + if [ "$exitcode" -ne 0 ]; then + echo -ne '\001\033[01;41m\002' + echo -n "$exitcode" diff --git a/split-patch/test/chj-home-expected/--regenerate/0115-.bashrc-document-the-fix/_list b/split-patch/test/chj-home-expected/--regenerate/0115-.bashrc-document-the-fix/_list new file mode 100644 index 0000000..68331ee --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0115-.bashrc-document-the-fix/_list @@ -0,0 +1 @@ +--regenerate/0115-.bashrc-document-the-fix/0115-.bashrc-document-the-fix-.bashrc.patch diff --git a/split-patch/test/chj-home-expected/--regenerate/0116-.bash_profile-finally-remove-ulimit-again/0116-.bash_profile-finally-remove-ulimit-again-.bash_profile.patch b/split-patch/test/chj-home-expected/--regenerate/0116-.bash_profile-finally-remove-ulimit-again/0116-.bash_profile-finally-remove-ulimit-again-.bash_profile.patch new file mode 100644 index 0000000..4500502 --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0116-.bash_profile-finally-remove-ulimit-again/0116-.bash_profile-finally-remove-ulimit-again-.bash_profile.patch @@ -0,0 +1,23 @@ +From 6ecbcb3aeea5c9d9bf721c0ed0f5c75636384eb0 Mon Sep 17 00:00:00 2001 +From: Christian Jaeger +Date: Mon, 21 Jun 2021 13:11:37 +0100 +Subject: .bash_profile: [PATCH 116/191] .bash_profile: finally remove ulimit again + +Install earlyoom instead. +--- + .bash_profile | 2 -- + 1 file changed, 2 deletions(-) + +diff --git a/.bash_profile b/.bash_profile +index 0c4cc48..fb1dbf4 100644 +--- a/.bash_profile ++++ b/.bash_profile +@@ -48,8 +48,6 @@ export COLUMNS + export HISTCONTROL=ignoredups + export HISTSIZE=5000 + +-ulimit -S -v 3200000 # note: can override in .bash_profile_local +- + if [ -n "${DISPLAY-}" ]; then + xset -b + fi diff --git a/split-patch/test/chj-home-expected/--regenerate/0116-.bash_profile-finally-remove-ulimit-again/_list b/split-patch/test/chj-home-expected/--regenerate/0116-.bash_profile-finally-remove-ulimit-again/_list new file mode 100644 index 0000000..1e44c6d --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0116-.bash_profile-finally-remove-ulimit-again/_list @@ -0,0 +1 @@ +--regenerate/0116-.bash_profile-finally-remove-ulimit-again/0116-.bash_profile-finally-remove-ulimit-again-.bash_profile.patch diff --git a/split-patch/test/chj-home-expected/--regenerate/0117-.bashrc-make-error-display-nicer-on-the-visual-syste/0117-.bashrc-make-error-display-nicer-on-the-visual-syste-.bashrc.patch b/split-patch/test/chj-home-expected/--regenerate/0117-.bashrc-make-error-display-nicer-on-the-visual-syste/0117-.bashrc-make-error-display-nicer-on-the-visual-syste-.bashrc.patch new file mode 100644 index 0000000..4dbae4b --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0117-.bashrc-make-error-display-nicer-on-the-visual-syste/0117-.bashrc-make-error-display-nicer-on-the-visual-syste-.bashrc.patch @@ -0,0 +1,32 @@ +From 639b83489c5dcb5e870233b910c1e5d77f62fcdf Mon Sep 17 00:00:00 2001 +From: Christian Jaeger +Date: Tue, 22 Jun 2021 23:16:44 +0100 +Subject: .bashrc: [PATCH 117/191] .bashrc: make error display nicer on the visual + system + +Do not move around. And do not use the dark red, ok? +--- + .bashrc | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/.bashrc b/.bashrc +index 1761393..8dc0194 100644 +--- a/.bashrc ++++ b/.bashrc +@@ -23,13 +23,13 @@ __ps1_show_exitcode () { + # and for this have to use \001 \002 over \[ \] . + # (Also see https://mywiki.wooledge.org/BashFAQ/053 .) + if [ "$exitcode" -ne 0 ]; then +- echo -ne '\001\033[01;41m\002' +- echo -n "$exitcode" ++ echo -ne '\001\033[01;43m\002' ++ printf '%3d' "$exitcode" + echo -ne '\001\033[00m\002' + echo -n ' ' + echo -ne '\001\033[01;32m\002' + else +- echo -ne '\001\033[01;32m\002' ++ echo -ne ' 0 \001\033[01;32m\002' + fi + } + diff --git a/split-patch/test/chj-home-expected/--regenerate/0117-.bashrc-make-error-display-nicer-on-the-visual-syste/_list b/split-patch/test/chj-home-expected/--regenerate/0117-.bashrc-make-error-display-nicer-on-the-visual-syste/_list new file mode 100644 index 0000000..b979cae --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0117-.bashrc-make-error-display-nicer-on-the-visual-syste/_list @@ -0,0 +1 @@ +--regenerate/0117-.bashrc-make-error-display-nicer-on-the-visual-syste/0117-.bashrc-make-error-display-nicer-on-the-visual-syste-.bashrc.patch diff --git a/split-patch/test/chj-home-expected/--regenerate/0118-.bashrc-even-nicer/0118-.bashrc-even-nicer-.bashrc.patch b/split-patch/test/chj-home-expected/--regenerate/0118-.bashrc-even-nicer/0118-.bashrc-even-nicer-.bashrc.patch new file mode 100644 index 0000000..7ef6a56 --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0118-.bashrc-even-nicer/0118-.bashrc-even-nicer-.bashrc.patch @@ -0,0 +1,33 @@ +From 407ebfc61eb3e6429065c4afe7cb36716e29ce55 Mon Sep 17 00:00:00 2001 +From: Christian Jaeger +Date: Tue, 22 Jun 2021 23:21:02 +0100 +Subject: .bashrc: [PATCH 118/191] .bashrc: even nicer + +--- + .bashrc | 8 ++++++-- + 1 file changed, 6 insertions(+), 2 deletions(-) + +diff --git a/.bashrc b/.bashrc +index 8dc0194..5a761cc 100644 +--- a/.bashrc ++++ b/.bashrc +@@ -23,13 +23,17 @@ __ps1_show_exitcode () { + # and for this have to use \001 \002 over \[ \] . + # (Also see https://mywiki.wooledge.org/BashFAQ/053 .) + if [ "$exitcode" -ne 0 ]; then +- echo -ne '\001\033[01;43m\002' ++ echo -ne '\001\033[01;45m\002' + printf '%3d' "$exitcode" + echo -ne '\001\033[00m\002' + echo -n ' ' + echo -ne '\001\033[01;32m\002' + else +- echo -ne ' 0 \001\033[01;32m\002' ++ echo -ne '\001\033[01;42m\002' ++ echo -n ' 0' ++ echo -ne '\001\033[00m\002' ++ echo -n ' ' ++ echo -ne '\001\033[01;32m\002' + fi + } + diff --git a/split-patch/test/chj-home-expected/--regenerate/0118-.bashrc-even-nicer/_list b/split-patch/test/chj-home-expected/--regenerate/0118-.bashrc-even-nicer/_list new file mode 100644 index 0000000..3f7834b --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0118-.bashrc-even-nicer/_list @@ -0,0 +1 @@ +--regenerate/0118-.bashrc-even-nicer/0118-.bashrc-even-nicer-.bashrc.patch diff --git a/split-patch/test/chj-home-expected/--regenerate/0119-.bashrc-go-back-to-red/0119-.bashrc-go-back-to-red-.bashrc.patch b/split-patch/test/chj-home-expected/--regenerate/0119-.bashrc-go-back-to-red/0119-.bashrc-go-back-to-red-.bashrc.patch new file mode 100644 index 0000000..59b07a5 --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0119-.bashrc-go-back-to-red/0119-.bashrc-go-back-to-red-.bashrc.patch @@ -0,0 +1,22 @@ +From edbafb43491e3613da24b6d36981c41dc23d3206 Mon Sep 17 00:00:00 2001 +From: Christian Jaeger +Date: Wed, 23 Jun 2021 23:33:10 +0100 +Subject: .bashrc: [PATCH 119/191] .bashrc: go back to red + +--- + .bashrc | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/.bashrc b/.bashrc +index 5a761cc..53820f9 100644 +--- a/.bashrc ++++ b/.bashrc +@@ -23,7 +23,7 @@ __ps1_show_exitcode () { + # and for this have to use \001 \002 over \[ \] . + # (Also see https://mywiki.wooledge.org/BashFAQ/053 .) + if [ "$exitcode" -ne 0 ]; then +- echo -ne '\001\033[01;45m\002' ++ echo -ne '\001\033[01;41m\002' + printf '%3d' "$exitcode" + echo -ne '\001\033[00m\002' + echo -n ' ' diff --git a/split-patch/test/chj-home-expected/--regenerate/0119-.bashrc-go-back-to-red/_list b/split-patch/test/chj-home-expected/--regenerate/0119-.bashrc-go-back-to-red/_list new file mode 100644 index 0000000..61d95ff --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0119-.bashrc-go-back-to-red/_list @@ -0,0 +1 @@ +--regenerate/0119-.bashrc-go-back-to-red/0119-.bashrc-go-back-to-red-.bashrc.patch diff --git a/split-patch/test/chj-home-expected/--regenerate/0120-Formatting/0120-Formatting-.bashrc.patch b/split-patch/test/chj-home-expected/--regenerate/0120-Formatting/0120-Formatting-.bashrc.patch new file mode 100644 index 0000000..a5fc18f --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0120-Formatting/0120-Formatting-.bashrc.patch @@ -0,0 +1,26 @@ +From 95b917037f6af4f686b7dd08645cc4cffb95b43c Mon Sep 17 00:00:00 2001 +From: Christian Jaeger +Date: Fri, 3 Sep 2021 00:05:13 +0100 +Subject: .bashrc: [PATCH 120/191] Formatting + +--- + .bashrc | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/.bashrc b/.bashrc +index 53820f9..4aeb768 100644 +--- a/.bashrc ++++ b/.bashrc +@@ -138,10 +138,10 @@ mvcd () { + fi + } + cd_newest_sisterfolder () { +- cd "$(find .. -maxdepth 1 -type d -print0 |grep -zZ -v '^\.*$'|xargs -0 -s 129023 -n 129023 --exit --no-run-if-empty ls -dt|head -1)$" ++ cd "$(find .. -maxdepth 1 -type d -print0 | grep -zZ -v '^\.*$' | xargs -0 -s 129023 -n 129023 --exit --no-run-if-empty ls -dt | head -1)$" + } + cd_newest () { +- cd "$(find . -maxdepth 1 -type d -print0|grep -zZ -v '^\.*$'|xargs -0 -s 129023 -n 129023 --exit --no-run-if-empty ls -dt|head -1)" ++ cd "$(find . -maxdepth 1 -type d -print0 | grep -zZ -v '^\.*$' | xargs -0 -s 129023 -n 129023 --exit --no-run-if-empty ls -dt | head -1)" + } + cdn () { + if [ $# -eq 0 ]; then diff --git a/split-patch/test/chj-home-expected/--regenerate/0120-Formatting/_list b/split-patch/test/chj-home-expected/--regenerate/0120-Formatting/_list new file mode 100644 index 0000000..6b24e03 --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0120-Formatting/_list @@ -0,0 +1 @@ +--regenerate/0120-Formatting/0120-Formatting-.bashrc.patch diff --git a/split-patch/test/chj-home-expected/--regenerate/0121-Abstraction/0121-Abstraction-.bashrc.patch b/split-patch/test/chj-home-expected/--regenerate/0121-Abstraction/0121-Abstraction-.bashrc.patch new file mode 100644 index 0000000..d007de9 --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0121-Abstraction/0121-Abstraction-.bashrc.patch @@ -0,0 +1,33 @@ +From 94771b9257f5d4c20bcc676ba6a769de4b13c6ac Mon Sep 17 00:00:00 2001 +From: Christian Jaeger +Date: Fri, 3 Sep 2021 00:06:55 +0100 +Subject: .bashrc: [PATCH 121/191] Abstraction + +--- + .bashrc | 10 ++++++++-- + 1 file changed, 8 insertions(+), 2 deletions(-) + +diff --git a/.bashrc b/.bashrc +index 4aeb768..a1a6f48 100644 +--- a/.bashrc ++++ b/.bashrc +@@ -137,11 +137,17 @@ mvcd () { + false + fi + } ++_ls_newest () { ++ find "$1" -maxdepth 1 -type d -print0 | \ ++ grep -zZ -v '^\.*$' | \ ++ xargs -0 -s 129023 -n 129023 --exit --no-run-if-empty ls -dt | ++ head -1 ++} + cd_newest_sisterfolder () { +- cd "$(find .. -maxdepth 1 -type d -print0 | grep -zZ -v '^\.*$' | xargs -0 -s 129023 -n 129023 --exit --no-run-if-empty ls -dt | head -1)$" ++ cd "$(_ls_newest ..)$" + } + cd_newest () { +- cd "$(find . -maxdepth 1 -type d -print0 | grep -zZ -v '^\.*$' | xargs -0 -s 129023 -n 129023 --exit --no-run-if-empty ls -dt | head -1)" ++ cd "$(_ls_newest .)" + } + cdn () { + if [ $# -eq 0 ]; then diff --git a/split-patch/test/chj-home-expected/--regenerate/0121-Abstraction/_list b/split-patch/test/chj-home-expected/--regenerate/0121-Abstraction/_list new file mode 100644 index 0000000..6898ec7 --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0121-Abstraction/_list @@ -0,0 +1 @@ +--regenerate/0121-Abstraction/0121-Abstraction-.bashrc.patch diff --git a/split-patch/test/chj-home-expected/--regenerate/0122-.bashrc-make-cdn-cd_newest-ignore-.git-folders/0122-.bashrc-make-cdn-cd_newest-ignore-.git-folders-.bashrc.patch b/split-patch/test/chj-home-expected/--regenerate/0122-.bashrc-make-cdn-cd_newest-ignore-.git-folders/0122-.bashrc-make-cdn-cd_newest-ignore-.git-folders-.bashrc.patch new file mode 100644 index 0000000..499403c --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0122-.bashrc-make-cdn-cd_newest-ignore-.git-folders/0122-.bashrc-make-cdn-cd_newest-ignore-.git-folders-.bashrc.patch @@ -0,0 +1,22 @@ +From db2306aa5136704f61bb166314380ba080d8a9ae Mon Sep 17 00:00:00 2001 +From: Christian Jaeger +Date: Fri, 3 Sep 2021 00:10:18 +0100 +Subject: .bashrc: [PATCH 122/191] .bashrc: make cdn / cd_newest ignore .git folders + +--- + .bashrc | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/.bashrc b/.bashrc +index a1a6f48..852fa12 100644 +--- a/.bashrc ++++ b/.bashrc +@@ -139,7 +139,7 @@ mvcd () { + } + _ls_newest () { + find "$1" -maxdepth 1 -type d -print0 | \ +- grep -zZ -v '^\.*$' | \ ++ grep -P -zZ -v '^\.\.?(/\.git)?$' | \ + xargs -0 -s 129023 -n 129023 --exit --no-run-if-empty ls -dt | + head -1 + } diff --git a/split-patch/test/chj-home-expected/--regenerate/0122-.bashrc-make-cdn-cd_newest-ignore-.git-folders/_list b/split-patch/test/chj-home-expected/--regenerate/0122-.bashrc-make-cdn-cd_newest-ignore-.git-folders/_list new file mode 100644 index 0000000..7297507 --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0122-.bashrc-make-cdn-cd_newest-ignore-.git-folders/_list @@ -0,0 +1 @@ +--regenerate/0122-.bashrc-make-cdn-cd_newest-ignore-.git-folders/0122-.bashrc-make-cdn-cd_newest-ignore-.git-folders-.bashrc.patch diff --git a/split-patch/test/chj-home-expected/--regenerate/0123-.chj-home-init-rely-on-.METADATA-v2.options/0123-.chj-home-init-rely-on-.METADATA-v2.options-.chj-home_init.patch b/split-patch/test/chj-home-expected/--regenerate/0123-.chj-home-init-rely-on-.METADATA-v2.options/0123-.chj-home-init-rely-on-.METADATA-v2.options-.chj-home_init.patch new file mode 100644 index 0000000..90b58e4 --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0123-.chj-home-init-rely-on-.METADATA-v2.options/0123-.chj-home-init-rely-on-.METADATA-v2.options-.chj-home_init.patch @@ -0,0 +1,22 @@ +From b580f5fa0436107e2fc99242e3cd64ce7d65000b Mon Sep 17 00:00:00 2001 +From: Christian Jaeger +Date: Tue, 21 Sep 2021 02:27:05 +0200 +Subject: .chj-home/init: [PATCH 123/191] .chj-home/init: rely on .METADATA-v2.options + +--- + .chj-home/init | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/.chj-home/init b/.chj-home/init +index 57e00d7..d3527ed 100755 +--- a/.chj-home/init ++++ b/.chj-home/init +@@ -117,7 +117,7 @@ fi + set -eu + cd scratch + if /opt/chj/bin/cj-git-init; then +- touch .git/scoma-no-user-group ++ echo no-user-group >> .METADATA-v2.options + touch .git/scoma-no-push + fi + ) diff --git a/split-patch/test/chj-home-expected/--regenerate/0123-.chj-home-init-rely-on-.METADATA-v2.options/_list b/split-patch/test/chj-home-expected/--regenerate/0123-.chj-home-init-rely-on-.METADATA-v2.options/_list new file mode 100644 index 0000000..b14128a --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0123-.chj-home-init-rely-on-.METADATA-v2.options/_list @@ -0,0 +1 @@ +--regenerate/0123-.chj-home-init-rely-on-.METADATA-v2.options/0123-.chj-home-init-rely-on-.METADATA-v2.options-.chj-home_init.patch diff --git a/split-patch/test/chj-home-expected/--regenerate/0124-.chj-home-init-make-.METADATA-v2.ignore-too/0124-.chj-home-init-make-.METADATA-v2.ignore-too-.chj-home_init.patch b/split-patch/test/chj-home-expected/--regenerate/0124-.chj-home-init-make-.METADATA-v2.ignore-too/0124-.chj-home-init-make-.METADATA-v2.ignore-too-.chj-home_init.patch new file mode 100644 index 0000000..8ac6645 --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0124-.chj-home-init-make-.METADATA-v2.ignore-too/0124-.chj-home-init-make-.METADATA-v2.ignore-too-.chj-home_init.patch @@ -0,0 +1,21 @@ +From 8cda6e82d093a3d7472d7293a235414c68ab884c Mon Sep 17 00:00:00 2001 +From: Christian Jaeger +Date: Tue, 21 Sep 2021 02:29:24 +0200 +Subject: .chj-home/init: [PATCH 124/191] .chj-home/init: make .METADATA-v2.ignore, too + +--- + .chj-home/init | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/.chj-home/init b/.chj-home/init +index d3527ed..03d19b4 100755 +--- a/.chj-home/init ++++ b/.chj-home/init +@@ -118,6 +118,7 @@ fi + cd scratch + if /opt/chj/bin/cj-git-init; then + echo no-user-group >> .METADATA-v2.options ++ echo HEUTE >> .METADATA-v2.ignore + touch .git/scoma-no-push + fi + ) diff --git a/split-patch/test/chj-home-expected/--regenerate/0124-.chj-home-init-make-.METADATA-v2.ignore-too/_list b/split-patch/test/chj-home-expected/--regenerate/0124-.chj-home-init-make-.METADATA-v2.ignore-too/_list new file mode 100644 index 0000000..0087b74 --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0124-.chj-home-init-make-.METADATA-v2.ignore-too/_list @@ -0,0 +1 @@ +--regenerate/0124-.chj-home-init-make-.METADATA-v2.ignore-too/0124-.chj-home-init-make-.METADATA-v2.ignore-too-.chj-home_init.patch diff --git a/split-patch/test/chj-home-expected/--regenerate/0125-.xscreensaver/0125-.xscreensaver-.xscreensaver.patch b/split-patch/test/chj-home-expected/--regenerate/0125-.xscreensaver/0125-.xscreensaver-.xscreensaver.patch new file mode 100644 index 0000000..a399660 --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0125-.xscreensaver/0125-.xscreensaver-.xscreensaver.patch @@ -0,0 +1,318 @@ +From 0925090e6bae7c1d4d6c94505909bd6857720cc7 Mon Sep 17 00:00:00 2001 +From: Christian Jaeger +Date: Thu, 23 Sep 2021 17:11:13 +0100 +Subject: .xscreensaver: [PATCH 125/191] .xscreensaver + +--- + .xscreensaver | 302 ++++++++++++++++++++++++++++++++++++++++++++++++++ + 1 file changed, 302 insertions(+) + create mode 100644 .xscreensaver + +diff --git a/.xscreensaver b/.xscreensaver +new file mode 100644 +index 0000000..7d8daee +--- /dev/null ++++ b/.xscreensaver +@@ -0,0 +1,302 @@ ++# XScreenSaver Preferences File ++# Written by xscreensaver-demo 5.45 for chris on Thu Sep 23 17:10:59 2021. ++# https://www.jwz.org/xscreensaver/ ++ ++timeout: 0:10:00 ++cycle: 0:10:00 ++lock: True ++lockTimeout: 0:01:00 ++passwdTimeout: 0:00:30 ++visualID: default ++installColormap: True ++verbose: False ++timestamp: True ++splash: True ++splashDuration: 0:00:05 ++demoCommand: xscreensaver-demo ++prefsCommand: ++nice: 10 ++memoryLimit: 0 ++fade: True ++unfade: False ++fadeSeconds: 0:00:03 ++fadeTicks: 20 ++captureStderr: True ++ignoreUninstalledPrograms:False ++font: *-medium-r-*-140-*-m-* ++dpmsEnabled: True ++dpmsQuickOff: False ++dpmsStandby: 0:20:00 ++dpmsSuspend: 0:25:00 ++dpmsOff: 0:30:00 ++grabDesktopImages: False ++grabVideoFrames: False ++chooseRandomImages: False ++imageDirectory: ++ ++mode: random ++selected: -1 ++ ++textMode: program ++textLiteral: XScreenSaver ++textFile: ++textProgram: fortune ++textURL: https://planet.debian.org/rss20.xml ++ ++programs: \ ++ maze -root \n\ ++- GL: superquadrics -root \n\ ++- attraction -root \n\ ++- blitspin -root \n\ ++- greynetic -root \n\ ++- helix -root \n\ ++ hopalong -root \n\ ++ imsmap -root \n\ ++- noseguy -root \n\ ++- pyro -root \n\ ++ qix -root \n\ ++ rocks -root \n\ ++- rorschach -root \n\ ++- decayscreen -root \n\ ++ flame -root \n\ ++- halo -root \n\ ++- slidescreen -root \n\ ++- pedal -root \n\ ++ bouboule -root \n\ ++- braid -root \n\ ++ coral -root \n\ ++ deco -root \n\ ++ drift -root \n\ ++- fadeplot -root \n\ ++ galaxy -root \n\ ++- goop -root \n\ ++- grav -root \n\ ++ ifs -root \n\ ++- unicode -root \n\ ++- GL: jigsaw -root \n\ ++- julia -root \n\ ++- kaleidescope -root \n\ ++- GL: moebius -root \n\ ++ moire -root \n\ ++- GL: morph3d -root \n\ ++- mountain -root \n\ ++ munch -root \n\ ++- penrose -root \n\ ++ GL: pipes -root -fps \n\ ++ rd-bomb -root \n\ ++ GL: rubik -root \n\ ++- sierpinski -root \n\ ++- slip -root \n\ ++- GL: sproingies -root \n\ ++- starfish -root \n\ ++- strange -root \n\ ++ swirl -root \n\ ++ triangle -root \n\ ++- xjack -root \n\ ++ xlyap -root \n\ ++ GL: atlantis -root -delay 33628 -whalespeed 398 \n\ ++ bsod -root \n\ ++ GL: bubble3d -root \n\ ++ GL: cage -root \n\ ++- crystal -root \n\ ++ cynosure -root \n\ ++ discrete -root \n\ ++- distort -root \n\ ++ epicycle -root \n\ ++- flow -root \n\ ++- GL: glplanet -root \n\ ++ interference -root \n\ ++- kumppa -root \n\ ++- GL: lament -root \n\ ++- moire2 -root \n\ ++- GL: sonar -root \n\ ++ GL: stairs -root \n\ ++ truchet -root \n\ ++- vidwhacker -root \n\ ++- blaster -root \n\ ++- bumps -root \n\ ++- ccurve -root \n\ ++ compass -root \n\ ++- deluxe -root \n\ ++- demon -root \n\ ++- GL: extrusion -root \n\ ++- loop -root \n\ ++- penetrate -root \n\ ++- petri -root \n\ ++- phosphor -root \n\ ++- GL: pulsar -root \n\ ++- ripples -root \n\ ++- shadebobs -root \n\ ++- GL: sierpinski3d -root \n\ ++- spotlight -root \n\ ++- squiral -root \n\ ++- wander -root \n\ ++- webcollage -root \n\ ++- xflame -root \n\ ++- xmatrix -root \n\ ++- GL: gflux -root \n\ ++- nerverot -root \n\ ++- xrayswarm -root \n\ ++- xspirograph -root \n\ ++- GL: circuit -root \n\ ++- GL: dangerball -root \n\ ++- GL: engine -root \n\ ++- GL: flipscreen3d -root \n\ ++- GL: gltext -root \n\ ++- GL: menger -root \n\ ++ GL: molecule -root \n\ ++- rotzoomer -root \n\ ++- scooter -root \n\ ++- speedmine -root \n\ ++- GL: starwars -root \n\ ++- GL: stonerview -root \n\ ++ vermiculate -root \n\ ++ whirlwindwarp -root \n\ ++- zoom -root \n\ ++- anemone -root \n\ ++- apollonian -root \n\ ++ GL: boxed -root \n\ ++- GL: cubenetic -root \n\ ++- GL: endgame -root \n\ ++ euler2d -root \n\ ++ fluidballs -root \n\ ++ GL: flurry -root \n\ ++- GL: glblur -root \n\ ++- GL: glsnake -root \n\ ++ halftone -root \n\ ++- GL: juggler3d -root \n\ ++ GL: lavalite -root \n\ ++- polyominoes -root \n\ ++ GL: queens -root \n\ ++- GL: sballs -root \n\ ++- GL: spheremonics -root \n\ ++- thornbird -root \n\ ++- twang -root \n\ ++- GL: antspotlight -root \n\ ++ apple2 -root \n\ ++- GL: atunnel -root -light \n\ ++- barcode -root \n\ ++- GL: blinkbox -root \n\ ++ GL: blocktube -root \n\ ++ GL: bouncingcow -root -delay 8850 -speed \ ++ 0.119 -count 5 \n\ ++ cloudlife -root \n\ ++- GL: cubestorm -root \n\ ++ eruption -root \n\ ++- GL: flipflop -root \n\ ++ GL: flyingtoasters -root \n\ ++- fontglide -root \n\ ++- GL: gleidescope -root \n\ ++- GL: glknots -root \n\ ++- GL: glmatrix -root \n\ ++- GL: glslideshow -root \n\ ++- GL: hypertorus -root \n\ ++- GL: jigglypuff -root \n\ ++- metaballs -root \n\ ++- GL: mirrorblob -root \n\ ++ piecewise -root \n\ ++ GL: polytopes -root \n\ ++- pong -root \n\ ++- popsquares -root \n\ ++- GL: surfaces -root \n\ ++- xanalogtv -root \n\ ++ abstractile -root \n\ ++- anemotaxis -root \n\ ++ GL: antinspect -root \n\ ++ fireworkx -root \n\ ++ fuzzyflakes -root \n\ ++ interaggregate -root \n\ ++ intermomentary -root \n\ ++- memscroller -root \n\ ++- GL: noof -root \n\ ++- pacman -root \n\ ++- GL: pinion -root \n\ ++- GL: polyhedra -root \n\ ++- GL: providence -root \n\ ++ substrate -root \n\ ++- wormhole -root \n\ ++ GL: antmaze -root \n\ ++- GL: boing -root \n\ ++ boxfit -root \n\ ++- GL: carousel -root \n\ ++- celtic -root \n\ ++- GL: crackberg -root \n\ ++- GL: cube21 -root \n\ ++ fiberlamp -root \n\ ++- GL: fliptext -root \n\ ++- GL: glhanoi -root \n\ ++- GL: tangram -root \n\ ++- GL: timetunnel -root \n\ ++- GL: glschool -root \n\ ++- GL: topblock -root \n\ ++- GL: cubicgrid -root \n\ ++ cwaves -root \n\ ++- GL: gears -root \n\ ++- GL: glcells -root \n\ ++- GL: lockward -root \n\ ++ m6502 -root \n\ ++- GL: moebiusgears -root \n\ ++ GL: voronoi -root \n\ ++- GL: hypnowheel -root \n\ ++- GL: klein -root \n\ ++- lcdscrub -root \n\ ++- GL: photopile -root \n\ ++- GL: skytentacles -root \n\ ++- GL: rubikblocks -root \n\ ++- GL: companioncube -root \n\ ++ GL: hilbert -root \n\ ++- GL: tronbit -root \n\ ++- GL: geodesic -root \n\ ++ hexadrop -root \n\ ++- GL: kaleidocycle -root \n\ ++- GL: quasicrystal -root \n\ ++ GL: unknownpleasures -root \n\ ++ binaryring -root \n\ ++- GL: cityflow -root \n\ ++- GL: geodesicgears -root \n\ ++ GL: projectiveplane -root \n\ ++ GL: romanboy -root \n\ ++- tessellimage -root \n\ ++ GL: winduprobot -root \n\ ++- GL: splitflap -root \n\ ++- GL: cubestack -root \n\ ++- GL: cubetwist -root \n\ ++ GL: discoball -root -delay 12389 -speed 0.3602 \n\ ++- GL: dymaxionmap -root \n\ ++ GL: energystream -root -speed 0.0983 \n\ ++- GL: hexstrut -root \n\ ++- GL: hydrostat -root \n\ ++- GL: raverhoop -root \n\ ++- GL: splodesic -root \n\ ++- GL: unicrud -root \n\ ++- GL: esper -root \n\ ++ GL: vigilance -root \n\ ++- GL: crumbler -root \n\ ++ filmleader -root \n\ ++- glitchpeg -root \n\ ++ GL: handsy -root \n\ ++- GL: maze3d -root \n\ ++- GL: peepers -root \n\ ++ GL: razzledazzle -root \n\ ++- vfeedback -root \n\ ++ GL: deepstars -root -delay 11504 -speed 0.2221 \n\ ++- GL: gravitywell -root \n\ ++- GL: beats -root \n\ ++ GL: covid19 -root -delay 0 -speed 0.169 \ ++ -count 36 -fps \n\ ++- GL: etruscanvenus -root \n\ ++- GL: gibson -root \n\ ++- GL: headroom -root \n\ ++- GL: sphereeversion -root \n\ ++ ++ ++pointerPollTime: 0:00:05 ++pointerHysteresis: 10 ++windowCreationTimeout:0:00:30 ++initialDelay: 0:00:00 ++GetViewPortIsFullOfLies:False ++procInterrupts: True ++xinputExtensionDev: False ++overlayStderr: True ++authWarningSlack: 20 ++ diff --git a/split-patch/test/chj-home-expected/--regenerate/0125-.xscreensaver/_list b/split-patch/test/chj-home-expected/--regenerate/0125-.xscreensaver/_list new file mode 100644 index 0000000..196042e --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0125-.xscreensaver/_list @@ -0,0 +1 @@ +--regenerate/0125-.xscreensaver/0125-.xscreensaver-.xscreensaver.patch diff --git a/split-patch/test/chj-home-expected/--regenerate/0126-Move-.xscreensaver-to-.chj-home-again/0126-Move-.xscreensaver-to-.chj-home-again-.chj-home_dot.xscreensaver-dull.patch b/split-patch/test/chj-home-expected/--regenerate/0126-Move-.xscreensaver-to-.chj-home-again/0126-Move-.xscreensaver-to-.chj-home-again-.chj-home_dot.xscreensaver-dull.patch new file mode 100644 index 0000000..d008778 --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0126-Move-.xscreensaver-to-.chj-home-again/0126-Move-.xscreensaver-to-.chj-home-again-.chj-home_dot.xscreensaver-dull.patch @@ -0,0 +1,366 @@ +From e6bcbe2be255cd6eb3bb51b394df4f23f15f32b4 Mon Sep 17 00:00:00 2001 +From: Christian Jaeger +Date: Thu, 23 Sep 2021 17:16:27 +0100 +Subject: .chj-home/dot.xscreensaver-dull: [PATCH 126/191] Move .xscreensaver to .chj-home again + +I forgot that I had this idea before already. +--- + .chj-home/dot.xscreensaver-dull | 183 ++++++++++--------- + .xscreensaver | 302 -------------------------------- + 2 files changed, 101 insertions(+), 384 deletions(-) + delete mode 100644 .xscreensaver + +diff --git a/.chj-home/dot.xscreensaver-dull b/.chj-home/dot.xscreensaver-dull +index 6a396ac..7d8daee 100644 +--- a/.chj-home/dot.xscreensaver-dull ++++ b/.chj-home/dot.xscreensaver-dull +@@ -1,5 +1,5 @@ + # XScreenSaver Preferences File +-# Written by xscreensaver-demo 5.36 for rustaceans on Sat Apr 21 17:10:14 2018. ++# Written by xscreensaver-demo 5.45 for chris on Thu Sep 23 17:10:59 2021. + # https://www.jwz.org/xscreensaver/ + + timeout: 0:10:00 +@@ -14,7 +14,7 @@ timestamp: True + splash: True + splashDuration: 0:00:05 + demoCommand: xscreensaver-demo +-prefsCommand: xscreensaver-demo -prefs ++prefsCommand: + nice: 10 + memoryLimit: 0 + fade: True +@@ -24,54 +24,54 @@ fadeTicks: 20 + captureStderr: True + ignoreUninstalledPrograms:False + font: *-medium-r-*-140-*-m-* +-dpmsEnabled: False ++dpmsEnabled: True + dpmsQuickOff: False +-dpmsStandby: 0:15:00 +-dpmsSuspend: 0:30:00 +-dpmsOff: 4:00:00 ++dpmsStandby: 0:20:00 ++dpmsSuspend: 0:25:00 ++dpmsOff: 0:30:00 + grabDesktopImages: False + grabVideoFrames: False +-chooseRandomImages: True +-imageDirectory: /home/rustaceans/background/rusty-ship ++chooseRandomImages: False ++imageDirectory: + + mode: random + selected: -1 + +-textMode: url ++textMode: program + textLiteral: XScreenSaver + textFile: + textProgram: fortune + textURL: https://planet.debian.org/rss20.xml + + programs: \ +-- maze -root \n\ ++ maze -root \n\ + - GL: superquadrics -root \n\ +- attraction -root \n\ ++- attraction -root \n\ + - blitspin -root \n\ + - greynetic -root \n\ + - helix -root \n\ + hopalong -root \n\ +-- imsmap -root \n\ ++ imsmap -root \n\ + - noseguy -root \n\ + - pyro -root \n\ +-- qix -root \n\ +-- rocks -root \n\ ++ qix -root \n\ ++ rocks -root \n\ + - rorschach -root \n\ + - decayscreen -root \n\ +-- flame -root \n\ ++ flame -root \n\ + - halo -root \n\ + - slidescreen -root \n\ + - pedal -root \n\ + bouboule -root \n\ + - braid -root \n\ +-- coral -root \n\ +-- deco -root \n\ +-- drift -root \n\ ++ coral -root \n\ ++ deco -root \n\ ++ drift -root \n\ + - fadeplot -root \n\ + galaxy -root \n\ + - goop -root \n\ + - grav -root \n\ +-- ifs -root \n\ ++ ifs -root \n\ + - unicode -root \n\ + - GL: jigsaw -root \n\ + - julia -root \n\ +@@ -80,38 +80,38 @@ programs: \ + moire -root \n\ + - GL: morph3d -root \n\ + - mountain -root \n\ +-- munch -root \n\ ++ munch -root \n\ + - penrose -root \n\ +-- GL: pipes -root \n\ +-- rd-bomb -root \n\ ++ GL: pipes -root -fps \n\ ++ rd-bomb -root \n\ + GL: rubik -root \n\ + - sierpinski -root \n\ + - slip -root \n\ + - GL: sproingies -root \n\ + - starfish -root \n\ + - strange -root \n\ +-- swirl -root \n\ +-- triangle -root \n\ +- xjack -root \n\ +-- xlyap -root \n\ +- GL: atlantis -root \n\ +-- bsod -root \n\ ++ swirl -root \n\ ++ triangle -root \n\ ++- xjack -root \n\ ++ xlyap -root \n\ ++ GL: atlantis -root -delay 33628 -whalespeed 398 \n\ ++ bsod -root \n\ + GL: bubble3d -root \n\ +-- GL: cage -root \n\ ++ GL: cage -root \n\ + - crystal -root \n\ + cynosure -root \n\ + discrete -root \n\ + - distort -root \n\ +-- epicycle -root \n\ ++ epicycle -root \n\ + - flow -root \n\ + - GL: glplanet -root \n\ +-- interference -root \n\ ++ interference -root \n\ + - kumppa -root \n\ + - GL: lament -root \n\ + - moire2 -root \n\ + - GL: sonar -root \n\ +-- GL: stairs -root \n\ +-- truchet -root \n\ ++ GL: stairs -root \n\ ++ truchet -root \n\ + - vidwhacker -root \n\ + - blaster -root \n\ + - bumps -root \n\ +@@ -133,8 +133,8 @@ programs: \ + - wander -root \n\ + - webcollage -root \n\ + - xflame -root \n\ +- xmatrix -root \n\ +- GL: gflux -root -speed 0.05 -squares 40 \n\ ++- xmatrix -root \n\ ++- GL: gflux -root \n\ + - nerverot -root \n\ + - xrayswarm -root \n\ + - xspirograph -root \n\ +@@ -144,84 +144,84 @@ programs: \ + - GL: flipscreen3d -root \n\ + - GL: gltext -root \n\ + - GL: menger -root \n\ +-- GL: molecule -root \n\ ++ GL: molecule -root \n\ + - rotzoomer -root \n\ ++- scooter -root \n\ + - speedmine -root \n\ + - GL: starwars -root \n\ + - GL: stonerview -root \n\ +-- vermiculate -root \n\ +-- whirlwindwarp -root \n\ ++ vermiculate -root \n\ ++ whirlwindwarp -root \n\ + - zoom -root \n\ +- anemone -root \n\ ++- anemone -root \n\ + - apollonian -root \n\ + GL: boxed -root \n\ + - GL: cubenetic -root \n\ +- GL: endgame -root \n\ ++- GL: endgame -root \n\ + euler2d -root \n\ +-- fluidballs -root \n\ ++ fluidballs -root \n\ + GL: flurry -root \n\ +- GL: glblur -root -delay 8547 -blursize 30 \n\ ++- GL: glblur -root \n\ + - GL: glsnake -root \n\ +- halftone -root -delay 14530 -maxspeed \ +- 0.0124 \n\ +- GL: juggler3d -root \n\ +-- GL: lavalite -root \n\ ++ halftone -root \n\ ++- GL: juggler3d -root \n\ ++ GL: lavalite -root \n\ + - polyominoes -root \n\ +-- GL: queens -root \n\ ++ GL: queens -root \n\ + - GL: sballs -root \n\ + - GL: spheremonics -root \n\ + - thornbird -root \n\ + - twang -root \n\ + - GL: antspotlight -root \n\ + apple2 -root \n\ +- GL: atunnel -root \n\ +- barcode -root \n\ ++- GL: atunnel -root -light \n\ ++- barcode -root \n\ + - GL: blinkbox -root \n\ + GL: blocktube -root \n\ +-- GL: bouncingcow -root \n\ ++ GL: bouncingcow -root -delay 8850 -speed \ ++ 0.119 -count 5 \n\ + cloudlife -root \n\ + - GL: cubestorm -root \n\ +-- eruption -root \n\ ++ eruption -root \n\ + - GL: flipflop -root \n\ + GL: flyingtoasters -root \n\ + - fontglide -root \n\ + - GL: gleidescope -root \n\ + - GL: glknots -root \n\ +- GL: glmatrix -root \n\ +- GL: glslideshow -root -duration 10 -zoom 50 \ +- -pan 30 -fade 9 \n\ +- GL: hypertorus -root \n\ +- GL: jigglypuff -root \n\ ++- GL: glmatrix -root \n\ ++- GL: glslideshow -root \n\ ++- GL: hypertorus -root \n\ ++- GL: jigglypuff -root \n\ + - metaballs -root \n\ + - GL: mirrorblob -root \n\ +-- piecewise -root \n\ ++ piecewise -root \n\ + GL: polytopes -root \n\ + - pong -root \n\ + - popsquares -root \n\ + - GL: surfaces -root \n\ +- xanalogtv -root \n\ ++- xanalogtv -root \n\ + abstractile -root \n\ + - anemotaxis -root \n\ +-- GL: antinspect -root \n\ ++ GL: antinspect -root \n\ + fireworkx -root \n\ +-- fuzzyflakes -root \n\ ++ fuzzyflakes -root \n\ + interaggregate -root \n\ + intermomentary -root \n\ + - memscroller -root \n\ + - GL: noof -root \n\ +- pacman -root \n\ ++- pacman -root \n\ + - GL: pinion -root \n\ + - GL: polyhedra -root \n\ + - GL: providence -root \n\ + substrate -root \n\ + - wormhole -root \n\ +-- GL: antmaze -root \n\ ++ GL: antmaze -root \n\ + - GL: boing -root \n\ +-- boxfit -root \n\ ++ boxfit -root \n\ + - GL: carousel -root \n\ + - celtic -root \n\ +- GL: crackberg -root \n\ +- GL: cube21 -root \n\ ++- GL: crackberg -root \n\ ++- GL: cube21 -root \n\ + fiberlamp -root \n\ + - GL: fliptext -root \n\ + - GL: glhanoi -root \n\ +@@ -229,46 +229,65 @@ programs: \ + - GL: timetunnel -root \n\ + - GL: glschool -root \n\ + - GL: topblock -root \n\ +- GL: cubicgrid -root \n\ ++- GL: cubicgrid -root \n\ + cwaves -root \n\ + - GL: gears -root \n\ +- GL: glcells -root \n\ ++- GL: glcells -root \n\ + - GL: lockward -root \n\ +-- m6502 -root \n\ ++ m6502 -root \n\ + - GL: moebiusgears -root \n\ +-- GL: voronoi -root \n\ ++ GL: voronoi -root \n\ + - GL: hypnowheel -root \n\ +- GL: klein -root \n\ ++- GL: klein -root \n\ + - lcdscrub -root \n\ + - GL: photopile -root \n\ + - GL: skytentacles -root \n\ +- GL: rubikblocks -root \n\ +- GL: companioncube -root \n\ +-- GL: hilbert -root \n\ ++- GL: rubikblocks -root \n\ ++- GL: companioncube -root \n\ ++ GL: hilbert -root \n\ + - GL: tronbit -root \n\ + - GL: geodesic -root \n\ + hexadrop -root \n\ + - GL: kaleidocycle -root \n\ +- GL: quasicrystal -root \n\ ++- GL: quasicrystal -root \n\ + GL: unknownpleasures -root \n\ + binaryring -root \n\ +- GL: cityflow -root \n\ ++- GL: cityflow -root \n\ + - GL: geodesicgears -root \n\ + GL: projectiveplane -root \n\ +-- GL: romanboy -root \n\ ++ GL: romanboy -root \n\ + - tessellimage -root \n\ + GL: winduprobot -root \n\ +- GL: splitflap -root \n\ +- GL: cubestack -root \n\ +- GL: cubetwist -root \n\ +- GL: discoball -root \n\ ++- GL: splitflap -root \n\ ++- GL: cubestack -root \n\ ++- GL: cubetwist -root \n\ ++ GL: discoball -root -delay 12389 -speed 0.3602 \n\ + - GL: dymaxionmap -root \n\ +-- GL: energystream -root \n\ ++ GL: energystream -root -speed 0.0983 \n\ + - GL: hexstrut -root \n\ +- GL: hydrostat -root \n\ ++- GL: hydrostat -root \n\ + - GL: raverhoop -root \n\ + - GL: splodesic -root \n\ + - GL: unicrud -root \n\ ++- GL: esper -root \n\ ++ GL: vigilance -root \n\ ++- GL: crumbler -root \n\ ++ filmleader -root \n\ ++- glitchpeg -root \n\ ++ GL: handsy -root \n\ ++- GL: maze3d -root \n\ ++- GL: peepers -root \n\ ++ GL: razzledazzle -root \n\ ++- vfeedback -root \n\ ++ GL: deepstars -root -delay 11504 -speed 0.2221 \n\ ++- GL: gravitywell -root \n\ ++- GL: beats -root \n\ ++ GL: covid19 -root -delay 0 -speed 0.169 \ ++ -count 36 -fps \n\ ++- GL: etruscanvenus -root \n\ ++- GL: gibson -root \n\ ++- GL: headroom -root \n\ ++- GL: sphereeversion -root \n\ + + + pointerPollTime: 0:00:05 diff --git a/split-patch/test/chj-home-expected/--regenerate/0126-Move-.xscreensaver-to-.chj-home-again/0126-Move-.xscreensaver-to-.chj-home-again-.xscreensaver.patch b/split-patch/test/chj-home-expected/--regenerate/0126-Move-.xscreensaver-to-.chj-home-again/0126-Move-.xscreensaver-to-.chj-home-again-.xscreensaver.patch new file mode 100644 index 0000000..a04729f --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0126-Move-.xscreensaver-to-.chj-home-again/0126-Move-.xscreensaver-to-.chj-home-again-.xscreensaver.patch @@ -0,0 +1,320 @@ +From e6bcbe2be255cd6eb3bb51b394df4f23f15f32b4 Mon Sep 17 00:00:00 2001 +From: Christian Jaeger +Date: Thu, 23 Sep 2021 17:16:27 +0100 +Subject: .xscreensaver: [PATCH 126/191] Move .xscreensaver to .chj-home again + +I forgot that I had this idea before already. +--- + .chj-home/dot.xscreensaver-dull | 183 ++++++++++--------- + .xscreensaver | 302 -------------------------------- + 2 files changed, 101 insertions(+), 384 deletions(-) + delete mode 100644 .xscreensaver + +diff --git a/.xscreensaver b/.xscreensaver +deleted file mode 100644 +index 7d8daee..0000000 +--- a/.xscreensaver ++++ /dev/null +@@ -1,302 +0,0 @@ +-# XScreenSaver Preferences File +-# Written by xscreensaver-demo 5.45 for chris on Thu Sep 23 17:10:59 2021. +-# https://www.jwz.org/xscreensaver/ +- +-timeout: 0:10:00 +-cycle: 0:10:00 +-lock: True +-lockTimeout: 0:01:00 +-passwdTimeout: 0:00:30 +-visualID: default +-installColormap: True +-verbose: False +-timestamp: True +-splash: True +-splashDuration: 0:00:05 +-demoCommand: xscreensaver-demo +-prefsCommand: +-nice: 10 +-memoryLimit: 0 +-fade: True +-unfade: False +-fadeSeconds: 0:00:03 +-fadeTicks: 20 +-captureStderr: True +-ignoreUninstalledPrograms:False +-font: *-medium-r-*-140-*-m-* +-dpmsEnabled: True +-dpmsQuickOff: False +-dpmsStandby: 0:20:00 +-dpmsSuspend: 0:25:00 +-dpmsOff: 0:30:00 +-grabDesktopImages: False +-grabVideoFrames: False +-chooseRandomImages: False +-imageDirectory: +- +-mode: random +-selected: -1 +- +-textMode: program +-textLiteral: XScreenSaver +-textFile: +-textProgram: fortune +-textURL: https://planet.debian.org/rss20.xml +- +-programs: \ +- maze -root \n\ +-- GL: superquadrics -root \n\ +-- attraction -root \n\ +-- blitspin -root \n\ +-- greynetic -root \n\ +-- helix -root \n\ +- hopalong -root \n\ +- imsmap -root \n\ +-- noseguy -root \n\ +-- pyro -root \n\ +- qix -root \n\ +- rocks -root \n\ +-- rorschach -root \n\ +-- decayscreen -root \n\ +- flame -root \n\ +-- halo -root \n\ +-- slidescreen -root \n\ +-- pedal -root \n\ +- bouboule -root \n\ +-- braid -root \n\ +- coral -root \n\ +- deco -root \n\ +- drift -root \n\ +-- fadeplot -root \n\ +- galaxy -root \n\ +-- goop -root \n\ +-- grav -root \n\ +- ifs -root \n\ +-- unicode -root \n\ +-- GL: jigsaw -root \n\ +-- julia -root \n\ +-- kaleidescope -root \n\ +-- GL: moebius -root \n\ +- moire -root \n\ +-- GL: morph3d -root \n\ +-- mountain -root \n\ +- munch -root \n\ +-- penrose -root \n\ +- GL: pipes -root -fps \n\ +- rd-bomb -root \n\ +- GL: rubik -root \n\ +-- sierpinski -root \n\ +-- slip -root \n\ +-- GL: sproingies -root \n\ +-- starfish -root \n\ +-- strange -root \n\ +- swirl -root \n\ +- triangle -root \n\ +-- xjack -root \n\ +- xlyap -root \n\ +- GL: atlantis -root -delay 33628 -whalespeed 398 \n\ +- bsod -root \n\ +- GL: bubble3d -root \n\ +- GL: cage -root \n\ +-- crystal -root \n\ +- cynosure -root \n\ +- discrete -root \n\ +-- distort -root \n\ +- epicycle -root \n\ +-- flow -root \n\ +-- GL: glplanet -root \n\ +- interference -root \n\ +-- kumppa -root \n\ +-- GL: lament -root \n\ +-- moire2 -root \n\ +-- GL: sonar -root \n\ +- GL: stairs -root \n\ +- truchet -root \n\ +-- vidwhacker -root \n\ +-- blaster -root \n\ +-- bumps -root \n\ +-- ccurve -root \n\ +- compass -root \n\ +-- deluxe -root \n\ +-- demon -root \n\ +-- GL: extrusion -root \n\ +-- loop -root \n\ +-- penetrate -root \n\ +-- petri -root \n\ +-- phosphor -root \n\ +-- GL: pulsar -root \n\ +-- ripples -root \n\ +-- shadebobs -root \n\ +-- GL: sierpinski3d -root \n\ +-- spotlight -root \n\ +-- squiral -root \n\ +-- wander -root \n\ +-- webcollage -root \n\ +-- xflame -root \n\ +-- xmatrix -root \n\ +-- GL: gflux -root \n\ +-- nerverot -root \n\ +-- xrayswarm -root \n\ +-- xspirograph -root \n\ +-- GL: circuit -root \n\ +-- GL: dangerball -root \n\ +-- GL: engine -root \n\ +-- GL: flipscreen3d -root \n\ +-- GL: gltext -root \n\ +-- GL: menger -root \n\ +- GL: molecule -root \n\ +-- rotzoomer -root \n\ +-- scooter -root \n\ +-- speedmine -root \n\ +-- GL: starwars -root \n\ +-- GL: stonerview -root \n\ +- vermiculate -root \n\ +- whirlwindwarp -root \n\ +-- zoom -root \n\ +-- anemone -root \n\ +-- apollonian -root \n\ +- GL: boxed -root \n\ +-- GL: cubenetic -root \n\ +-- GL: endgame -root \n\ +- euler2d -root \n\ +- fluidballs -root \n\ +- GL: flurry -root \n\ +-- GL: glblur -root \n\ +-- GL: glsnake -root \n\ +- halftone -root \n\ +-- GL: juggler3d -root \n\ +- GL: lavalite -root \n\ +-- polyominoes -root \n\ +- GL: queens -root \n\ +-- GL: sballs -root \n\ +-- GL: spheremonics -root \n\ +-- thornbird -root \n\ +-- twang -root \n\ +-- GL: antspotlight -root \n\ +- apple2 -root \n\ +-- GL: atunnel -root -light \n\ +-- barcode -root \n\ +-- GL: blinkbox -root \n\ +- GL: blocktube -root \n\ +- GL: bouncingcow -root -delay 8850 -speed \ +- 0.119 -count 5 \n\ +- cloudlife -root \n\ +-- GL: cubestorm -root \n\ +- eruption -root \n\ +-- GL: flipflop -root \n\ +- GL: flyingtoasters -root \n\ +-- fontglide -root \n\ +-- GL: gleidescope -root \n\ +-- GL: glknots -root \n\ +-- GL: glmatrix -root \n\ +-- GL: glslideshow -root \n\ +-- GL: hypertorus -root \n\ +-- GL: jigglypuff -root \n\ +-- metaballs -root \n\ +-- GL: mirrorblob -root \n\ +- piecewise -root \n\ +- GL: polytopes -root \n\ +-- pong -root \n\ +-- popsquares -root \n\ +-- GL: surfaces -root \n\ +-- xanalogtv -root \n\ +- abstractile -root \n\ +-- anemotaxis -root \n\ +- GL: antinspect -root \n\ +- fireworkx -root \n\ +- fuzzyflakes -root \n\ +- interaggregate -root \n\ +- intermomentary -root \n\ +-- memscroller -root \n\ +-- GL: noof -root \n\ +-- pacman -root \n\ +-- GL: pinion -root \n\ +-- GL: polyhedra -root \n\ +-- GL: providence -root \n\ +- substrate -root \n\ +-- wormhole -root \n\ +- GL: antmaze -root \n\ +-- GL: boing -root \n\ +- boxfit -root \n\ +-- GL: carousel -root \n\ +-- celtic -root \n\ +-- GL: crackberg -root \n\ +-- GL: cube21 -root \n\ +- fiberlamp -root \n\ +-- GL: fliptext -root \n\ +-- GL: glhanoi -root \n\ +-- GL: tangram -root \n\ +-- GL: timetunnel -root \n\ +-- GL: glschool -root \n\ +-- GL: topblock -root \n\ +-- GL: cubicgrid -root \n\ +- cwaves -root \n\ +-- GL: gears -root \n\ +-- GL: glcells -root \n\ +-- GL: lockward -root \n\ +- m6502 -root \n\ +-- GL: moebiusgears -root \n\ +- GL: voronoi -root \n\ +-- GL: hypnowheel -root \n\ +-- GL: klein -root \n\ +-- lcdscrub -root \n\ +-- GL: photopile -root \n\ +-- GL: skytentacles -root \n\ +-- GL: rubikblocks -root \n\ +-- GL: companioncube -root \n\ +- GL: hilbert -root \n\ +-- GL: tronbit -root \n\ +-- GL: geodesic -root \n\ +- hexadrop -root \n\ +-- GL: kaleidocycle -root \n\ +-- GL: quasicrystal -root \n\ +- GL: unknownpleasures -root \n\ +- binaryring -root \n\ +-- GL: cityflow -root \n\ +-- GL: geodesicgears -root \n\ +- GL: projectiveplane -root \n\ +- GL: romanboy -root \n\ +-- tessellimage -root \n\ +- GL: winduprobot -root \n\ +-- GL: splitflap -root \n\ +-- GL: cubestack -root \n\ +-- GL: cubetwist -root \n\ +- GL: discoball -root -delay 12389 -speed 0.3602 \n\ +-- GL: dymaxionmap -root \n\ +- GL: energystream -root -speed 0.0983 \n\ +-- GL: hexstrut -root \n\ +-- GL: hydrostat -root \n\ +-- GL: raverhoop -root \n\ +-- GL: splodesic -root \n\ +-- GL: unicrud -root \n\ +-- GL: esper -root \n\ +- GL: vigilance -root \n\ +-- GL: crumbler -root \n\ +- filmleader -root \n\ +-- glitchpeg -root \n\ +- GL: handsy -root \n\ +-- GL: maze3d -root \n\ +-- GL: peepers -root \n\ +- GL: razzledazzle -root \n\ +-- vfeedback -root \n\ +- GL: deepstars -root -delay 11504 -speed 0.2221 \n\ +-- GL: gravitywell -root \n\ +-- GL: beats -root \n\ +- GL: covid19 -root -delay 0 -speed 0.169 \ +- -count 36 -fps \n\ +-- GL: etruscanvenus -root \n\ +-- GL: gibson -root \n\ +-- GL: headroom -root \n\ +-- GL: sphereeversion -root \n\ +- +- +-pointerPollTime: 0:00:05 +-pointerHysteresis: 10 +-windowCreationTimeout:0:00:30 +-initialDelay: 0:00:00 +-GetViewPortIsFullOfLies:False +-procInterrupts: True +-xinputExtensionDev: False +-overlayStderr: True +-authWarningSlack: 20 +- diff --git a/split-patch/test/chj-home-expected/--regenerate/0126-Move-.xscreensaver-to-.chj-home-again/_list b/split-patch/test/chj-home-expected/--regenerate/0126-Move-.xscreensaver-to-.chj-home-again/_list new file mode 100644 index 0000000..9424d84 --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0126-Move-.xscreensaver-to-.chj-home-again/_list @@ -0,0 +1,2 @@ +--regenerate/0126-Move-.xscreensaver-to-.chj-home-again/0126-Move-.xscreensaver-to-.chj-home-again-.chj-home_dot.xscreensaver-dull.patch +--regenerate/0126-Move-.xscreensaver-to-.chj-home-again/0126-Move-.xscreensaver-to-.chj-home-again-.xscreensaver.patch diff --git a/split-patch/test/chj-home-expected/--regenerate/0127-Rename/0127-Rename-.chj-home_.xscreensaver.patch b/split-patch/test/chj-home-expected/--regenerate/0127-Rename/0127-Rename-.chj-home_.xscreensaver.patch new file mode 100644 index 0000000..b87513d --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0127-Rename/0127-Rename-.chj-home_.xscreensaver.patch @@ -0,0 +1,14 @@ +From 5ee554399759df1841851d95959f6e55f61dc356 Mon Sep 17 00:00:00 2001 +From: Christian Jaeger +Date: Thu, 23 Sep 2021 17:17:04 +0100 +Subject: .chj-home/.xscreensaver: [PATCH 127/191] Rename + +--- + .chj-home/{dot.xscreensaver-dull => .xscreensaver} | 0 + 1 file changed, 0 insertions(+), 0 deletions(-) + rename .chj-home/{dot.xscreensaver-dull => .xscreensaver} (100%) + +diff --git a/.chj-home/dot.xscreensaver-dull b/.chj-home/.xscreensaver +similarity index 100% +rename from .chj-home/dot.xscreensaver-dull +rename to .chj-home/.xscreensaver diff --git a/split-patch/test/chj-home-expected/--regenerate/0127-Rename/_list b/split-patch/test/chj-home-expected/--regenerate/0127-Rename/_list new file mode 100644 index 0000000..a1df06e --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0127-Rename/_list @@ -0,0 +1 @@ +--regenerate/0127-Rename/0127-Rename-.chj-home_.xscreensaver.patch diff --git a/split-patch/test/chj-home-expected/--regenerate/0128-init-install-.xscreensaver-if-not-already-exists/0128-init-install-.xscreensaver-if-not-already-exists-.chj-home_init.patch b/split-patch/test/chj-home-expected/--regenerate/0128-init-install-.xscreensaver-if-not-already-exists/0128-init-install-.xscreensaver-if-not-already-exists-.chj-home_init.patch new file mode 100644 index 0000000..a5ef691 --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0128-init-install-.xscreensaver-if-not-already-exists/0128-init-install-.xscreensaver-if-not-already-exists-.chj-home_init.patch @@ -0,0 +1,25 @@ +From 006ffe031ba70bdfac36a2425adf7b5d331eeb93 Mon Sep 17 00:00:00 2001 +From: Christian Jaeger +Date: Thu, 23 Sep 2021 17:19:01 +0100 +Subject: .chj-home/init: [PATCH 128/191] init: install .xscreensaver if not already exists + +--- + .chj-home/init | 5 +++++ + 1 file changed, 5 insertions(+) + +diff --git a/.chj-home/init b/.chj-home/init +index 03d19b4..eb7fc05 100755 +--- a/.chj-home/init ++++ b/.chj-home/init +@@ -21,6 +21,11 @@ for d in .links2 .vnc; do + fi + done + ++if [ -e .xscreensaver ]; then ++ echo "File .xscreensaver already exists, not touching it." ++else ++ cp .chj-home/.xscreensaver . ++fi + + cancel() { + echo "$0: cancelled due to missing answer." diff --git a/split-patch/test/chj-home-expected/--regenerate/0128-init-install-.xscreensaver-if-not-already-exists/_list b/split-patch/test/chj-home-expected/--regenerate/0128-init-install-.xscreensaver-if-not-already-exists/_list new file mode 100644 index 0000000..5f07d3f --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0128-init-install-.xscreensaver-if-not-already-exists/_list @@ -0,0 +1 @@ +--regenerate/0128-init-install-.xscreensaver-if-not-already-exists/0128-init-install-.xscreensaver-if-not-already-exists-.chj-home_init.patch diff --git a/split-patch/test/chj-home-expected/--regenerate/0129-init-more-fix-perms/0129-init-more-fix-perms-.chj-home_init.patch b/split-patch/test/chj-home-expected/--regenerate/0129-init-more-fix-perms/0129-init-more-fix-perms-.chj-home_init.patch new file mode 100644 index 0000000..8894376 --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0129-init-more-fix-perms/0129-init-more-fix-perms-.chj-home_init.patch @@ -0,0 +1,36 @@ +From dbd35c7bbe7765b048b9cdd90b8dc14e0e63f383 Mon Sep 17 00:00:00 2001 +From: Christian Jaeger +Date: Fri, 24 Sep 2021 22:19:44 +0100 +Subject: .chj-home/init: [PATCH 129/191] init: more fix perms + +--- + .chj-home/init | 10 +++++++++- + 1 file changed, 9 insertions(+), 1 deletion(-) + +diff --git a/.chj-home/init b/.chj-home/init +index eb7fc05..18d8f75 100755 +--- a/.chj-home/init ++++ b/.chj-home/init +@@ -14,13 +14,21 @@ if [ -e .chj-home/init-done ]; then + exit 0 + fi + +-# fix perms (make private): ++# Fix perms (make private): + for d in .links2 .vnc; do + if [ -e "$d" ]; then + chmod go-rwx "$d" + fi + done + ++# More fix perms (make group private): ++for d in . Pictures/ Documents/ Downloads/ Desktop/ Music/ Templates/ Videos/; do ++ if [ -e "$d" ]; then ++ chmod o-rwx "$d" ++ fi ++done ++ ++ + if [ -e .xscreensaver ]; then + echo "File .xscreensaver already exists, not touching it." + else diff --git a/split-patch/test/chj-home-expected/--regenerate/0129-init-more-fix-perms/_list b/split-patch/test/chj-home-expected/--regenerate/0129-init-more-fix-perms/_list new file mode 100644 index 0000000..e188410 --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0129-init-more-fix-perms/_list @@ -0,0 +1 @@ +--regenerate/0129-init-more-fix-perms/0129-init-more-fix-perms-.chj-home_init.patch diff --git a/split-patch/test/chj-home-expected/--regenerate/0130-.bashrc-add-j-same-as-cj/0130-.bashrc-add-j-same-as-cj-.bashrc.patch b/split-patch/test/chj-home-expected/--regenerate/0130-.bashrc-add-j-same-as-cj/0130-.bashrc-add-j-same-as-cj-.bashrc.patch new file mode 100644 index 0000000..5ff01bc --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0130-.bashrc-add-j-same-as-cj/0130-.bashrc-add-j-same-as-cj-.bashrc.patch @@ -0,0 +1,26 @@ +From 405fc94d35872d1a04b04d216791d73717e1fb2c Mon Sep 17 00:00:00 2001 +From: Christian Jaeger +Date: Thu, 30 Sep 2021 13:53:07 +0100 +Subject: .bashrc: [PATCH 130/191] .bashrc: add `j`, same as `cj` + +--- + .bashrc | 6 ++++++ + 1 file changed, 6 insertions(+) + +diff --git a/.bashrc b/.bashrc +index 852fa12..2ca519b 100644 +--- a/.bashrc ++++ b/.bashrc +@@ -192,6 +192,12 @@ cj () { + cd "$1" + fi + } ++j () { ++ cd ~/bookmarks/j ++ if [ $# -ge 1 ]; then ++ cd "$1" ++ fi ++} + + find () { my.find "$@"; } + df () { my.df "$@"; } diff --git a/split-patch/test/chj-home-expected/--regenerate/0130-.bashrc-add-j-same-as-cj/_list b/split-patch/test/chj-home-expected/--regenerate/0130-.bashrc-add-j-same-as-cj/_list new file mode 100644 index 0000000..9f98ebd --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0130-.bashrc-add-j-same-as-cj/_list @@ -0,0 +1 @@ +--regenerate/0130-.bashrc-add-j-same-as-cj/0130-.bashrc-add-j-same-as-cj-.bashrc.patch diff --git a/split-patch/test/chj-home-expected/--regenerate/0131-.bashrc-add-cgdi/0131-.bashrc-add-cgdi-.bashrc.patch b/split-patch/test/chj-home-expected/--regenerate/0131-.bashrc-add-cgdi/0131-.bashrc-add-cgdi-.bashrc.patch new file mode 100644 index 0000000..15a2864 --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0131-.bashrc-add-cgdi/0131-.bashrc-add-cgdi-.bashrc.patch @@ -0,0 +1,33 @@ +From 9cd7125d322391e7d46a70135531cdec58e44b67 Mon Sep 17 00:00:00 2001 +From: Christian Jaeger +Date: Sat, 16 Oct 2021 03:23:42 +0100 +Subject: .bashrc: [PATCH 131/191] .bashrc: add `cgdi` + +--- + .bashrc | 13 +++++++++++++ + 1 file changed, 13 insertions(+) + +diff --git a/.bashrc b/.bashrc +index 2ca519b..e03a880 100644 +--- a/.bashrc ++++ b/.bashrc +@@ -156,6 +156,19 @@ cdn () { + cdnewdir "$@" + fi + } ++cgdi () { ++ local res=$(gdi "$@") ++ # I forgot how to do this with builtins: ++ if [ -n "$res" ]; then ++ if [ "$(printf '%s' "$res" | wc -l)" -eq 0 ]; then ++ cd "$res" ++ else ++ printf 'Need exactly one result, found:\n%s' "$res" ++ fi ++ else ++ echo "Nothing found." ++ fi ++} + cdt () { + if checkcreate-tmp-owner-dir; then + cd "/tmp/$USER" diff --git a/split-patch/test/chj-home-expected/--regenerate/0131-.bashrc-add-cgdi/_list b/split-patch/test/chj-home-expected/--regenerate/0131-.bashrc-add-cgdi/_list new file mode 100644 index 0000000..ba017eb --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0131-.bashrc-add-cgdi/_list @@ -0,0 +1 @@ +--regenerate/0131-.bashrc-add-cgdi/0131-.bashrc-add-cgdi-.bashrc.patch diff --git a/split-patch/test/chj-home-expected/--regenerate/0132-.bashrc-cgdi-fix-proper-error-handling/0132-.bashrc-cgdi-fix-proper-error-handling-.bashrc.patch b/split-patch/test/chj-home-expected/--regenerate/0132-.bashrc-cgdi-fix-proper-error-handling/0132-.bashrc-cgdi-fix-proper-error-handling-.bashrc.patch new file mode 100644 index 0000000..905f6ec --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0132-.bashrc-cgdi-fix-proper-error-handling/0132-.bashrc-cgdi-fix-proper-error-handling-.bashrc.patch @@ -0,0 +1,27 @@ +From 7d5d2d5eb285c76de1d529c25837587cc40731e5 Mon Sep 17 00:00:00 2001 +From: Christian Jaeger +Date: Thu, 4 Nov 2021 13:08:25 +0000 +Subject: .bashrc: [PATCH 132/191] .bashrc: cgdi: fix, proper error handling + +--- + .bashrc | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +diff --git a/.bashrc b/.bashrc +index e03a880..f7e1c0a 100644 +--- a/.bashrc ++++ b/.bashrc +@@ -163,10 +163,12 @@ cgdi () { + if [ "$(printf '%s' "$res" | wc -l)" -eq 0 ]; then + cd "$res" + else +- printf 'Need exactly one result, found:\n%s' "$res" ++ printf '*** Need exactly one result, found:\n%s\n' "$res" ++ false + fi + else + echo "Nothing found." ++ false + fi + } + cdt () { diff --git a/split-patch/test/chj-home-expected/--regenerate/0132-.bashrc-cgdi-fix-proper-error-handling/_list b/split-patch/test/chj-home-expected/--regenerate/0132-.bashrc-cgdi-fix-proper-error-handling/_list new file mode 100644 index 0000000..b12107d --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0132-.bashrc-cgdi-fix-proper-error-handling/_list @@ -0,0 +1 @@ +--regenerate/0132-.bashrc-cgdi-fix-proper-error-handling/0132-.bashrc-cgdi-fix-proper-error-handling-.bashrc.patch diff --git a/split-patch/test/chj-home-expected/--regenerate/0133-.bashrc-add-cgd/0133-.bashrc-add-cgd-.bashrc.patch b/split-patch/test/chj-home-expected/--regenerate/0133-.bashrc-add-cgd/0133-.bashrc-add-cgd-.bashrc.patch new file mode 100644 index 0000000..3334351 --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0133-.bashrc-add-cgd/0133-.bashrc-add-cgd-.bashrc.patch @@ -0,0 +1,37 @@ +From d8c68e2ce9c3673cf4ba59a6b3cba8bee245046d Mon Sep 17 00:00:00 2001 +From: "Christian Jaeger (dull)" +Date: Thu, 4 Nov 2021 15:35:34 +0000 +Subject: .bashrc: [PATCH 133/191] .bashrc: add `cgd` + +--- + .bashrc | 10 ++++++++-- + 1 file changed, 8 insertions(+), 2 deletions(-) + +diff --git a/.bashrc b/.bashrc +index f7e1c0a..c1ce403 100644 +--- a/.bashrc ++++ b/.bashrc +@@ -156,8 +156,8 @@ cdn () { + cdnewdir "$@" + fi + } +-cgdi () { +- local res=$(gdi "$@") ++_cgd_ () { ++ local res=$1 + # I forgot how to do this with builtins: + if [ -n "$res" ]; then + if [ "$(printf '%s' "$res" | wc -l)" -eq 0 ]; then +@@ -171,6 +171,12 @@ cgdi () { + false + fi + } ++cgd () { ++ _cgd_ "$(gd "$@")" ++} ++cgdi () { ++ _cgd_ "$(gdi "$@")" ++} + cdt () { + if checkcreate-tmp-owner-dir; then + cd "/tmp/$USER" diff --git a/split-patch/test/chj-home-expected/--regenerate/0133-.bashrc-add-cgd/_list b/split-patch/test/chj-home-expected/--regenerate/0133-.bashrc-add-cgd/_list new file mode 100644 index 0000000..3c0e04e --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0133-.bashrc-add-cgd/_list @@ -0,0 +1 @@ +--regenerate/0133-.bashrc-add-cgd/0133-.bashrc-add-cgd-.bashrc.patch diff --git a/split-patch/test/chj-home-expected/--regenerate/0134-.xscreensaver-blank-and-off-fast/0134-.xscreensaver-blank-and-off-fast-.chj-home_.xscreensaver.patch b/split-patch/test/chj-home-expected/--regenerate/0134-.xscreensaver-blank-and-off-fast/0134-.xscreensaver-blank-and-off-fast-.chj-home_.xscreensaver.patch new file mode 100644 index 0000000..8e1552d --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0134-.xscreensaver-blank-and-off-fast/0134-.xscreensaver-blank-and-off-fast-.chj-home_.xscreensaver.patch @@ -0,0 +1,38 @@ +From 3ad8739bd8a4f3b58fe591c89a5f209bf2eb60b1 Mon Sep 17 00:00:00 2001 +From: "Christian Jaeger (dull)" +Date: Fri, 19 Nov 2021 17:18:14 +0000 +Subject: .chj-home/.xscreensaver: [PATCH 134/191] .xscreensaver: blank and off fast + +Because with the old settings it would, crazily, run screensavers +(concluded from CPU load) even after 35-45' of inactivity. + +This was/is ever unclear, are those times *after* each other? Not all +from the start of inactivity? +--- + .chj-home/.xscreensaver | 8 ++++---- + 1 file changed, 4 insertions(+), 4 deletions(-) + +diff --git a/.chj-home/.xscreensaver b/.chj-home/.xscreensaver +index 7d8daee..3b49f89 100644 +--- a/.chj-home/.xscreensaver ++++ b/.chj-home/.xscreensaver +@@ -1,5 +1,5 @@ + # XScreenSaver Preferences File +-# Written by xscreensaver-demo 5.45 for chris on Thu Sep 23 17:10:59 2021. ++# Written by xscreensaver-demo 5.45 for chris on Fri Nov 19 17:17:27 2021. + # https://www.jwz.org/xscreensaver/ + + timeout: 0:10:00 +@@ -26,9 +26,9 @@ ignoreUninstalledPrograms:False + font: *-medium-r-*-140-*-m-* + dpmsEnabled: True + dpmsQuickOff: False +-dpmsStandby: 0:20:00 +-dpmsSuspend: 0:25:00 +-dpmsOff: 0:30:00 ++dpmsStandby: 0:01:00 ++dpmsSuspend: 0:01:00 ++dpmsOff: 0:01:00 + grabDesktopImages: False + grabVideoFrames: False + chooseRandomImages: False diff --git a/split-patch/test/chj-home-expected/--regenerate/0134-.xscreensaver-blank-and-off-fast/_list b/split-patch/test/chj-home-expected/--regenerate/0134-.xscreensaver-blank-and-off-fast/_list new file mode 100644 index 0000000..bf43370 --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0134-.xscreensaver-blank-and-off-fast/_list @@ -0,0 +1 @@ +--regenerate/0134-.xscreensaver-blank-and-off-fast/0134-.xscreensaver-blank-and-off-fast-.chj-home_.xscreensaver.patch diff --git a/split-patch/test/chj-home-expected/--regenerate/0135-Add-cgi-cgii/0135-Add-cgi-cgii-.bashrc.patch b/split-patch/test/chj-home-expected/--regenerate/0135-Add-cgi-cgii/0135-Add-cgi-cgii-.bashrc.patch new file mode 100644 index 0000000..cecb008 --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0135-Add-cgi-cgii/0135-Add-cgi-cgii-.bashrc.patch @@ -0,0 +1,28 @@ +From 95fd88e62239ad4d4a84a9b48011c1b8dce395c2 Mon Sep 17 00:00:00 2001 +From: "Christian Jaeger (dull)" +Date: Fri, 19 Nov 2021 23:30:09 +0000 +Subject: .bashrc: [PATCH 135/191] Add `cgi`, `cgii` + +Since when I'm searching with cgi, find 1 folder, I still want to be +able to ctl-a c enter. +--- + .bashrc | 6 ++++++ + 1 file changed, 6 insertions(+) + +diff --git a/.bashrc b/.bashrc +index c1ce403..8665ae5 100644 +--- a/.bashrc ++++ b/.bashrc +@@ -177,6 +177,12 @@ cgd () { + cgdi () { + _cgd_ "$(gdi "$@")" + } ++cgi () { ++ _cgd_ "$(gi "$@")" ++} ++cgii () { ++ _cgd_ "$(gii "$@")" ++} + cdt () { + if checkcreate-tmp-owner-dir; then + cd "/tmp/$USER" diff --git a/split-patch/test/chj-home-expected/--regenerate/0135-Add-cgi-cgii/_list b/split-patch/test/chj-home-expected/--regenerate/0135-Add-cgi-cgii/_list new file mode 100644 index 0000000..5619697 --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0135-Add-cgi-cgii/_list @@ -0,0 +1 @@ +--regenerate/0135-Add-cgi-cgii/0135-Add-cgi-cgii-.bashrc.patch diff --git a/split-patch/test/chj-home-expected/--regenerate/0136-.xscreensaver-oh-that-was-bad-try-this/0136-.xscreensaver-oh-that-was-bad-try-this-.chj-home_.xscreensaver.patch b/split-patch/test/chj-home-expected/--regenerate/0136-.xscreensaver-oh-that-was-bad-try-this/0136-.xscreensaver-oh-that-was-bad-try-this-.chj-home_.xscreensaver.patch new file mode 100644 index 0000000..78fb3d6 --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0136-.xscreensaver-oh-that-was-bad-try-this/0136-.xscreensaver-oh-that-was-bad-try-this-.chj-home_.xscreensaver.patch @@ -0,0 +1,40 @@ +From d8760c367dd1ab97728d917bfe8791050e9e011e Mon Sep 17 00:00:00 2001 +From: "Christian Jaeger (dull)" +Date: Sat, 20 Nov 2021 02:39:58 +0000 +Subject: .chj-home/.xscreensaver: [PATCH 136/191] .xscreensaver: oh, that was bad, try this + +Also reduced cycle time so there will be a 3rd saver more +consistently. +--- + .chj-home/.xscreensaver | 10 +++++----- + 1 file changed, 5 insertions(+), 5 deletions(-) + +diff --git a/.chj-home/.xscreensaver b/.chj-home/.xscreensaver +index 3b49f89..2495a72 100644 +--- a/.chj-home/.xscreensaver ++++ b/.chj-home/.xscreensaver +@@ -1,9 +1,9 @@ + # XScreenSaver Preferences File +-# Written by xscreensaver-demo 5.45 for chris on Fri Nov 19 17:17:27 2021. ++# Written by xscreensaver-demo 5.45 for chris on Sat Nov 20 02:39:15 2021. + # https://www.jwz.org/xscreensaver/ + + timeout: 0:10:00 +-cycle: 0:10:00 ++cycle: 0:09:00 + lock: True + lockTimeout: 0:01:00 + passwdTimeout: 0:00:30 +@@ -26,9 +26,9 @@ ignoreUninstalledPrograms:False + font: *-medium-r-*-140-*-m-* + dpmsEnabled: True + dpmsQuickOff: False +-dpmsStandby: 0:01:00 +-dpmsSuspend: 0:01:00 +-dpmsOff: 0:01:00 ++dpmsStandby: 0:20:00 ++dpmsSuspend: 0:20:00 ++dpmsOff: 0:20:00 + grabDesktopImages: False + grabVideoFrames: False + chooseRandomImages: False diff --git a/split-patch/test/chj-home-expected/--regenerate/0136-.xscreensaver-oh-that-was-bad-try-this/_list b/split-patch/test/chj-home-expected/--regenerate/0136-.xscreensaver-oh-that-was-bad-try-this/_list new file mode 100644 index 0000000..1991673 --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0136-.xscreensaver-oh-that-was-bad-try-this/_list @@ -0,0 +1 @@ +--regenerate/0136-.xscreensaver-oh-that-was-bad-try-this/0136-.xscreensaver-oh-that-was-bad-try-this-.chj-home_.xscreensaver.patch diff --git a/split-patch/test/chj-home-expected/--regenerate/0137-.xscreensaver-more-trying-to-get-it-to-turn-off/0137-.xscreensaver-more-trying-to-get-it-to-turn-off-.chj-home_.xscreensaver.patch b/split-patch/test/chj-home-expected/--regenerate/0137-.xscreensaver-more-trying-to-get-it-to-turn-off/0137-.xscreensaver-more-trying-to-get-it-to-turn-off-.chj-home_.xscreensaver.patch new file mode 100644 index 0000000..218555b --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0137-.xscreensaver-more-trying-to-get-it-to-turn-off/0137-.xscreensaver-more-trying-to-get-it-to-turn-off-.chj-home_.xscreensaver.patch @@ -0,0 +1,33 @@ +From 7598f75f9bd6ba80055b4f95beb139ad86ee4079 Mon Sep 17 00:00:00 2001 +From: Christian Jaeger +Date: Thu, 25 Nov 2021 11:20:10 +0000 +Subject: .chj-home/.xscreensaver: [PATCH 137/191] .xscreensaver: more trying to get it to turn off + +Why did that work in the past (did it?) and now it doesn't, and this +thing is buggy as . +--- + .chj-home/.xscreensaver | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/.chj-home/.xscreensaver b/.chj-home/.xscreensaver +index 2495a72..1e0c9c8 100644 +--- a/.chj-home/.xscreensaver ++++ b/.chj-home/.xscreensaver +@@ -1,5 +1,5 @@ + # XScreenSaver Preferences File +-# Written by xscreensaver-demo 5.45 for chris on Sat Nov 20 02:39:15 2021. ++# Written by xscreensaver-demo 5.45 for chris on Thu Nov 25 11:19:54 2021. + # https://www.jwz.org/xscreensaver/ + + timeout: 0:10:00 +@@ -27,8 +27,8 @@ font: *-medium-r-*-140-*-m-* + dpmsEnabled: True + dpmsQuickOff: False + dpmsStandby: 0:20:00 +-dpmsSuspend: 0:20:00 +-dpmsOff: 0:20:00 ++dpmsSuspend: 0:21:00 ++dpmsOff: 0:22:00 + grabDesktopImages: False + grabVideoFrames: False + chooseRandomImages: False diff --git a/split-patch/test/chj-home-expected/--regenerate/0137-.xscreensaver-more-trying-to-get-it-to-turn-off/_list b/split-patch/test/chj-home-expected/--regenerate/0137-.xscreensaver-more-trying-to-get-it-to-turn-off/_list new file mode 100644 index 0000000..92fd7d1 --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0137-.xscreensaver-more-trying-to-get-it-to-turn-off/_list @@ -0,0 +1 @@ +--regenerate/0137-.xscreensaver-more-trying-to-get-it-to-turn-off/0137-.xscreensaver-more-trying-to-get-it-to-turn-off-.chj-home_.xscreensaver.patch diff --git a/split-patch/test/chj-home-expected/--regenerate/0138-.xscreensaver-turn-off-dpms/0138-.xscreensaver-turn-off-dpms-.chj-home_.xscreensaver.patch b/split-patch/test/chj-home-expected/--regenerate/0138-.xscreensaver-turn-off-dpms/0138-.xscreensaver-turn-off-dpms-.chj-home_.xscreensaver.patch new file mode 100644 index 0000000..1b5e9aa --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0138-.xscreensaver-turn-off-dpms/0138-.xscreensaver-turn-off-dpms-.chj-home_.xscreensaver.patch @@ -0,0 +1,29 @@ +From 5d40a923f4a9622d316d7e66a371eae6e405a09c Mon Sep 17 00:00:00 2001 +From: Christian Jaeger +Date: Sat, 27 Nov 2021 03:04:27 +0000 +Subject: .chj-home/.xscreensaver: [PATCH 138/191] .xscreensaver: turn off dpms + +--- + .chj-home/.xscreensaver | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/.chj-home/.xscreensaver b/.chj-home/.xscreensaver +index 1e0c9c8..4ed1365 100644 +--- a/.chj-home/.xscreensaver ++++ b/.chj-home/.xscreensaver +@@ -1,5 +1,5 @@ + # XScreenSaver Preferences File +-# Written by xscreensaver-demo 5.45 for chris on Thu Nov 25 11:19:54 2021. ++# Written by xscreensaver-demo 5.45 for chris on Sat Nov 27 03:04:22 2021. + # https://www.jwz.org/xscreensaver/ + + timeout: 0:10:00 +@@ -24,7 +24,7 @@ fadeTicks: 20 + captureStderr: True + ignoreUninstalledPrograms:False + font: *-medium-r-*-140-*-m-* +-dpmsEnabled: True ++dpmsEnabled: False + dpmsQuickOff: False + dpmsStandby: 0:20:00 + dpmsSuspend: 0:21:00 diff --git a/split-patch/test/chj-home-expected/--regenerate/0138-.xscreensaver-turn-off-dpms/_list b/split-patch/test/chj-home-expected/--regenerate/0138-.xscreensaver-turn-off-dpms/_list new file mode 100644 index 0000000..c59cdcf --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0138-.xscreensaver-turn-off-dpms/_list @@ -0,0 +1 @@ +--regenerate/0138-.xscreensaver-turn-off-dpms/0138-.xscreensaver-turn-off-dpms-.chj-home_.xscreensaver.patch diff --git a/split-patch/test/chj-home-expected/--regenerate/0139-.xscreensaver-blank-only/0139-.xscreensaver-blank-only-.chj-home_.xscreensaver.patch b/split-patch/test/chj-home-expected/--regenerate/0139-.xscreensaver-blank-only/0139-.xscreensaver-blank-only-.chj-home_.xscreensaver.patch new file mode 100644 index 0000000..3c802b7 --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0139-.xscreensaver-blank-only/0139-.xscreensaver-blank-only-.chj-home_.xscreensaver.patch @@ -0,0 +1,33 @@ +From 3167633ffd1a9f58ae867e34de51bf131f1ca28f Mon Sep 17 00:00:00 2001 +From: Christian Jaeger +Date: Sat, 27 Nov 2021 04:54:37 +0000 +Subject: .chj-home/.xscreensaver: [PATCH 139/191] .xscreensaver: blank only + +A pity, but I've got enough from the power usage and ventilator use, +it would just not turn off. +--- + .chj-home/.xscreensaver | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/.chj-home/.xscreensaver b/.chj-home/.xscreensaver +index 4ed1365..658f7b8 100644 +--- a/.chj-home/.xscreensaver ++++ b/.chj-home/.xscreensaver +@@ -1,5 +1,5 @@ + # XScreenSaver Preferences File +-# Written by xscreensaver-demo 5.45 for chris on Sat Nov 27 03:04:22 2021. ++# Written by xscreensaver-demo 5.45 for chris on Sat Nov 27 04:54:28 2021. + # https://www.jwz.org/xscreensaver/ + + timeout: 0:10:00 +@@ -34,8 +34,8 @@ grabVideoFrames: False + chooseRandomImages: False + imageDirectory: + +-mode: random +-selected: -1 ++mode: blank ++selected: 227 + + textMode: program + textLiteral: XScreenSaver diff --git a/split-patch/test/chj-home-expected/--regenerate/0139-.xscreensaver-blank-only/_list b/split-patch/test/chj-home-expected/--regenerate/0139-.xscreensaver-blank-only/_list new file mode 100644 index 0000000..117a8ef --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0139-.xscreensaver-blank-only/_list @@ -0,0 +1 @@ +--regenerate/0139-.xscreensaver-blank-only/0139-.xscreensaver-blank-only-.chj-home_.xscreensaver.patch diff --git a/split-patch/test/chj-home-expected/--regenerate/0140-Add-a-default-.gdbinit/0140-Add-a-default-.gdbinit-.chj-home_.gdbinit.patch b/split-patch/test/chj-home-expected/--regenerate/0140-Add-a-default-.gdbinit/0140-Add-a-default-.gdbinit-.chj-home_.gdbinit.patch new file mode 100644 index 0000000..82517fc --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0140-Add-a-default-.gdbinit/0140-Add-a-default-.gdbinit-.chj-home_.gdbinit.patch @@ -0,0 +1,29 @@ +From 66f78b3c564603e7a008a5d515ee89cb13c5d445 Mon Sep 17 00:00:00 2001 +From: Christian Jaeger +Date: Sat, 4 Dec 2021 02:47:00 +0000 +Subject: .chj-home/.gdbinit: [PATCH 140/191] Add a default .gdbinit + +--- + .chj-home/.gdbinit | 12 ++++++++++++ + .chj-home/init | 13 +++++++------ + 2 files changed, 19 insertions(+), 6 deletions(-) + create mode 100644 .chj-home/.gdbinit + +diff --git a/.chj-home/.gdbinit b/.chj-home/.gdbinit +new file mode 100644 +index 0000000..f5f37dd +--- /dev/null ++++ b/.chj-home/.gdbinit +@@ -0,0 +1,12 @@ ++ ++# History saving: ++# enable: ++set history save on ++# check the last n entries for duplicates: ++set remove-duplicates 6 ++# to always save it in the home dir: ++#set history filename ~/.gdb_history ++# to set the history size: ++# Note, gdb also checks the HISTSIZE env var! ++set history size 5000 ++ diff --git a/split-patch/test/chj-home-expected/--regenerate/0140-Add-a-default-.gdbinit/0140-Add-a-default-.gdbinit-.chj-home_init.patch b/split-patch/test/chj-home-expected/--regenerate/0140-Add-a-default-.gdbinit/0140-Add-a-default-.gdbinit-.chj-home_init.patch new file mode 100644 index 0000000..9831330 --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0140-Add-a-default-.gdbinit/0140-Add-a-default-.gdbinit-.chj-home_init.patch @@ -0,0 +1,35 @@ +From 66f78b3c564603e7a008a5d515ee89cb13c5d445 Mon Sep 17 00:00:00 2001 +From: Christian Jaeger +Date: Sat, 4 Dec 2021 02:47:00 +0000 +Subject: .chj-home/init: [PATCH 140/191] Add a default .gdbinit + +--- + .chj-home/.gdbinit | 12 ++++++++++++ + .chj-home/init | 13 +++++++------ + 2 files changed, 19 insertions(+), 6 deletions(-) + create mode 100644 .chj-home/.gdbinit + +diff --git a/.chj-home/init b/.chj-home/init +index 18d8f75..ae1eaec 100755 +--- a/.chj-home/init ++++ b/.chj-home/init +@@ -28,12 +28,13 @@ for d in . Pictures/ Documents/ Downloads/ Desktop/ Music/ Templates/ Videos/; d + fi + done + +- +-if [ -e .xscreensaver ]; then +- echo "File .xscreensaver already exists, not touching it." +-else +- cp .chj-home/.xscreensaver . +-fi ++for file in .xscreensaver .gdbinit; do ++ if [ -e "$file" ]; then ++ echo "File $file already exists, not touching it." ++ else ++ cp ".chj-home/$file" . ++ fi ++done + + cancel() { + echo "$0: cancelled due to missing answer." diff --git a/split-patch/test/chj-home-expected/--regenerate/0140-Add-a-default-.gdbinit/_list b/split-patch/test/chj-home-expected/--regenerate/0140-Add-a-default-.gdbinit/_list new file mode 100644 index 0000000..ad0b9eb --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0140-Add-a-default-.gdbinit/_list @@ -0,0 +1,2 @@ +--regenerate/0140-Add-a-default-.gdbinit/0140-Add-a-default-.gdbinit-.chj-home_.gdbinit.patch +--regenerate/0140-Add-a-default-.gdbinit/0140-Add-a-default-.gdbinit-.chj-home_init.patch diff --git a/split-patch/test/chj-home-expected/--regenerate/0141-Set-BROWSER-to-firefox-by-default/0141-Set-BROWSER-to-firefox-by-default-.chj-home_init.patch b/split-patch/test/chj-home-expected/--regenerate/0141-Set-BROWSER-to-firefox-by-default/0141-Set-BROWSER-to-firefox-by-default-.chj-home_init.patch new file mode 100644 index 0000000..2c30a11 --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0141-Set-BROWSER-to-firefox-by-default/0141-Set-BROWSER-to-firefox-by-default-.chj-home_init.patch @@ -0,0 +1,22 @@ +From 931581e9968457880b398f8b53acffc610c7b323 Mon Sep 17 00:00:00 2001 +From: Christian Jaeger +Date: Wed, 15 Dec 2021 05:17:24 +0000 +Subject: .chj-home/init: [PATCH 141/191] Set BROWSER to firefox by default + +--- + .chj-home/init | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/.chj-home/init b/.chj-home/init +index ae1eaec..062517e 100755 +--- a/.chj-home/init ++++ b/.chj-home/init +@@ -75,7 +75,7 @@ if [ -e .bash_profile_local ]; then + fi + cat <<'EOF' > .bash_profile_local + export EDITOR=e +-export BROWSER="chromium-chrissbx -- --new-window" ++export BROWSER="firefox --new-window" + export EMAIL=$(cat ~/.chj-home_email) + export LANG=en_GB.UTF-8 + EOF diff --git a/split-patch/test/chj-home-expected/--regenerate/0141-Set-BROWSER-to-firefox-by-default/_list b/split-patch/test/chj-home-expected/--regenerate/0141-Set-BROWSER-to-firefox-by-default/_list new file mode 100644 index 0000000..1128130 --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0141-Set-BROWSER-to-firefox-by-default/_list @@ -0,0 +1 @@ +--regenerate/0141-Set-BROWSER-to-firefox-by-default/0141-Set-BROWSER-to-firefox-by-default-.chj-home_init.patch diff --git a/split-patch/test/chj-home-expected/--regenerate/0142-.bashrc-remove-j-again-not-using-it/0142-.bashrc-remove-j-again-not-using-it-.bashrc.patch b/split-patch/test/chj-home-expected/--regenerate/0142-.bashrc-remove-j-again-not-using-it/0142-.bashrc-remove-j-again-not-using-it-.bashrc.patch new file mode 100644 index 0000000..1d07b5c --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0142-.bashrc-remove-j-again-not-using-it/0142-.bashrc-remove-j-again-not-using-it-.bashrc.patch @@ -0,0 +1,26 @@ +From b1f25f6143340c89973ca253076fa29aa60187ae Mon Sep 17 00:00:00 2001 +From: Christian Jaeger +Date: Wed, 6 Apr 2022 17:18:33 +0100 +Subject: .bashrc: [PATCH 142/191] .bashrc: remove 'j' again, not using it + +--- + .bashrc | 6 ------ + 1 file changed, 6 deletions(-) + +diff --git a/.bashrc b/.bashrc +index 8665ae5..20e0237 100644 +--- a/.bashrc ++++ b/.bashrc +@@ -219,12 +219,6 @@ cj () { + cd "$1" + fi + } +-j () { +- cd ~/bookmarks/j +- if [ $# -ge 1 ]; then +- cd "$1" +- fi +-} + + find () { my.find "$@"; } + df () { my.df "$@"; } diff --git a/split-patch/test/chj-home-expected/--regenerate/0142-.bashrc-remove-j-again-not-using-it/_list b/split-patch/test/chj-home-expected/--regenerate/0142-.bashrc-remove-j-again-not-using-it/_list new file mode 100644 index 0000000..7ec620c --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0142-.bashrc-remove-j-again-not-using-it/_list @@ -0,0 +1 @@ +--regenerate/0142-.bashrc-remove-j-again-not-using-it/0142-.bashrc-remove-j-again-not-using-it-.bashrc.patch diff --git a/split-patch/test/chj-home-expected/--regenerate/0143-.bashrc-add-ce/0143-.bashrc-add-ce-.bashrc.patch b/split-patch/test/chj-home-expected/--regenerate/0143-.bashrc-add-ce/0143-.bashrc-add-ce-.bashrc.patch new file mode 100644 index 0000000..4358c78 --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0143-.bashrc-add-ce/0143-.bashrc-add-ce-.bashrc.patch @@ -0,0 +1,28 @@ +From 13bcc6cfd2571a782116adf2a57d4c9d4708209f Mon Sep 17 00:00:00 2001 +From: Christian Jaeger +Date: Wed, 6 Apr 2022 17:19:01 +0100 +Subject: .bashrc: [PATCH 143/191] .bashrc: add `ce` + +--- + .bashrc | 8 ++++++++ + 1 file changed, 8 insertions(+) + +diff --git a/.bashrc b/.bashrc +index 20e0237..bf16d20 100644 +--- a/.bashrc ++++ b/.bashrc +@@ -220,6 +220,14 @@ cj () { + fi + } + ++ce () { ++ cd ~/exchange ++ if [ $# -ge 1 ]; then ++ cd "$1" ++ fi ++} ++ ++ + find () { my.find "$@"; } + df () { my.df "$@"; } + diff --git a/split-patch/test/chj-home-expected/--regenerate/0143-.bashrc-add-ce/_list b/split-patch/test/chj-home-expected/--regenerate/0143-.bashrc-add-ce/_list new file mode 100644 index 0000000..d39e48b --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0143-.bashrc-add-ce/_list @@ -0,0 +1 @@ +--regenerate/0143-.bashrc-add-ce/0143-.bashrc-add-ce-.bashrc.patch diff --git a/split-patch/test/chj-home-expected/--regenerate/0144-.bashrc-add-cdnn-cdnnn/0144-.bashrc-add-cdnn-cdnnn-.bashrc.patch b/split-patch/test/chj-home-expected/--regenerate/0144-.bashrc-add-cdnn-cdnnn/0144-.bashrc-add-cdnn-cdnnn-.bashrc.patch new file mode 100644 index 0000000..c34a766 --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0144-.bashrc-add-cdnn-cdnnn/0144-.bashrc-add-cdnn-cdnnn-.bashrc.patch @@ -0,0 +1,41 @@ +From 510fe534d8bec57fb2ebeb76c86b89b6b6336aa0 Mon Sep 17 00:00:00 2001 +From: Christian Jaeger +Date: Sun, 22 May 2022 22:14:07 +0100 +Subject: .bashrc: [PATCH 144/191] .bashrc: add cdnn, cdnnn + +Great?! +--- + .bashrc | 20 ++++++++++++++++++++ + 1 file changed, 20 insertions(+) + +diff --git a/.bashrc b/.bashrc +index bf16d20..3c24abd 100644 +--- a/.bashrc ++++ b/.bashrc +@@ -156,6 +156,26 @@ cdn () { + cdnewdir "$@" + fi + } ++cdnn () { ++ if [ $# -eq 0 ]; then ++ cd_newest ++ cd_newest ++ else ++ cd_newest ++ cdnewdir "$@" ++ fi ++} ++cdnnn () { ++ if [ $# -eq 0 ]; then ++ cd_newest ++ cd_newest ++ cd_newest ++ else ++ cd_newest ++ cd_newest ++ cdnewdir "$@" ++ fi ++} + _cgd_ () { + local res=$1 + # I forgot how to do this with builtins: diff --git a/split-patch/test/chj-home-expected/--regenerate/0144-.bashrc-add-cdnn-cdnnn/_list b/split-patch/test/chj-home-expected/--regenerate/0144-.bashrc-add-cdnn-cdnnn/_list new file mode 100644 index 0000000..246f627 --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0144-.bashrc-add-cdnn-cdnnn/_list @@ -0,0 +1 @@ +--regenerate/0144-.bashrc-add-cdnn-cdnnn/0144-.bashrc-add-cdnn-cdnnn-.bashrc.patch diff --git a/split-patch/test/chj-home-expected/--regenerate/0145-Change-background-color-for-errors-to-bright-yellow/0145-Change-background-color-for-errors-to-bright-yellow-.bashrc.patch b/split-patch/test/chj-home-expected/--regenerate/0145-Change-background-color-for-errors-to-bright-yellow/0145-Change-background-color-for-errors-to-bright-yellow-.bashrc.patch new file mode 100644 index 0000000..03b76c4 --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0145-Change-background-color-for-errors-to-bright-yellow/0145-Change-background-color-for-errors-to-bright-yellow-.bashrc.patch @@ -0,0 +1,26 @@ +From e002292745e8686c0b3de6e7941f673320237425 Mon Sep 17 00:00:00 2001 +From: Christian Jaeger +Date: Sat, 25 Jun 2022 13:32:56 +0100 +Subject: .bashrc: [PATCH 145/191] Change background color for errors to bright yellow + +From dark red. + +https://misc.flogisoft.com/bash/tip_colors_and_formatting +bash tip_colors_and_formatting - FLOZz' MISC.html +--- + .bashrc | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/.bashrc b/.bashrc +index 3c24abd..2bc0707 100644 +--- a/.bashrc ++++ b/.bashrc +@@ -23,7 +23,7 @@ __ps1_show_exitcode () { + # and for this have to use \001 \002 over \[ \] . + # (Also see https://mywiki.wooledge.org/BashFAQ/053 .) + if [ "$exitcode" -ne 0 ]; then +- echo -ne '\001\033[01;41m\002' ++ echo -ne '\001\033[01;103m\002' + printf '%3d' "$exitcode" + echo -ne '\001\033[00m\002' + echo -n ' ' diff --git a/split-patch/test/chj-home-expected/--regenerate/0145-Change-background-color-for-errors-to-bright-yellow/_list b/split-patch/test/chj-home-expected/--regenerate/0145-Change-background-color-for-errors-to-bright-yellow/_list new file mode 100644 index 0000000..0155aa7 --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0145-Change-background-color-for-errors-to-bright-yellow/_list @@ -0,0 +1 @@ +--regenerate/0145-Change-background-color-for-errors-to-bright-yellow/0145-Change-background-color-for-errors-to-bright-yellow-.bashrc.patch diff --git a/split-patch/test/chj-home-expected/--regenerate/0146-Background-orange/0146-Background-orange-.bashrc.patch b/split-patch/test/chj-home-expected/--regenerate/0146-Background-orange/0146-Background-orange-.bashrc.patch new file mode 100644 index 0000000..1fd08f6 --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0146-Background-orange/0146-Background-orange-.bashrc.patch @@ -0,0 +1,23 @@ +From 255288fc56a12e57a8fe4df6450b4049fec02134 Mon Sep 17 00:00:00 2001 +From: Christian Jaeger +Date: Sat, 25 Jun 2022 13:37:34 +0100 +Subject: .bashrc: [PATCH 146/191] Background orange + +But it's not very bright, and there's no better shade (?). +--- + .bashrc | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/.bashrc b/.bashrc +index 2bc0707..bc9cc69 100644 +--- a/.bashrc ++++ b/.bashrc +@@ -23,7 +23,7 @@ __ps1_show_exitcode () { + # and for this have to use \001 \002 over \[ \] . + # (Also see https://mywiki.wooledge.org/BashFAQ/053 .) + if [ "$exitcode" -ne 0 ]; then +- echo -ne '\001\033[01;103m\002' ++ echo -ne '\001\033[01;48;5;208m\002' + printf '%3d' "$exitcode" + echo -ne '\001\033[00m\002' + echo -n ' ' diff --git a/split-patch/test/chj-home-expected/--regenerate/0146-Background-orange/_list b/split-patch/test/chj-home-expected/--regenerate/0146-Background-orange/_list new file mode 100644 index 0000000..0290022 --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0146-Background-orange/_list @@ -0,0 +1 @@ +--regenerate/0146-Background-orange/0146-Background-orange-.bashrc.patch diff --git a/split-patch/test/chj-home-expected/--regenerate/0147-Revert-Background-orange/0147-Revert-Background-orange-.bashrc.patch b/split-patch/test/chj-home-expected/--regenerate/0147-Revert-Background-orange/0147-Revert-Background-orange-.bashrc.patch new file mode 100644 index 0000000..e602dd3 --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0147-Revert-Background-orange/0147-Revert-Background-orange-.bashrc.patch @@ -0,0 +1,23 @@ +From 28d9fc85135b330ba37b3d9b5d53f1e4168cba4b Mon Sep 17 00:00:00 2001 +From: Christian Jaeger +Date: Sat, 25 Jun 2022 13:37:57 +0100 +Subject: .bashrc: [PATCH 147/191] Revert "Background orange" + +This reverts commit 255288fc56a12e57a8fe4df6450b4049fec02134. +--- + .bashrc | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/.bashrc b/.bashrc +index bc9cc69..2bc0707 100644 +--- a/.bashrc ++++ b/.bashrc +@@ -23,7 +23,7 @@ __ps1_show_exitcode () { + # and for this have to use \001 \002 over \[ \] . + # (Also see https://mywiki.wooledge.org/BashFAQ/053 .) + if [ "$exitcode" -ne 0 ]; then +- echo -ne '\001\033[01;48;5;208m\002' ++ echo -ne '\001\033[01;103m\002' + printf '%3d' "$exitcode" + echo -ne '\001\033[00m\002' + echo -n ' ' diff --git a/split-patch/test/chj-home-expected/--regenerate/0147-Revert-Background-orange/_list b/split-patch/test/chj-home-expected/--regenerate/0147-Revert-Background-orange/_list new file mode 100644 index 0000000..3fe6e89 --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0147-Revert-Background-orange/_list @@ -0,0 +1 @@ +--regenerate/0147-Revert-Background-orange/0147-Revert-Background-orange-.bashrc.patch diff --git a/split-patch/test/chj-home-expected/--regenerate/0148-Change-background-back-to-red/0148-Change-background-back-to-red-.bashrc.patch b/split-patch/test/chj-home-expected/--regenerate/0148-Change-background-back-to-red/0148-Change-background-back-to-red-.bashrc.patch new file mode 100644 index 0000000..d3fcf46 --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0148-Change-background-back-to-red/0148-Change-background-back-to-red-.bashrc.patch @@ -0,0 +1,22 @@ +From 957e292b84b3e061c5c63ab2d936ea6bc02f8cea Mon Sep 17 00:00:00 2001 +From: Christian Jaeger +Date: Sat, 25 Jun 2022 13:42:58 +0100 +Subject: .bashrc: [PATCH 148/191] Change background back to red + +--- + .bashrc | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/.bashrc b/.bashrc +index 2bc0707..3c24abd 100644 +--- a/.bashrc ++++ b/.bashrc +@@ -23,7 +23,7 @@ __ps1_show_exitcode () { + # and for this have to use \001 \002 over \[ \] . + # (Also see https://mywiki.wooledge.org/BashFAQ/053 .) + if [ "$exitcode" -ne 0 ]; then +- echo -ne '\001\033[01;103m\002' ++ echo -ne '\001\033[01;41m\002' + printf '%3d' "$exitcode" + echo -ne '\001\033[00m\002' + echo -n ' ' diff --git a/split-patch/test/chj-home-expected/--regenerate/0148-Change-background-back-to-red/_list b/split-patch/test/chj-home-expected/--regenerate/0148-Change-background-back-to-red/_list new file mode 100644 index 0000000..b133fd1 --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0148-Change-background-back-to-red/_list @@ -0,0 +1 @@ +--regenerate/0148-Change-background-back-to-red/0148-Change-background-back-to-red-.bashrc.patch diff --git a/split-patch/test/chj-home-expected/--regenerate/0149-.bashrc-wg-is-also-provided-by-wireguard-now/0149-.bashrc-wg-is-also-provided-by-wireguard-now-.bashrc.patch b/split-patch/test/chj-home-expected/--regenerate/0149-.bashrc-wg-is-also-provided-by-wireguard-now/0149-.bashrc-wg-is-also-provided-by-wireguard-now-.bashrc.patch new file mode 100644 index 0000000..babab1a --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0149-.bashrc-wg-is-also-provided-by-wireguard-now/0149-.bashrc-wg-is-also-provided-by-wireguard-now-.bashrc.patch @@ -0,0 +1,21 @@ +From 018d238a20b9d4f22c4223750e608d1c9546fb5d Mon Sep 17 00:00:00 2001 +From: Christian Jaeger +Date: Sun, 26 Jun 2022 22:27:21 +0100 +Subject: .bashrc: [PATCH 149/191] .bashrc: wg is also provided by wireguard, now + +--- + .bashrc | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/.bashrc b/.bashrc +index 3c24abd..958c475 100644 +--- a/.bashrc ++++ b/.bashrc +@@ -313,6 +313,7 @@ open () { /opt/chj/bin/open "$@"; } + suxterm () { /opt/chj/bin/suxterm "$@"; } + pdftotext () { /opt/chj/bin/pdftotext "$@"; } + gv () { /opt/chj/bin/gv "$@"; } ++wg () { /opt/chj/bin/wg "$@"; } + + + # --- End ------------------------------------- diff --git a/split-patch/test/chj-home-expected/--regenerate/0149-.bashrc-wg-is-also-provided-by-wireguard-now/_list b/split-patch/test/chj-home-expected/--regenerate/0149-.bashrc-wg-is-also-provided-by-wireguard-now/_list new file mode 100644 index 0000000..5af7dc7 --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0149-.bashrc-wg-is-also-provided-by-wireguard-now/_list @@ -0,0 +1 @@ +--regenerate/0149-.bashrc-wg-is-also-provided-by-wireguard-now/0149-.bashrc-wg-is-also-provided-by-wireguard-now-.bashrc.patch diff --git a/split-patch/test/chj-home-expected/--regenerate/0150-.bashrc-replace-ad-hoc-code-with-lastdir/0150-.bashrc-replace-ad-hoc-code-with-lastdir-.bashrc.patch b/split-patch/test/chj-home-expected/--regenerate/0150-.bashrc-replace-ad-hoc-code-with-lastdir/0150-.bashrc-replace-ad-hoc-code-with-lastdir-.bashrc.patch new file mode 100644 index 0000000..75e2259 --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0150-.bashrc-replace-ad-hoc-code-with-lastdir/0150-.bashrc-replace-ad-hoc-code-with-lastdir-.bashrc.patch @@ -0,0 +1,26 @@ +From 541f797fe757591322971a77e7bbe3c2d921c460 Mon Sep 17 00:00:00 2001 +From: Christian Jaeger +Date: Wed, 20 Jul 2022 00:45:12 +0100 +Subject: .bashrc: [PATCH 150/191] .bashrc: replace ad-hoc code with lastdir + +Man, was the duplication in xlastdir not enough? +--- + .bashrc | 5 +---- + 1 file changed, 1 insertion(+), 4 deletions(-) + +diff --git a/.bashrc b/.bashrc +index 958c475..838dd21 100644 +--- a/.bashrc ++++ b/.bashrc +@@ -138,10 +138,7 @@ mvcd () { + fi + } + _ls_newest () { +- find "$1" -maxdepth 1 -type d -print0 | \ +- grep -P -zZ -v '^\.\.?(/\.git)?$' | \ +- xargs -0 -s 129023 -n 129023 --exit --no-run-if-empty ls -dt | +- head -1 ++ lastdir --full -a -- "$@" + } + cd_newest_sisterfolder () { + cd "$(_ls_newest ..)$" diff --git a/split-patch/test/chj-home-expected/--regenerate/0150-.bashrc-replace-ad-hoc-code-with-lastdir/_list b/split-patch/test/chj-home-expected/--regenerate/0150-.bashrc-replace-ad-hoc-code-with-lastdir/_list new file mode 100644 index 0000000..ee07748 --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0150-.bashrc-replace-ad-hoc-code-with-lastdir/_list @@ -0,0 +1 @@ +--regenerate/0150-.bashrc-replace-ad-hoc-code-with-lastdir/0150-.bashrc-replace-ad-hoc-code-with-lastdir-.bashrc.patch diff --git a/split-patch/test/chj-home-expected/--regenerate/0151-.bashrc-cgd-accept-index-argument/0151-.bashrc-cgd-accept-index-argument-.bashrc.patch b/split-patch/test/chj-home-expected/--regenerate/0151-.bashrc-cgd-accept-index-argument/0151-.bashrc-cgd-accept-index-argument-.bashrc.patch new file mode 100644 index 0000000..d3b9640 --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0151-.bashrc-cgd-accept-index-argument/0151-.bashrc-cgd-accept-index-argument-.bashrc.patch @@ -0,0 +1,98 @@ +From d6a7f736b21577f4a3164f161884b0af5ab54810 Mon Sep 17 00:00:00 2001 +From: Christian Jaeger +Date: Sun, 24 Jul 2022 13:14:18 +0100 +Subject: .bashrc: [PATCH 151/191] .bashrc: cgd*: accept index argument + +--- + .bashrc | 61 +++++++++++++++++++++++++++++++++++++++++++++++---------- + 1 file changed, 51 insertions(+), 10 deletions(-) + +diff --git a/.bashrc b/.bashrc +index 838dd21..86ef3ee 100644 +--- a/.bashrc ++++ b/.bashrc +@@ -173,33 +173,74 @@ cdnnn () { + cdnewdir "$@" + fi + } ++ + _cgd_ () { +- local res=$1 +- # I forgot how to do this with builtins: ++ local gd_="$1" ++ shift ++ if [ $# = 0 ]; then ++ echo "Please give name-regex (and optionally index into result list)" >&2 ++ return 1 ++ fi ++ local last="${@:$#:1}" ++ local index="" ++ local args ++ declare -a args ++ if printf '%s' "$last" | egrep -q '^[0-9]+$'; then ++ index="$last" ++ args=("${@:1:$(( $# - 1 ))}") ++ else ++ args=("$@") ++ fi ++ local res ++ if ! res="$("$gd_" "${args[@]}")"; then ++ return 1 ++ fi ++ # (XX do these with builtins?) + if [ -n "$res" ]; then +- if [ "$(printf '%s' "$res" | wc -l)" -eq 0 ]; then ++ local len ++ len0="$(printf '%s' "$res" | wc -l)" ++ if [ "$len0" -eq 0 ]; then + cd "$res" + else +- printf '*** Need exactly one result, found:\n%s\n' "$res" +- false ++ if [ -n "$index" ]; then ++ if [ "$index" -le "$len0" ]; then ++ local item ++ if ! item="$(printf "%s" "$res" | skiplines "$index")"; then ++ return 1 ++ fi ++ if ! item="$(printf "%s" "$item" | head -1)"; then ++ return 1 ++ fi ++ cd "$item" ++ else ++ echo "Index is pointing behind last item" >&2 ++ false ++ fi ++ else ++ local numbered ++ numbered=$(printf '%s' "$res" | linenumbers) ++ printf '*** More than one result, please give index:\n%s\n' "$numbered" >&2 ++ false ++ fi + fi + else +- echo "Nothing found." ++ echo "Nothing found." >&2 + false + fi + } + cgd () { +- _cgd_ "$(gd "$@")" ++ _cgd_ gd "$@" + } + cgdi () { +- _cgd_ "$(gdi "$@")" ++ _cgd_ gdi "$@" + } + cgi () { +- _cgd_ "$(gi "$@")" ++ _cgd_ gi "$@" + } + cgii () { +- _cgd_ "$(gii "$@")" ++ _cgd_ gii "$@" + } ++ + cdt () { + if checkcreate-tmp-owner-dir; then + cd "/tmp/$USER" diff --git a/split-patch/test/chj-home-expected/--regenerate/0151-.bashrc-cgd-accept-index-argument/_list b/split-patch/test/chj-home-expected/--regenerate/0151-.bashrc-cgd-accept-index-argument/_list new file mode 100644 index 0000000..46700d8 --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0151-.bashrc-cgd-accept-index-argument/_list @@ -0,0 +1 @@ +--regenerate/0151-.bashrc-cgd-accept-index-argument/0151-.bashrc-cgd-accept-index-argument-.bashrc.patch diff --git a/split-patch/test/chj-home-expected/--regenerate/0152-.bashrc-cgd-fix-do-not-treat-a-lone-number-as-index/0152-.bashrc-cgd-fix-do-not-treat-a-lone-number-as-index-.bashrc.patch b/split-patch/test/chj-home-expected/--regenerate/0152-.bashrc-cgd-fix-do-not-treat-a-lone-number-as-index/0152-.bashrc-cgd-fix-do-not-treat-a-lone-number-as-index-.bashrc.patch new file mode 100644 index 0000000..57f69b0 --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0152-.bashrc-cgd-fix-do-not-treat-a-lone-number-as-index/0152-.bashrc-cgd-fix-do-not-treat-a-lone-number-as-index-.bashrc.patch @@ -0,0 +1,23 @@ +From 534bf89796442297ac50369aea24dfcf886b3717 Mon Sep 17 00:00:00 2001 +From: Christian Jaeger +Date: Tue, 9 Aug 2022 00:17:13 +0100 +Subject: .bashrc: [PATCH 152/191] .bashrc: cgd*: fix: do not treat a lone number as + index + +--- + .bashrc | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/.bashrc b/.bashrc +index 86ef3ee..dd2ae2d 100644 +--- a/.bashrc ++++ b/.bashrc +@@ -185,7 +185,7 @@ _cgd_ () { + local index="" + local args + declare -a args +- if printf '%s' "$last" | egrep -q '^[0-9]+$'; then ++ if [ $# -gt 1 ] && { printf '%s' "$last" | egrep -q '^[0-9]+$'; }; then + index="$last" + args=("${@:1:$(( $# - 1 ))}") + else diff --git a/split-patch/test/chj-home-expected/--regenerate/0152-.bashrc-cgd-fix-do-not-treat-a-lone-number-as-index/_list b/split-patch/test/chj-home-expected/--regenerate/0152-.bashrc-cgd-fix-do-not-treat-a-lone-number-as-index/_list new file mode 100644 index 0000000..ec018a0 --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0152-.bashrc-cgd-fix-do-not-treat-a-lone-number-as-index/_list @@ -0,0 +1 @@ +--regenerate/0152-.bashrc-cgd-fix-do-not-treat-a-lone-number-as-index/0152-.bashrc-cgd-fix-do-not-treat-a-lone-number-as-index-.bashrc.patch diff --git a/split-patch/test/chj-home-expected/--regenerate/0153-.bashrc-add-ct/0153-.bashrc-add-ct-.bashrc.patch b/split-patch/test/chj-home-expected/--regenerate/0153-.bashrc-add-ct/0153-.bashrc-add-ct-.bashrc.patch new file mode 100644 index 0000000..33c16f0 --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0153-.bashrc-add-ct/0153-.bashrc-add-ct-.bashrc.patch @@ -0,0 +1,27 @@ +From d05820f23f1541a72a59f0cb573d60b2f1637182 Mon Sep 17 00:00:00 2001 +From: Christian Jaeger +Date: Fri, 12 Aug 2022 15:13:22 +0100 +Subject: .bashrc: [PATCH 153/191] .bashrc: add `ct` + +--- + .bashrc | 7 +++++++ + 1 file changed, 7 insertions(+) + +diff --git a/.bashrc b/.bashrc +index dd2ae2d..5edf97b 100644 +--- a/.bashrc ++++ b/.bashrc +@@ -285,6 +285,13 @@ ce () { + fi + } + ++ct () { ++ cd ~/todo ++ if [ $# -ge 1 ]; then ++ cd "$1" ++ fi ++} ++ + + find () { my.find "$@"; } + df () { my.df "$@"; } diff --git a/split-patch/test/chj-home-expected/--regenerate/0153-.bashrc-add-ct/_list b/split-patch/test/chj-home-expected/--regenerate/0153-.bashrc-add-ct/_list new file mode 100644 index 0000000..8d7f97f --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0153-.bashrc-add-ct/_list @@ -0,0 +1 @@ +--regenerate/0153-.bashrc-add-ct/0153-.bashrc-add-ct-.bashrc.patch diff --git a/split-patch/test/chj-home-expected/--regenerate/0154-.bashrc-update-for-lastitem-from-chj-rustbin/0154-.bashrc-update-for-lastitem-from-chj-rustbin-.bashrc.patch b/split-patch/test/chj-home-expected/--regenerate/0154-.bashrc-update-for-lastitem-from-chj-rustbin/0154-.bashrc-update-for-lastitem-from-chj-rustbin-.bashrc.patch new file mode 100644 index 0000000..ed598ee --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0154-.bashrc-update-for-lastitem-from-chj-rustbin/0154-.bashrc-update-for-lastitem-from-chj-rustbin-.bashrc.patch @@ -0,0 +1,22 @@ +From 36dc8c5445d9ac4377f3e80dba199787b549b365 Mon Sep 17 00:00:00 2001 +From: Christian Jaeger +Date: Tue, 4 Oct 2022 10:52:53 +0100 +Subject: .bashrc: [PATCH 154/191] .bashrc: update for lastitem from chj-rustbin + +--- + .bashrc | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/.bashrc b/.bashrc +index 5edf97b..d2a14cd 100644 +--- a/.bashrc ++++ b/.bashrc +@@ -138,7 +138,7 @@ mvcd () { + fi + } + _ls_newest () { +- lastdir --full -a -- "$@" ++ lastdir --fullpath -a -- "$@" + } + cd_newest_sisterfolder () { + cd "$(_ls_newest ..)$" diff --git a/split-patch/test/chj-home-expected/--regenerate/0154-.bashrc-update-for-lastitem-from-chj-rustbin/_list b/split-patch/test/chj-home-expected/--regenerate/0154-.bashrc-update-for-lastitem-from-chj-rustbin/_list new file mode 100644 index 0000000..4a586d0 --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0154-.bashrc-update-for-lastitem-from-chj-rustbin/_list @@ -0,0 +1 @@ +--regenerate/0154-.bashrc-update-for-lastitem-from-chj-rustbin/0154-.bashrc-update-for-lastitem-from-chj-rustbin-.bashrc.patch diff --git a/split-patch/test/chj-home-expected/--regenerate/0155-.Xresources-finally-make-rxvt-a-bit-larger/0155-.Xresources-finally-make-rxvt-a-bit-larger-.Xresources.patch b/split-patch/test/chj-home-expected/--regenerate/0155-.Xresources-finally-make-rxvt-a-bit-larger/0155-.Xresources-finally-make-rxvt-a-bit-larger-.Xresources.patch new file mode 100644 index 0000000..d607ae3 --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0155-.Xresources-finally-make-rxvt-a-bit-larger/0155-.Xresources-finally-make-rxvt-a-bit-larger-.Xresources.patch @@ -0,0 +1,23 @@ +From 8fda00869422b4af68a8b5fcb8d07026c46c722b Mon Sep 17 00:00:00 2001 +From: Christian Jaeger +Date: Sun, 30 Oct 2022 22:29:40 +0100 +Subject: .Xresources: [PATCH 155/191] .Xresources: *finally* make rxvt a bit larger + +So that I can see a reasonable part of file names in scratch folder. +--- + .Xresources | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/.Xresources b/.Xresources +index 43976cd..f7e47f4 100644 +--- a/.Xresources ++++ b/.Xresources +@@ -45,7 +45,7 @@ XEmacs*menubar*FontSet: -adobe-helvetica-bold-r-normal-*-12-*-*-*-*-*-*-* + + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + +-URxvt.geometry: 80x25 ++URxvt.geometry: 110x30 + + URxvt.scrollTtyOutput: False + URxvt.scrollTtyKeypress: True diff --git a/split-patch/test/chj-home-expected/--regenerate/0155-.Xresources-finally-make-rxvt-a-bit-larger/_list b/split-patch/test/chj-home-expected/--regenerate/0155-.Xresources-finally-make-rxvt-a-bit-larger/_list new file mode 100644 index 0000000..b85d041 --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0155-.Xresources-finally-make-rxvt-a-bit-larger/_list @@ -0,0 +1 @@ +--regenerate/0155-.Xresources-finally-make-rxvt-a-bit-larger/0155-.Xresources-finally-make-rxvt-a-bit-larger-.Xresources.patch diff --git a/split-patch/test/chj-home-expected/--regenerate/0156-.xmodmaprc-change-print-screen-button-back-to-Print/0156-.xmodmaprc-change-print-screen-button-back-to-Print-.xmodmaprc.patch b/split-patch/test/chj-home-expected/--regenerate/0156-.xmodmaprc-change-print-screen-button-back-to-Print/0156-.xmodmaprc-change-print-screen-button-back-to-Print-.xmodmaprc.patch new file mode 100644 index 0000000..319dfe4 --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0156-.xmodmaprc-change-print-screen-button-back-to-Print/0156-.xmodmaprc-change-print-screen-button-back-to-Print-.xmodmaprc.patch @@ -0,0 +1,22 @@ +From 10570bf9a2a538529c32fd9d57b42427d55d64ea Mon Sep 17 00:00:00 2001 +From: Christian Jaeger +Date: Thu, 17 Nov 2022 00:56:15 +0100 +Subject: .xmodmaprc: [PATCH 156/191] .xmodmaprc: change print screen button back to Print + +--- + .xmodmaprc | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/.xmodmaprc b/.xmodmaprc +index 88b6baf..b37ccb6 100644 +--- a/.xmodmaprc ++++ b/.xmodmaprc +@@ -19,7 +19,7 @@ keycode 134 = backslash brokenbar + + keycode 135 = Alt_L + +-keycode 107 = Control_R Control_R Control_R Control_R Control_R Control_R Control_R Control_R ++keycode 107 = Print + + add Control = Control_R + diff --git a/split-patch/test/chj-home-expected/--regenerate/0156-.xmodmaprc-change-print-screen-button-back-to-Print/_list b/split-patch/test/chj-home-expected/--regenerate/0156-.xmodmaprc-change-print-screen-button-back-to-Print/_list new file mode 100644 index 0000000..012cc3c --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0156-.xmodmaprc-change-print-screen-button-back-to-Print/_list @@ -0,0 +1 @@ +--regenerate/0156-.xmodmaprc-change-print-screen-button-back-to-Print/0156-.xmodmaprc-change-print-screen-button-back-to-Print-.xmodmaprc.patch diff --git a/split-patch/test/chj-home-expected/--regenerate/0157-.bash_profile-add-my-new-key-fingerprint/0157-.bash_profile-add-my-new-key-fingerprint-.bash_profile.patch b/split-patch/test/chj-home-expected/--regenerate/0157-.bash_profile-add-my-new-key-fingerprint/0157-.bash_profile-add-my-new-key-fingerprint-.bash_profile.patch new file mode 100644 index 0000000..9214b5e --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0157-.bash_profile-add-my-new-key-fingerprint/0157-.bash_profile-add-my-new-key-fingerprint-.bash_profile.patch @@ -0,0 +1,26 @@ +From efd9fe6f1c138f3cac1dc5e886ae82edd5656052 Mon Sep 17 00:00:00 2001 +From: Christian Jaeger +Date: Wed, 8 Feb 2023 07:08:20 +0100 +Subject: .bash_profile: [PATCH 157/191] .bash_profile: add my new key fingerprint + +--- + .bash_profile | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/.bash_profile b/.bash_profile +index fb1dbf4..a52d352 100644 +--- a/.bash_profile ++++ b/.bash_profile +@@ -52,9 +52,9 @@ if [ -n "${DISPLAY-}" ]; then + xset -b + fi + +-# cj's key (since you're trusting his repo already, why not also trust +-# his key?) +-export VERIFY_SIG_ACCEPT_KEYS=A54A1D7CA1F94C866AC81A1F0FA5B21104EDB072 ++# cj's keys (since you're trusting his repo already, why not also trust ++# his keys?) ++export VERIFY_SIG_ACCEPT_KEYS="A54A1D7CA1F94C866AC81A1F0FA5B21104EDB072, 7312F47D9436FBF8C3F80CF2748247966F366AE9" + + + # --- Personal env setup: ------- diff --git a/split-patch/test/chj-home-expected/--regenerate/0157-.bash_profile-add-my-new-key-fingerprint/_list b/split-patch/test/chj-home-expected/--regenerate/0157-.bash_profile-add-my-new-key-fingerprint/_list new file mode 100644 index 0000000..539362b --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0157-.bash_profile-add-my-new-key-fingerprint/_list @@ -0,0 +1 @@ +--regenerate/0157-.bash_profile-add-my-new-key-fingerprint/0157-.bash_profile-add-my-new-key-fingerprint-.bash_profile.patch diff --git a/split-patch/test/chj-home-expected/--regenerate/0158-.chj-home-init-Git-rebase-false/0158-.chj-home-init-Git-rebase-false-.chj-home_init.patch b/split-patch/test/chj-home-expected/--regenerate/0158-.chj-home-init-Git-rebase-false/0158-.chj-home-init-Git-rebase-false-.chj-home_init.patch new file mode 100644 index 0000000..4e32386 --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0158-.chj-home-init-Git-rebase-false/0158-.chj-home-init-Git-rebase-false-.chj-home_init.patch @@ -0,0 +1,23 @@ +From f59a65eedfcd6d31285a09243b301fdc9d4f0d8e Mon Sep 17 00:00:00 2001 +From: Christian Jaeger +Date: Thu, 9 Feb 2023 19:00:43 +0100 +Subject: .chj-home/init: [PATCH 158/191] .chj-home/init: Git: rebase = false + +--- + .chj-home/init | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/.chj-home/init b/.chj-home/init +index 062517e..dc61617 100755 +--- a/.chj-home/init ++++ b/.chj-home/init +@@ -107,6 +107,9 @@ cat < .gitconfig + #[push] + # default = simple + # old git can*not* deal with this ++ ++[pull] ++ rebase = false + EOF + + set +eu diff --git a/split-patch/test/chj-home-expected/--regenerate/0158-.chj-home-init-Git-rebase-false/_list b/split-patch/test/chj-home-expected/--regenerate/0158-.chj-home-init-Git-rebase-false/_list new file mode 100644 index 0000000..4974276 --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0158-.chj-home-init-Git-rebase-false/_list @@ -0,0 +1 @@ +--regenerate/0158-.chj-home-init-Git-rebase-false/0158-.chj-home-init-Git-rebase-false-.chj-home_init.patch diff --git a/split-patch/test/chj-home-expected/--regenerate/0159-.gitignore_global-C-development/0159-.gitignore_global-C-development-.gitignore_global.patch b/split-patch/test/chj-home-expected/--regenerate/0159-.gitignore_global-C-development/0159-.gitignore_global-C-development-.gitignore_global.patch new file mode 100644 index 0000000..f6196f0 --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0159-.gitignore_global-C-development/0159-.gitignore_global-C-development-.gitignore_global.patch @@ -0,0 +1,19 @@ +From 9ebcc27c2076f91587d761d742a81777f80a74b1 Mon Sep 17 00:00:00 2001 +From: Christian Jaeger +Date: Sun, 30 Apr 2023 19:20:37 +0200 +Subject: .gitignore_global: [PATCH 159/191] .gitignore_global: C development + +--- + .gitignore_global | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/.gitignore_global b/.gitignore_global +index f9ad950..6b3c6fe 100644 +--- a/.gitignore_global ++++ b/.gitignore_global +@@ -3,3 +3,5 @@ + *.xhtml + nohup.out + .markdownmake.lck ++.gdb_history ++a.out diff --git a/split-patch/test/chj-home-expected/--regenerate/0159-.gitignore_global-C-development/_list b/split-patch/test/chj-home-expected/--regenerate/0159-.gitignore_global-C-development/_list new file mode 100644 index 0000000..4480251 --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0159-.gitignore_global-C-development/_list @@ -0,0 +1 @@ +--regenerate/0159-.gitignore_global-C-development/0159-.gitignore_global-C-development-.gitignore_global.patch diff --git a/split-patch/test/chj-home-expected/--regenerate/0160-.bashrc-update-wg-alias/0160-.bashrc-update-wg-alias-.bashrc.patch b/split-patch/test/chj-home-expected/--regenerate/0160-.bashrc-update-wg-alias/0160-.bashrc-update-wg-alias-.bashrc.patch new file mode 100644 index 0000000..fbab09b --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0160-.bashrc-update-wg-alias/0160-.bashrc-update-wg-alias-.bashrc.patch @@ -0,0 +1,23 @@ +From 1c2484992ae5d3745204f68a3223655f8fc88b44 Mon Sep 17 00:00:00 2001 +From: Christian Jaeger +Date: Tue, 30 May 2023 11:49:02 +0000 +Subject: .bashrc: [PATCH 160/191] .bashrc: update wg alias + +The wg script does not exist anymore. +--- + .bashrc | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/.bashrc b/.bashrc +index d2a14cd..658fc95 100644 +--- a/.bashrc ++++ b/.bashrc +@@ -358,7 +358,7 @@ open () { /opt/chj/bin/open "$@"; } + suxterm () { /opt/chj/bin/suxterm "$@"; } + pdftotext () { /opt/chj/bin/pdftotext "$@"; } + gv () { /opt/chj/bin/gv "$@"; } +-wg () { /opt/chj/bin/wg "$@"; } ++wg () { /opt/chj/bin/wgit "$@"; } + + + # --- End ------------------------------------- diff --git a/split-patch/test/chj-home-expected/--regenerate/0160-.bashrc-update-wg-alias/_list b/split-patch/test/chj-home-expected/--regenerate/0160-.bashrc-update-wg-alias/_list new file mode 100644 index 0000000..48b6672 --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0160-.bashrc-update-wg-alias/_list @@ -0,0 +1 @@ +--regenerate/0160-.bashrc-update-wg-alias/0160-.bashrc-update-wg-alias-.bashrc.patch diff --git a/split-patch/test/chj-home-expected/--regenerate/0161-init-remove-xemacs-setup/0161-init-remove-xemacs-setup-.chj-home_init.patch b/split-patch/test/chj-home-expected/--regenerate/0161-init-remove-xemacs-setup/0161-init-remove-xemacs-setup-.chj-home_init.patch new file mode 100644 index 0000000..a7dddf7 --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0161-init-remove-xemacs-setup/0161-init-remove-xemacs-setup-.chj-home_init.patch @@ -0,0 +1,24 @@ +From cdfce43a142a961c1281cf32ab4014229ff156d9 Mon Sep 17 00:00:00 2001 +From: Christian Jaeger +Date: Mon, 12 Jun 2023 15:44:02 +0200 +Subject: .chj-home/init: [PATCH 161/191] init: remove xemacs setup + +I really never use it any more. +--- + .chj-home/init | 3 --- + 1 file changed, 3 deletions(-) + +diff --git a/.chj-home/init b/.chj-home/init +index dc61617..f9c2356 100755 +--- a/.chj-home/init ++++ b/.chj-home/init +@@ -117,9 +117,6 @@ set -x + + ln -s /opt/chj/emacs/.emacs + +-mkdir .xemacs/ || true +-ln -s /opt/chj/xemacs/init.el .xemacs/ +- + ln -s /opt/chj/emacs/.emacs.d + + if [ -e ~/.lesskey ]; then diff --git a/split-patch/test/chj-home-expected/--regenerate/0161-init-remove-xemacs-setup/_list b/split-patch/test/chj-home-expected/--regenerate/0161-init-remove-xemacs-setup/_list new file mode 100644 index 0000000..2060aa6 --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0161-init-remove-xemacs-setup/_list @@ -0,0 +1 @@ +--regenerate/0161-init-remove-xemacs-setup/0161-init-remove-xemacs-setup-.chj-home_init.patch diff --git a/split-patch/test/chj-home-expected/--regenerate/0162-init-clone-chj-emacs-per-user-now/0162-init-clone-chj-emacs-per-user-now-.chj-home_init.patch b/split-patch/test/chj-home-expected/--regenerate/0162-init-clone-chj-emacs-per-user-now/0162-init-clone-chj-emacs-per-user-now-.chj-home_init.patch new file mode 100644 index 0000000..330ef8a --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0162-init-clone-chj-emacs-per-user-now/0162-init-clone-chj-emacs-per-user-now-.chj-home_init.patch @@ -0,0 +1,46 @@ +From 5f3e5d12d5c8574ef23f747b799a02a83014e397 Mon Sep 17 00:00:00 2001 +From: Christian Jaeger +Date: Mon, 12 Jun 2023 15:51:01 +0200 +Subject: .chj-home/init: [PATCH 162/191] init: clone chj-emacs per user now + +Not running make in chj-emacs automatically because it retrieves quite +a large amount of things that not every user may need. +--- + .chj-home/init | 15 ++++++++++----- + 1 file changed, 10 insertions(+), 5 deletions(-) + +diff --git a/.chj-home/init b/.chj-home/init +index f9c2356..9afc7b6 100755 +--- a/.chj-home/init ++++ b/.chj-home/init +@@ -115,9 +115,12 @@ EOF + set +eu + set -x + +-ln -s /opt/chj/emacs/.emacs ++/opt/chj/chjize/bin/chj-checkout _ignored_ https://github.com/pflanze/chj-emacs .chj-emacs '^v(\d+)$' ++ ++ln -s .chj-emacs/.emacs ++ln -s .chj-emacs/.emacs.d ++ln -s .chj-emacs/bin/* bin || true + +-ln -s /opt/chj/emacs/.emacs.d + + if [ -e ~/.lesskey ]; then + lesskey +@@ -142,10 +145,12 @@ touch .ssh/authorized_keys + chmod go-w .ssh/authorized_keys + touch .chj-home/init-done + +-ln -s /opt/chj/emacs/bin/* bin || true +- + gpg --import /opt/chj/chjize/cj-key.asc || true + + set +x + +-echo "NOTE: Your answers have been written to .chj-home_fullname, .chj-home_email, and the files .bash_profile_local and .gitconfig have been generated." ++echo "NOTE: Your answers have been written to .chj-home_fullname, .chj-home_email," ++echo " and the files .bash_profile_local and .gitconfig have been generated." ++echo "NOTE: Run 'cd .chj-emacs && make' if you want to use the full set of emacs" ++echo " functionality now." ++ diff --git a/split-patch/test/chj-home-expected/--regenerate/0162-init-clone-chj-emacs-per-user-now/_list b/split-patch/test/chj-home-expected/--regenerate/0162-init-clone-chj-emacs-per-user-now/_list new file mode 100644 index 0000000..24aa938 --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0162-init-clone-chj-emacs-per-user-now/_list @@ -0,0 +1 @@ +--regenerate/0162-init-clone-chj-emacs-per-user-now/0162-init-clone-chj-emacs-per-user-now-.chj-home_init.patch diff --git a/split-patch/test/chj-home-expected/--regenerate/0163-init-actually-do-need-to-import-the-other-key-as-wel/0163-init-actually-do-need-to-import-the-other-key-as-wel-.chj-home_init.patch b/split-patch/test/chj-home-expected/--regenerate/0163-init-actually-do-need-to-import-the-other-key-as-wel/0163-init-actually-do-need-to-import-the-other-key-as-wel-.chj-home_init.patch new file mode 100644 index 0000000..24c34ba --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0163-init-actually-do-need-to-import-the-other-key-as-wel/0163-init-actually-do-need-to-import-the-other-key-as-wel-.chj-home_init.patch @@ -0,0 +1,23 @@ +From fed8e81930fb270c96960cd4f1a43aabb40146ed Mon Sep 17 00:00:00 2001 +From: Christian Jaeger +Date: Mon, 12 Jun 2023 16:31:33 +0200 +Subject: .chj-home/init: [PATCH 163/191] init: actually *do* need to import the other key as + well here + +Confusing, too many parts, etc. +--- + .chj-home/init | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/.chj-home/init b/.chj-home/init +index 9afc7b6..acdb957 100755 +--- a/.chj-home/init ++++ b/.chj-home/init +@@ -146,6 +146,7 @@ chmod go-w .ssh/authorized_keys + touch .chj-home/init-done + + gpg --import /opt/chj/chjize/cj-key.asc || true ++gpg --import /opt/chj/chjize/cj-key-2.asc || true + + set +x + diff --git a/split-patch/test/chj-home-expected/--regenerate/0163-init-actually-do-need-to-import-the-other-key-as-wel/_list b/split-patch/test/chj-home-expected/--regenerate/0163-init-actually-do-need-to-import-the-other-key-as-wel/_list new file mode 100644 index 0000000..9d90935 --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0163-init-actually-do-need-to-import-the-other-key-as-wel/_list @@ -0,0 +1 @@ +--regenerate/0163-init-actually-do-need-to-import-the-other-key-as-wel/0163-init-actually-do-need-to-import-the-other-key-as-wel-.chj-home_init.patch diff --git a/split-patch/test/chj-home-expected/--regenerate/0164-.bash_profile-add-dir-to-newest-clang-to-PATH/0164-.bash_profile-add-dir-to-newest-clang-to-PATH-.bash_profile.patch b/split-patch/test/chj-home-expected/--regenerate/0164-.bash_profile-add-dir-to-newest-clang-to-PATH/0164-.bash_profile-add-dir-to-newest-clang-to-PATH-.bash_profile.patch new file mode 100644 index 0000000..9e086e9 --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0164-.bash_profile-add-dir-to-newest-clang-to-PATH/0164-.bash_profile-add-dir-to-newest-clang-to-PATH-.bash_profile.patch @@ -0,0 +1,22 @@ +From c51bdfae465c179954d1f6b813acd52b745b1641 Mon Sep 17 00:00:00 2001 +From: Christian Jaeger +Date: Fri, 30 Jun 2023 00:49:46 +0200 +Subject: .bash_profile: [PATCH 164/191] .bash_profile: add dir to newest clang to PATH + +--- + .bash_profile | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/.bash_profile b/.bash_profile +index a52d352..e5dc946 100644 +--- a/.bash_profile ++++ b/.bash_profile +@@ -22,6 +22,8 @@ export CHJHOSTNAME="$(head -1 /etc/hostname)" + + PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/opt/chj/bin:/opt/chj/cj-git-patchtool:/opt/chj/git-sign/bin:/opt/chj/cj-qemucontrol/bin:/opt/chj/chjize/bin + ++PATH="$(path-add-clang-dir)" ++ + # set PATH so it includes user's private bin if it exists + if [ -d ~/bin ] ; then + PATH=~/bin:"${PATH}" diff --git a/split-patch/test/chj-home-expected/--regenerate/0164-.bash_profile-add-dir-to-newest-clang-to-PATH/_list b/split-patch/test/chj-home-expected/--regenerate/0164-.bash_profile-add-dir-to-newest-clang-to-PATH/_list new file mode 100644 index 0000000..a22b3e7 --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0164-.bash_profile-add-dir-to-newest-clang-to-PATH/_list @@ -0,0 +1 @@ +--regenerate/0164-.bash_profile-add-dir-to-newest-clang-to-PATH/0164-.bash_profile-add-dir-to-newest-clang-to-PATH-.bash_profile.patch diff --git a/split-patch/test/chj-home-expected/--regenerate/0165-.bash_profile-increase-history-size-even-more/0165-.bash_profile-increase-history-size-even-more-.bash_profile.patch b/split-patch/test/chj-home-expected/--regenerate/0165-.bash_profile-increase-history-size-even-more/0165-.bash_profile-increase-history-size-even-more-.bash_profile.patch new file mode 100644 index 0000000..231050a --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0165-.bash_profile-increase-history-size-even-more/0165-.bash_profile-increase-history-size-even-more-.bash_profile.patch @@ -0,0 +1,23 @@ +From 433c451c569bf027e8cc906e3e643191acd406bd Mon Sep 17 00:00:00 2001 +From: Christian Jaeger +Date: Thu, 13 Jul 2023 14:28:18 +0200 +Subject: .bash_profile: [PATCH 165/191] .bash_profile: increase history size even more + +I'm still losing interesting commands. +--- + .bash_profile | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/.bash_profile b/.bash_profile +index e5dc946..9a19baa 100644 +--- a/.bash_profile ++++ b/.bash_profile +@@ -48,7 +48,7 @@ export LESS="-i -M -R" + unset GNOME_KEYRING_CONTROL + export COLUMNS + export HISTCONTROL=ignoredups +-export HISTSIZE=5000 ++export HISTSIZE=10000 + + if [ -n "${DISPLAY-}" ]; then + xset -b diff --git a/split-patch/test/chj-home-expected/--regenerate/0165-.bash_profile-increase-history-size-even-more/_list b/split-patch/test/chj-home-expected/--regenerate/0165-.bash_profile-increase-history-size-even-more/_list new file mode 100644 index 0000000..3bb9f03 --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0165-.bash_profile-increase-history-size-even-more/_list @@ -0,0 +1 @@ +--regenerate/0165-.bash_profile-increase-history-size-even-more/0165-.bash_profile-increase-history-size-even-more-.bash_profile.patch diff --git a/split-patch/test/chj-home-expected/--regenerate/0166-remove-emacs-geometry/0166-remove-emacs-geometry-.Xresources.patch b/split-patch/test/chj-home-expected/--regenerate/0166-remove-emacs-geometry/0166-remove-emacs-geometry-.Xresources.patch new file mode 100644 index 0000000..212d6e5 --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0166-remove-emacs-geometry/0166-remove-emacs-geometry-.Xresources.patch @@ -0,0 +1,25 @@ +From 604364c1f24d572b6f8fa71d959296ecf5064f69 Mon Sep 17 00:00:00 2001 +From: Christian Jaeger +Date: Tue, 29 Aug 2023 21:11:01 +0200 +Subject: .Xresources: [PATCH 166/191] remove emacs geometry + +--- + .Xresources | 5 ----- + 1 file changed, 5 deletions(-) + +diff --git a/.Xresources b/.Xresources +index f7e47f4..cceec8c 100644 +--- a/.Xresources ++++ b/.Xresources +@@ -12,11 +12,6 @@ + + xpdf.initialZoom: width + +-!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +- +-emacs*geometry: 80x39 +- +- + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + + xemacs*Background: #d3d3dd diff --git a/split-patch/test/chj-home-expected/--regenerate/0166-remove-emacs-geometry/_list b/split-patch/test/chj-home-expected/--regenerate/0166-remove-emacs-geometry/_list new file mode 100644 index 0000000..1e11cdd --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0166-remove-emacs-geometry/_list @@ -0,0 +1 @@ +--regenerate/0166-remove-emacs-geometry/0166-remove-emacs-geometry-.Xresources.patch diff --git a/split-patch/test/chj-home-expected/--regenerate/0167-.bashrc-add-ul/0167-.bashrc-add-ul-.bashrc.patch b/split-patch/test/chj-home-expected/--regenerate/0167-.bashrc-add-ul/0167-.bashrc-add-ul-.bashrc.patch new file mode 100644 index 0000000..80e7212 --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0167-.bashrc-add-ul/0167-.bashrc-add-ul-.bashrc.patch @@ -0,0 +1,22 @@ +From b8d1166073bda75a57a074eb1c589953e2641110 Mon Sep 17 00:00:00 2001 +From: Christian Jaeger +Date: Wed, 22 Nov 2023 01:54:45 +0100 +Subject: .bashrc: [PATCH 167/191] .bashrc: add `ul` + +Not sure I'll ever use this, though. +--- + .bashrc | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/.bashrc b/.bashrc +index 658fc95..53d22d3 100644 +--- a/.bashrc ++++ b/.bashrc +@@ -96,6 +96,7 @@ uu () { _cd_then ../.. "$@"; } + uuu () { _cd_then ../../.. "$@"; } + uuuu () { _cd_then ../../../.. "$@"; } + uuuuu () { _cd_then ../../../../.. "$@"; } ++ul () { cd ..; l "$@"; } + les () { less "$@"; } + c () { cd "$@"; } + cdnewdir () { diff --git a/split-patch/test/chj-home-expected/--regenerate/0167-.bashrc-add-ul/_list b/split-patch/test/chj-home-expected/--regenerate/0167-.bashrc-add-ul/_list new file mode 100644 index 0000000..3211d46 --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0167-.bashrc-add-ul/_list @@ -0,0 +1 @@ +--regenerate/0167-.bashrc-add-ul/0167-.bashrc-add-ul-.bashrc.patch diff --git a/split-patch/test/chj-home-expected/--regenerate/0168-Add-.xmodmaprc_laptopkeyboard/0168-Add-.xmodmaprc_laptopkeyboard-.xmodmaprc_laptopkeyboard.patch b/split-patch/test/chj-home-expected/--regenerate/0168-Add-.xmodmaprc_laptopkeyboard/0168-Add-.xmodmaprc_laptopkeyboard-.xmodmaprc_laptopkeyboard.patch new file mode 100644 index 0000000..d4958aa --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0168-Add-.xmodmaprc_laptopkeyboard/0168-Add-.xmodmaprc_laptopkeyboard-.xmodmaprc_laptopkeyboard.patch @@ -0,0 +1,42 @@ +From 4b95227cc931e0a1f6f8126b010dccfdd799df8a Mon Sep 17 00:00:00 2001 +From: Christian Jaeger +Date: Wed, 6 Dec 2023 14:18:53 +0100 +Subject: .xmodmaprc_laptopkeyboard: [PATCH 168/191] Add .xmodmaprc_laptopkeyboard + +Aha, that was why I did this: stupid PrtSc button on laptop. +--- + .xmodmaprc_laptopkeyboard | 25 +++++++++++++++++++++++++ + 1 file changed, 25 insertions(+) + create mode 100644 .xmodmaprc_laptopkeyboard + +diff --git a/.xmodmaprc_laptopkeyboard b/.xmodmaprc_laptopkeyboard +new file mode 100644 +index 0000000..88b6baf +--- /dev/null ++++ b/.xmodmaprc_laptopkeyboard +@@ -0,0 +1,25 @@ ++!clear ? ++ ++! Modifier keys: ++!Control_L ++!? ++!Alt_L ++!ISO_Level3_Shift ++!Super_R ++!Menu ++!Control_R ++ ++!vs man page: Shift, Lock, ++! Control, Mod1, Mod2, Mod3, Mod4, Mod5 ++ ++! Mod1 is the emacs meta key Alt. sigh. ++ ++keycode 133 = less greater less greater backslash brokenbar backslash brokenbar ++keycode 134 = backslash brokenbar ++ ++keycode 135 = Alt_L ++ ++keycode 107 = Control_R Control_R Control_R Control_R Control_R Control_R Control_R Control_R ++ ++add Control = Control_R ++ diff --git a/split-patch/test/chj-home-expected/--regenerate/0168-Add-.xmodmaprc_laptopkeyboard/_list b/split-patch/test/chj-home-expected/--regenerate/0168-Add-.xmodmaprc_laptopkeyboard/_list new file mode 100644 index 0000000..ef0c496 --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0168-Add-.xmodmaprc_laptopkeyboard/_list @@ -0,0 +1 @@ +--regenerate/0168-Add-.xmodmaprc_laptopkeyboard/0168-Add-.xmodmaprc_laptopkeyboard-.xmodmaprc_laptopkeyboard.patch diff --git a/split-patch/test/chj-home-expected/--regenerate/0169-Add-holidays-in-Switzerland/0169-Add-holidays-in-Switzerland-.festivaldays.tsv.patch b/split-patch/test/chj-home-expected/--regenerate/0169-Add-holidays-in-Switzerland/0169-Add-holidays-in-Switzerland-.festivaldays.tsv.patch new file mode 100644 index 0000000..0dfcced --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0169-Add-holidays-in-Switzerland/0169-Add-holidays-in-Switzerland-.festivaldays.tsv.patch @@ -0,0 +1,83 @@ +From 4dbcdc79b25e3cea82a31c4cf9183b458495ce90 Mon Sep 17 00:00:00 2001 +From: Christian Jaeger +Date: Tue, 2 Jan 2024 04:11:37 +0100 +Subject: .festivaldays.tsv: [PATCH 169/191] Add holidays in Switzerland + +--- + .festivaldays.tsv | 65 +++++++++++++++++++++++++++ + .holidays.tsv | 109 ++++++++++++++++++++++++++++++++++++++++++++++ + 2 files changed, 174 insertions(+) + create mode 100644 .festivaldays.tsv + create mode 100644 .holidays.tsv + +diff --git a/.festivaldays.tsv b/.festivaldays.tsv +new file mode 100644 +index 0000000..0dd2ffe +--- /dev/null ++++ b/.festivaldays.tsv +@@ -0,0 +1,65 @@ ++# this is read by gen-calendar from chj-scripts ++ ++# https://feiertage-ch.ch/feiertage-2024/ ++Valentinstag 2024 Mittwoch 14 Februar 2024 07 ++Ostersonntag 2024 Sonntag 31 März 2024 13 ++Muttertag 2024 Sonntag 12 Mai 2024 19 ++Pfingstsonntag 2024 Sonntag 19 Mai 2024 20 ++Vatertag 2024 Sonntag 2 Juni 2024 22 ++Welttierschutztag 2024 Freitag 4 Oktober 2024 40 ++Halloween 2024 Donnerstag 31 Oktober 2024 44 ++Black Friday 2024 Freitag 29 November 2024 48 ++Silvester 2024 Dienstag 31 Dezember 2024 01 ++ ++# https://feiertage-ch.ch/feiertage-2025/ ++Valentinstag 2025 Freitag 14 Februar 2025 07 ++Ostersonntag 2025 Sonntag 20 April 2025 16 ++Muttertag 2025 Sonntag 11 Mai 2025 19 ++Vatertag 2025 Sonntag 1 Juni 2025 22 ++Pfingstsonntag 2025 Sonntag 8 Juni 2025 23 ++Welttierschutztag 2025 Samstag 4 Oktober 2025 40 ++Halloween 2025 Freitag 31 Oktober 2025 44 ++Black Friday 2025 Freitag 28 November 2025 48 ++Silvester 2025 Mittwoch 31 Dezember 2025 01 ++ ++# https://feiertage-ch.ch/feiertage-2026/ ++Valentinstag 2026 Samstag 14 Februar 2026 07 ++Ostersonntag 2026 Sonntag 5 April 2026 14 ++Muttertag 2026 Sonntag 10 Mai 2026 19 ++Pfingstsonntag 2026 Sonntag 24 Mai 2026 21 ++Vatertag 2026 Sonntag 7 Juni 2026 23 ++Welttierschutztag 2026 Sonntag 4 Oktober 2026 40 ++Halloween 2026 Samstag 31 Oktober 2026 44 ++Black Friday 2026 Freitag 27 November 2026 48 ++Silvester 2026 Donnerstag 31 Dezember 2026 53 ++ ++Valentinstag 2027 Sonntag 14 Februar 2027 06 ++Ostersonntag 2027 Sonntag 28 März 2027 12 ++Muttertag 2027 Sonntag 9 Mai 2027 18 ++Pfingstsonntag 2027 Sonntag 16 Mai 2027 19 ++Vatertag 2027 Sonntag 6 Juni 2027 22 ++Welttierschutztag 2027 Montag 4 Oktober 2027 40 ++Halloween 2027 Sonntag 31 Oktober 2027 43 ++Black Friday 2027 Freitag 26 November 2027 47 ++Silvester 2027 Freitag 31 Dezember 2027 52 ++ ++Valentinstag 2028 Montag 14 Februar 2028 07 ++Ostersonntag 2028 Sonntag 16 April 2028 15 ++Muttertag 2028 Sonntag 14 Mai 2028 19 ++Pfingstsonntag 2028 Sonntag 4 Juni 2028 22 ++Vatertag 2028 Sonntag 4 Juni 2028 22 ++Welttierschutztag 2028 Mittwoch 4 Oktober 2028 40 ++Halloween 2028 Dienstag 31 Oktober 2028 44 ++Black Friday 2028 Freitag 24 November 2028 47 ++Silvester 2028 Sonntag 31 Dezember 2028 52 ++ ++Valentinstag 2029 Mittwoch 14 Februar 2029 07 ++Ostersonntag 2029 Sonntag 1 April 2029 13 ++Muttertag 2029 Sonntag 13 Mai 2029 19 ++Pfingstsonntag 2029 Sonntag 20 Mai 2029 20 ++Vatertag 2029 Sonntag 3 Juni 2029 22 ++Welttierschutztag 2029 Donnerstag 4 Oktober 2029 40 ++Halloween 2029 Mittwoch 31 Oktober 2029 44 ++Black Friday 2029 Freitag 23 November 2029 47 ++Silvester 2029 Montag 31 Dezember 2029 01 ++ diff --git a/split-patch/test/chj-home-expected/--regenerate/0169-Add-holidays-in-Switzerland/0169-Add-holidays-in-Switzerland-.holidays.tsv.patch b/split-patch/test/chj-home-expected/--regenerate/0169-Add-holidays-in-Switzerland/0169-Add-holidays-in-Switzerland-.holidays.tsv.patch new file mode 100644 index 0000000..f07897f --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0169-Add-holidays-in-Switzerland/0169-Add-holidays-in-Switzerland-.holidays.tsv.patch @@ -0,0 +1,127 @@ +From 4dbcdc79b25e3cea82a31c4cf9183b458495ce90 Mon Sep 17 00:00:00 2001 +From: Christian Jaeger +Date: Tue, 2 Jan 2024 04:11:37 +0100 +Subject: .holidays.tsv: [PATCH 169/191] Add holidays in Switzerland + +--- + .festivaldays.tsv | 65 +++++++++++++++++++++++++++ + .holidays.tsv | 109 ++++++++++++++++++++++++++++++++++++++++++++++ + 2 files changed, 174 insertions(+) + create mode 100644 .festivaldays.tsv + create mode 100644 .holidays.tsv + +diff --git a/.holidays.tsv b/.holidays.tsv +new file mode 100644 +index 0000000..cbf3915 +--- /dev/null ++++ b/.holidays.tsv +@@ -0,0 +1,109 @@ ++# this is read by gen-calendar from chj-scripts ++ ++# https://feiertage-ch.ch/feiertage-2024/ ++#Feiertag Datum Woche ++Neujahr 2024 Montag 1 Januar 2024 01 ++Berchtoldstag 2024 Dienstag 2 Januar 2024 01 ++Heilige Drei Könige 2024 Samstag 6 Januar 2024 01 ++Josefstag 2024 Dienstag 19 März 2024 12 ++Karfreitag 2024 Freitag 29 März 2024 13 ++Ostermontag 2024 Montag 1 April 2024 14 ++Tag der Arbeit 2024 Mittwoch 1 Mai 2024 18 ++Auffahrt 2024 Donnerstag 9 Mai 2024 19 ++Pfingstmontag 2024 Montag 20 Mai 2024 21 ++Fronleichnam 2024 Donnerstag 30 Mai 2024 22 ++Bundesfeiertag 2024 Donnerstag 1 August 2024 31 ++Mariä Himmelfahrt 2024 Donnerstag 15 August 2024 33 ++Allerheiligen 2024 Freitag 1 November 2024 44 ++Mariä Empfängnis 2024 Sonntag 8 Dezember 2024 49 ++Weihnachtstag 2024 Mittwoch 25 Dezember 2024 52 ++Stephanstag 2024 Donnerstag 26 Dezember 2024 52 ++ ++# https://feiertage-ch.ch/feiertage-2025/ ++#Feiertag Datum Woche ++Neujahr 2025 Mittwoch 1 Januar 2025 01 ++Berchtoldstag 2025 Donnerstag 2 Januar 2025 01 ++Heilige Drei Könige 2025 Montag 6 Januar 2025 02 ++Josefstag 2025 Mittwoch 19 März 2025 12 ++Karfreitag 2025 Freitag 18 April 2025 16 ++Ostermontag 2025 Montag 21 April 2025 17 ++Tag der Arbeit 2025 Donnerstag 1 Mai 2025 18 ++Auffahrt 2025 Donnerstag 29 Mai 2025 22 ++Pfingstmontag 2025 Montag 9 Juni 2025 24 ++Fronleichnam 2025 Donnerstag 19 Juni 2025 25 ++Bundesfeiertag 2025 Freitag 1 August 2025 31 ++Mariä Himmelfahrt 2025 Freitag 15 August 2025 33 ++Allerheiligen 2025 Samstag 1 November 2025 44 ++Mariä Empfängnis 2025 Montag 8 Dezember 2025 50 ++Weihnachtstag 2025 Donnerstag 25 Dezember 2025 52 ++Stephanstag 2025 Freitag 26 Dezember 2025 52 ++ ++# https://feiertage-ch.ch/feiertage-2026/ ++#Feiertag Datum Woche ++Neujahr 2026 Donnerstag 1 Januar 2026 01 ++Berchtoldstag 2026 Freitag 2 Januar 2026 01 ++Heilige Drei Könige 2026 Dienstag 6 Januar 2026 02 ++Josefstag 2026 Donnerstag 19 März 2026 12 ++Karfreitag 2026 Freitag 3 April 2026 14 ++Ostermontag 2026 Montag 6 April 2026 15 ++Tag der Arbeit 2026 Freitag 1 Mai 2026 18 ++Auffahrt 2026 Donnerstag 14 Mai 2026 20 ++Pfingstmontag 2026 Montag 25 Mai 2026 22 ++Fronleichnam 2026 Donnerstag 4 Juni 2026 23 ++Bundesfeiertag 2026 Samstag 1 August 2026 31 ++Mariä Himmelfahrt 2026 Samstag 15 August 2026 33 ++Allerheiligen 2026 Sonntag 1 November 2026 44 ++Mariä Empfängnis 2026 Dienstag 8 Dezember 2026 50 ++Weihnachtstag 2026 Freitag 25 Dezember 2026 52 ++Stephanstag 2026 Samstag 26 Dezember 2026 52 ++ ++Neujahr 2027 Freitag 1 Januar 2027 53 ++Berchtoldstag 2027 Samstag 2 Januar 2027 53 ++Heilige Drei Könige 2027 Mittwoch 6 Januar 2027 01 ++Josefstag 2027 Freitag 19 März 2027 11 ++Karfreitag 2027 Freitag 26 März 2027 12 ++Ostermontag 2027 Montag 29 März 2027 13 ++Tag der Arbeit 2027 Samstag 1 Mai 2027 17 ++Auffahrt 2027 Donnerstag 6 Mai 2027 18 ++Pfingstmontag 2027 Montag 17 Mai 2027 20 ++Fronleichnam 2027 Donnerstag 27 Mai 2027 21 ++Bundesfeiertag 2027 Sonntag 1 August 2027 30 ++Mariä Himmelfahrt 2027 Sonntag 15 August 2027 32 ++Allerheiligen 2027 Montag 1 November 2027 44 ++Mariä Empfängnis 2027 Mittwoch 8 Dezember 2027 49 ++Weihnachtstag 2027 Samstag 25 Dezember 2027 51 ++Stephanstag 2027 Sonntag 26 Dezember 2027 51 ++ ++Neujahr 2028 Samstag 1 Januar 2028 52 ++Berchtoldstag 2028 Sonntag 2 Januar 2028 52 ++Heilige Drei Könige 2028 Donnerstag 6 Januar 2028 01 ++Josefstag 2028 Sonntag 19 März 2028 11 ++Karfreitag 2028 Freitag 14 April 2028 15 ++Ostermontag 2028 Montag 17 April 2028 16 ++Tag der Arbeit 2028 Montag 1 Mai 2028 18 ++Auffahrt 2028 Donnerstag 25 Mai 2028 21 ++Pfingstmontag 2028 Montag 5 Juni 2028 23 ++Fronleichnam 2028 Donnerstag 15 Juni 2028 24 ++Bundesfeiertag 2028 Dienstag 1 August 2028 31 ++Mariä Himmelfahrt 2028 Dienstag 15 August 2028 33 ++Allerheiligen 2028 Mittwoch 1 November 2028 44 ++Mariä Empfängnis 2028 Freitag 8 Dezember 2028 49 ++Weihnachtstag 2028 Montag 25 Dezember 2028 52 ++Stephanstag 2028 Dienstag 26 Dezember 2028 52 ++ ++Neujahr 2029 Montag 1 Januar 2029 01 ++Berchtoldstag 2029 Dienstag 2 Januar 2029 01 ++Heilige Drei Könige 2029 Samstag 6 Januar 2029 01 ++Josefstag 2029 Montag 19 März 2029 12 ++Karfreitag 2029 Freitag 30 März 2029 13 ++Ostermontag 2029 Montag 2 April 2029 14 ++Tag der Arbeit 2029 Dienstag 1 Mai 2029 18 ++Auffahrt 2029 Donnerstag 10 Mai 2029 19 ++Pfingstmontag 2029 Montag 21 Mai 2029 21 ++Fronleichnam 2029 Donnerstag 31 Mai 2029 22 ++Bundesfeiertag 2029 Mittwoch 1 August 2029 31 ++Mariä Himmelfahrt 2029 Mittwoch 15 August 2029 33 ++Allerheiligen 2029 Donnerstag 1 November 2029 44 ++Mariä Empfängnis 2029 Samstag 8 Dezember 2029 49 ++Weihnachtstag 2029 Dienstag 25 Dezember 2029 52 ++Stephanstag 2029 Mittwoch 26 Dezember 2029 52 diff --git a/split-patch/test/chj-home-expected/--regenerate/0169-Add-holidays-in-Switzerland/_list b/split-patch/test/chj-home-expected/--regenerate/0169-Add-holidays-in-Switzerland/_list new file mode 100644 index 0000000..ca22088 --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0169-Add-holidays-in-Switzerland/_list @@ -0,0 +1,2 @@ +--regenerate/0169-Add-holidays-in-Switzerland/0169-Add-holidays-in-Switzerland-.festivaldays.tsv.patch +--regenerate/0169-Add-holidays-in-Switzerland/0169-Add-holidays-in-Switzerland-.holidays.tsv.patch diff --git a/split-patch/test/chj-home-expected/--regenerate/0170-.holidays.tsv-english-Basel/0170-.holidays.tsv-english-Basel-.holidays.tsv.patch b/split-patch/test/chj-home-expected/--regenerate/0170-.holidays.tsv-english-Basel/0170-.holidays.tsv-english-Basel-.holidays.tsv.patch new file mode 100644 index 0000000..c635b76 --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0170-.holidays.tsv-english-Basel/0170-.holidays.tsv-english-Basel-.holidays.tsv.patch @@ -0,0 +1,30 @@ +From 9111736b6631922ac8fc623c1b283377b4394304 Mon Sep 17 00:00:00 2001 +From: Christian Jaeger +Date: Tue, 20 Feb 2024 18:04:42 +0100 +Subject: .holidays.tsv: [PATCH 170/191] .holidays.tsv: english, Basel + +--- + .holidays.tsv | 10 +++++----- + 1 file changed, 5 insertions(+), 5 deletions(-) + +diff --git a/.holidays.tsv b/.holidays.tsv +index cbf3915..80ce969 100644 +--- a/.holidays.tsv ++++ b/.holidays.tsv +@@ -8,11 +8,11 @@ Heilige Drei Könige 2024 Samstag 6 Januar 2024 01 + Josefstag 2024 Dienstag 19 März 2024 12 + Karfreitag 2024 Freitag 29 März 2024 13 + Ostermontag 2024 Montag 1 April 2024 14 +-Tag der Arbeit 2024 Mittwoch 1 Mai 2024 18 +-Auffahrt 2024 Donnerstag 9 Mai 2024 19 +-Pfingstmontag 2024 Montag 20 Mai 2024 21 +-Fronleichnam 2024 Donnerstag 30 Mai 2024 22 +-Bundesfeiertag 2024 Donnerstag 1 August 2024 31 ++Tag der Arbeit (Labour Day) 2024 Mittwoch 1 Mai 2024 18 ++Auffahrt (Ascension) 2024 Donnerstag 9 Mai 2024 19 ++Pfingstmontag (Whitsun) 2024 Montag 20 Mai 2024 21 ++Fronleichnam (nicht in Basel!) 2024 Donnerstag 30 Mai 2024 22 ++Bundesfeiertag (Swiss National Day) 2024 Donnerstag 1 August 2024 31 + Mariä Himmelfahrt 2024 Donnerstag 15 August 2024 33 + Allerheiligen 2024 Freitag 1 November 2024 44 + Mariä Empfängnis 2024 Sonntag 8 Dezember 2024 49 diff --git a/split-patch/test/chj-home-expected/--regenerate/0170-.holidays.tsv-english-Basel/_list b/split-patch/test/chj-home-expected/--regenerate/0170-.holidays.tsv-english-Basel/_list new file mode 100644 index 0000000..7f980af --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0170-.holidays.tsv-english-Basel/_list @@ -0,0 +1 @@ +--regenerate/0170-.holidays.tsv-english-Basel/0170-.holidays.tsv-english-Basel-.holidays.tsv.patch diff --git a/split-patch/test/chj-home-expected/--regenerate/0171-init-import-gpg-keys-first/0171-init-import-gpg-keys-first-.chj-home_init.patch b/split-patch/test/chj-home-expected/--regenerate/0171-init-import-gpg-keys-first/0171-init-import-gpg-keys-first-.chj-home_init.patch new file mode 100644 index 0000000..4cd7eb7 --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0171-init-import-gpg-keys-first/0171-init-import-gpg-keys-first-.chj-home_init.patch @@ -0,0 +1,35 @@ +From 30a42caf02dc91a00667b3d548395af79389db3a Mon Sep 17 00:00:00 2001 +From: Christian Jaeger +Date: Fri, 22 Mar 2024 13:09:39 +0100 +Subject: .chj-home/init: [PATCH 171/191] init: import gpg keys first + +Before checkout runs. Huh. Not sure why it ever worked, because +mod-user does it, too? +--- + .chj-home/init | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/.chj-home/init b/.chj-home/init +index acdb957..85105b4 100755 +--- a/.chj-home/init ++++ b/.chj-home/init +@@ -115,6 +115,9 @@ EOF + set +eu + set -x + ++gpg --import /opt/chj/chjize/cj-key.asc || true ++gpg --import /opt/chj/chjize/cj-key-2.asc || true ++ + /opt/chj/chjize/bin/chj-checkout _ignored_ https://github.com/pflanze/chj-emacs .chj-emacs '^v(\d+)$' + + ln -s .chj-emacs/.emacs +@@ -145,9 +148,6 @@ touch .ssh/authorized_keys + chmod go-w .ssh/authorized_keys + touch .chj-home/init-done + +-gpg --import /opt/chj/chjize/cj-key.asc || true +-gpg --import /opt/chj/chjize/cj-key-2.asc || true +- + set +x + + echo "NOTE: Your answers have been written to .chj-home_fullname, .chj-home_email," diff --git a/split-patch/test/chj-home-expected/--regenerate/0171-init-import-gpg-keys-first/_list b/split-patch/test/chj-home-expected/--regenerate/0171-init-import-gpg-keys-first/_list new file mode 100644 index 0000000..7b69f8f --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0171-init-import-gpg-keys-first/_list @@ -0,0 +1 @@ +--regenerate/0171-init-import-gpg-keys-first/0171-init-import-gpg-keys-first-.chj-home_init.patch diff --git a/split-patch/test/chj-home-expected/--regenerate/0172-init-yes-mod-user-imports-the-keys-already/0172-init-yes-mod-user-imports-the-keys-already-.chj-home_init.patch b/split-patch/test/chj-home-expected/--regenerate/0172-init-yes-mod-user-imports-the-keys-already/0172-init-yes-mod-user-imports-the-keys-already-.chj-home_init.patch new file mode 100644 index 0000000..110520f --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0172-init-yes-mod-user-imports-the-keys-already/0172-init-yes-mod-user-imports-the-keys-already-.chj-home_init.patch @@ -0,0 +1,26 @@ +From a0fca3bae0d5b03241bceb4d49e40d7240da67a5 Mon Sep 17 00:00:00 2001 +From: Christian Jaeger +Date: Fri, 22 Mar 2024 13:10:40 +0100 +Subject: .chj-home/init: [PATCH 172/191] init: yes, mod-user imports the keys already + +Of course, to verify chj-home itself. + +The confusion was just from the new key. +--- + .chj-home/init | 3 --- + 1 file changed, 3 deletions(-) + +diff --git a/.chj-home/init b/.chj-home/init +index 85105b4..a72635d 100755 +--- a/.chj-home/init ++++ b/.chj-home/init +@@ -115,9 +115,6 @@ EOF + set +eu + set -x + +-gpg --import /opt/chj/chjize/cj-key.asc || true +-gpg --import /opt/chj/chjize/cj-key-2.asc || true +- + /opt/chj/chjize/bin/chj-checkout _ignored_ https://github.com/pflanze/chj-emacs .chj-emacs '^v(\d+)$' + + ln -s .chj-emacs/.emacs diff --git a/split-patch/test/chj-home-expected/--regenerate/0172-init-yes-mod-user-imports-the-keys-already/_list b/split-patch/test/chj-home-expected/--regenerate/0172-init-yes-mod-user-imports-the-keys-already/_list new file mode 100644 index 0000000..005b681 --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0172-init-yes-mod-user-imports-the-keys-already/_list @@ -0,0 +1 @@ +--regenerate/0172-init-yes-mod-user-imports-the-keys-already/0172-init-yes-mod-user-imports-the-keys-already-.chj-home_init.patch diff --git a/split-patch/test/chj-home-expected/--regenerate/0173-.gitignore_global-ignore-.cache/0173-.gitignore_global-ignore-.cache-.gitignore_global.patch b/split-patch/test/chj-home-expected/--regenerate/0173-.gitignore_global-ignore-.cache/0173-.gitignore_global-ignore-.cache-.gitignore_global.patch new file mode 100644 index 0000000..09f8a14 --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0173-.gitignore_global-ignore-.cache/0173-.gitignore_global-ignore-.cache-.gitignore_global.patch @@ -0,0 +1,18 @@ +From 84f4114115de3bee3990c35515b1b64f30de896f Mon Sep 17 00:00:00 2001 +From: Christian Jaeger +Date: Fri, 22 Mar 2024 16:28:11 +0000 +Subject: .gitignore_global: [PATCH 173/191] .gitignore_global: ignore .cache/ + +--- + .gitignore_global | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/.gitignore_global b/.gitignore_global +index 6b3c6fe..0113b48 100644 +--- a/.gitignore_global ++++ b/.gitignore_global +@@ -5,3 +5,4 @@ nohup.out + .markdownmake.lck + .gdb_history + a.out ++.cache/ diff --git a/split-patch/test/chj-home-expected/--regenerate/0173-.gitignore_global-ignore-.cache/_list b/split-patch/test/chj-home-expected/--regenerate/0173-.gitignore_global-ignore-.cache/_list new file mode 100644 index 0000000..d21ad93 --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0173-.gitignore_global-ignore-.cache/_list @@ -0,0 +1 @@ +--regenerate/0173-.gitignore_global-ignore-.cache/0173-.gitignore_global-ignore-.cache-.gitignore_global.patch diff --git a/split-patch/test/chj-home-expected/--regenerate/0174-Prioritize-my-mt/0174-Prioritize-my-mt-.bashrc.patch b/split-patch/test/chj-home-expected/--regenerate/0174-Prioritize-my-mt/0174-Prioritize-my-mt-.bashrc.patch new file mode 100644 index 0000000..1605503 --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0174-Prioritize-my-mt/0174-Prioritize-my-mt-.bashrc.patch @@ -0,0 +1,21 @@ +From 350e5463e53459a71ce03ba3c78364c8b57b055c Mon Sep 17 00:00:00 2001 +From: Christian Jaeger +Date: Sat, 11 May 2024 00:03:52 +0200 +Subject: .bashrc: [PATCH 174/191] Prioritize my `mt` + +--- + .bashrc | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/.bashrc b/.bashrc +index 53d22d3..502f29c 100644 +--- a/.bashrc ++++ b/.bashrc +@@ -296,6 +296,7 @@ ct () { + + find () { my.find "$@"; } + df () { my.df "$@"; } ++mt () { /opt/chj/bin/mt "$@"; } + + mv () { command mv -i "$@"; } + cp () { command cp -i "$@"; } diff --git a/split-patch/test/chj-home-expected/--regenerate/0174-Prioritize-my-mt/_list b/split-patch/test/chj-home-expected/--regenerate/0174-Prioritize-my-mt/_list new file mode 100644 index 0000000..49952c9 --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0174-Prioritize-my-mt/_list @@ -0,0 +1 @@ +--regenerate/0174-Prioritize-my-mt/0174-Prioritize-my-mt-.bashrc.patch diff --git a/split-patch/test/chj-home-expected/--regenerate/0175-holidays-put-not-in-Basel-dates-in-square-brackets-i/0175-holidays-put-not-in-Basel-dates-in-square-brackets-i-.holidays.tsv.patch b/split-patch/test/chj-home-expected/--regenerate/0175-holidays-put-not-in-Basel-dates-in-square-brackets-i/0175-holidays-put-not-in-Basel-dates-in-square-brackets-i-.holidays.tsv.patch new file mode 100644 index 0000000..35f414a --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0175-holidays-put-not-in-Basel-dates-in-square-brackets-i/0175-holidays-put-not-in-Basel-dates-in-square-brackets-i-.holidays.tsv.patch @@ -0,0 +1,68 @@ +From e710aad91c30b966e8f4ec19027d3414b8ee5b0f Mon Sep 17 00:00:00 2001 +From: Christian Jaeger +Date: Fri, 31 May 2024 11:31:56 +0200 +Subject: .holidays.tsv: [PATCH 175/191] holidays: put not-in-Basel dates in square brackets, + in all years + +--- + .holidays.tsv | 12 ++++++------ + 1 file changed, 6 insertions(+), 6 deletions(-) + +diff --git a/.holidays.tsv b/.holidays.tsv +index 80ce969..a1bcac6 100644 +--- a/.holidays.tsv ++++ b/.holidays.tsv +@@ -11,7 +11,7 @@ Ostermontag 2024 Montag 1 April 2024 14 + Tag der Arbeit (Labour Day) 2024 Mittwoch 1 Mai 2024 18 + Auffahrt (Ascension) 2024 Donnerstag 9 Mai 2024 19 + Pfingstmontag (Whitsun) 2024 Montag 20 Mai 2024 21 +-Fronleichnam (nicht in Basel!) 2024 Donnerstag 30 Mai 2024 22 ++[Fronleichnam] (nicht in Basel!) 2024 Donnerstag 30 Mai 2024 22 + Bundesfeiertag (Swiss National Day) 2024 Donnerstag 1 August 2024 31 + Mariä Himmelfahrt 2024 Donnerstag 15 August 2024 33 + Allerheiligen 2024 Freitag 1 November 2024 44 +@@ -30,7 +30,7 @@ Ostermontag 2025 Montag 21 April 2025 17 + Tag der Arbeit 2025 Donnerstag 1 Mai 2025 18 + Auffahrt 2025 Donnerstag 29 Mai 2025 22 + Pfingstmontag 2025 Montag 9 Juni 2025 24 +-Fronleichnam 2025 Donnerstag 19 Juni 2025 25 ++[Fronleichnam] 2025 Donnerstag 19 Juni 2025 25 + Bundesfeiertag 2025 Freitag 1 August 2025 31 + Mariä Himmelfahrt 2025 Freitag 15 August 2025 33 + Allerheiligen 2025 Samstag 1 November 2025 44 +@@ -49,7 +49,7 @@ Ostermontag 2026 Montag 6 April 2026 15 + Tag der Arbeit 2026 Freitag 1 Mai 2026 18 + Auffahrt 2026 Donnerstag 14 Mai 2026 20 + Pfingstmontag 2026 Montag 25 Mai 2026 22 +-Fronleichnam 2026 Donnerstag 4 Juni 2026 23 ++[Fronleichnam] 2026 Donnerstag 4 Juni 2026 23 + Bundesfeiertag 2026 Samstag 1 August 2026 31 + Mariä Himmelfahrt 2026 Samstag 15 August 2026 33 + Allerheiligen 2026 Sonntag 1 November 2026 44 +@@ -66,7 +66,7 @@ Ostermontag 2027 Montag 29 März 2027 13 + Tag der Arbeit 2027 Samstag 1 Mai 2027 17 + Auffahrt 2027 Donnerstag 6 Mai 2027 18 + Pfingstmontag 2027 Montag 17 Mai 2027 20 +-Fronleichnam 2027 Donnerstag 27 Mai 2027 21 ++[Fronleichnam] 2027 Donnerstag 27 Mai 2027 21 + Bundesfeiertag 2027 Sonntag 1 August 2027 30 + Mariä Himmelfahrt 2027 Sonntag 15 August 2027 32 + Allerheiligen 2027 Montag 1 November 2027 44 +@@ -83,7 +83,7 @@ Ostermontag 2028 Montag 17 April 2028 16 + Tag der Arbeit 2028 Montag 1 Mai 2028 18 + Auffahrt 2028 Donnerstag 25 Mai 2028 21 + Pfingstmontag 2028 Montag 5 Juni 2028 23 +-Fronleichnam 2028 Donnerstag 15 Juni 2028 24 ++[Fronleichnam] 2028 Donnerstag 15 Juni 2028 24 + Bundesfeiertag 2028 Dienstag 1 August 2028 31 + Mariä Himmelfahrt 2028 Dienstag 15 August 2028 33 + Allerheiligen 2028 Mittwoch 1 November 2028 44 +@@ -100,7 +100,7 @@ Ostermontag 2029 Montag 2 April 2029 14 + Tag der Arbeit 2029 Dienstag 1 Mai 2029 18 + Auffahrt 2029 Donnerstag 10 Mai 2029 19 + Pfingstmontag 2029 Montag 21 Mai 2029 21 +-Fronleichnam 2029 Donnerstag 31 Mai 2029 22 ++[Fronleichnam] 2029 Donnerstag 31 Mai 2029 22 + Bundesfeiertag 2029 Mittwoch 1 August 2029 31 + Mariä Himmelfahrt 2029 Mittwoch 15 August 2029 33 + Allerheiligen 2029 Donnerstag 1 November 2029 44 diff --git a/split-patch/test/chj-home-expected/--regenerate/0175-holidays-put-not-in-Basel-dates-in-square-brackets-i/_list b/split-patch/test/chj-home-expected/--regenerate/0175-holidays-put-not-in-Basel-dates-in-square-brackets-i/_list new file mode 100644 index 0000000..3cfd1aa --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0175-holidays-put-not-in-Basel-dates-in-square-brackets-i/_list @@ -0,0 +1 @@ +--regenerate/0175-holidays-put-not-in-Basel-dates-in-square-brackets-i/0175-holidays-put-not-in-Basel-dates-in-square-brackets-i-.holidays.tsv.patch diff --git a/split-patch/test/chj-home-expected/--regenerate/0176-.bashrc-add-cdat/0176-.bashrc-add-cdat-.bashrc.patch b/split-patch/test/chj-home-expected/--regenerate/0176-.bashrc-add-cdat/0176-.bashrc-add-cdat-.bashrc.patch new file mode 100644 index 0000000..ec61278 --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0176-.bashrc-add-cdat/0176-.bashrc-add-cdat-.bashrc.patch @@ -0,0 +1,23 @@ +From 0964a3475f74aad42c2bcc123a0edd0ee3a3bc9d Mon Sep 17 00:00:00 2001 +From: Christian Jaeger +Date: Thu, 25 Jul 2024 16:53:08 +0200 +Subject: .bashrc: [PATCH 176/191] .bashrc: add `cdat` + +--- + .bashrc | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/.bashrc b/.bashrc +index 502f29c..25149c4 100644 +--- a/.bashrc ++++ b/.bashrc +@@ -147,6 +147,9 @@ cd_newest_sisterfolder () { + cd_newest () { + cd "$(_ls_newest .)" + } ++cdat() { ++ cdnewdir "$(dat --day --week)" ++} + cdn () { + if [ $# -eq 0 ]; then + cd_newest diff --git a/split-patch/test/chj-home-expected/--regenerate/0176-.bashrc-add-cdat/_list b/split-patch/test/chj-home-expected/--regenerate/0176-.bashrc-add-cdat/_list new file mode 100644 index 0000000..c4f1780 --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0176-.bashrc-add-cdat/_list @@ -0,0 +1 @@ +--regenerate/0176-.bashrc-add-cdat/0176-.bashrc-add-cdat-.bashrc.patch diff --git a/split-patch/test/chj-home-expected/--regenerate/0177-.gitignore_global-allow-PATCHES-dirs-to-be-symlinks/0177-.gitignore_global-allow-PATCHES-dirs-to-be-symlinks-.gitignore_global.patch b/split-patch/test/chj-home-expected/--regenerate/0177-.gitignore_global-allow-PATCHES-dirs-to-be-symlinks/0177-.gitignore_global-allow-PATCHES-dirs-to-be-symlinks-.gitignore_global.patch new file mode 100644 index 0000000..59a663d --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0177-.gitignore_global-allow-PATCHES-dirs-to-be-symlinks/0177-.gitignore_global-allow-PATCHES-dirs-to-be-symlinks-.gitignore_global.patch @@ -0,0 +1,19 @@ +From cf3a7b5cd75c13f033d1748052431d128f69f5b0 Mon Sep 17 00:00:00 2001 +From: Christian Jaeger +Date: Mon, 26 Aug 2024 13:21:30 +0200 +Subject: .gitignore_global: [PATCH 177/191] .gitignore_global: allow PATCHES dirs to be symlinks + +--- + .gitignore_global | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/.gitignore_global b/.gitignore_global +index 0113b48..d98cee5 100644 +--- a/.gitignore_global ++++ b/.gitignore_global +@@ -1,4 +1,4 @@ +-/PATCHES/ ++/PATCHES + *~ + *.xhtml + nohup.out diff --git a/split-patch/test/chj-home-expected/--regenerate/0177-.gitignore_global-allow-PATCHES-dirs-to-be-symlinks/_list b/split-patch/test/chj-home-expected/--regenerate/0177-.gitignore_global-allow-PATCHES-dirs-to-be-symlinks/_list new file mode 100644 index 0000000..608d71c --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0177-.gitignore_global-allow-PATCHES-dirs-to-be-symlinks/_list @@ -0,0 +1 @@ +--regenerate/0177-.gitignore_global-allow-PATCHES-dirs-to-be-symlinks/0177-.gitignore_global-allow-PATCHES-dirs-to-be-symlinks-.gitignore_global.patch diff --git a/split-patch/test/chj-home-expected/--regenerate/0178-.bashrc-cdat-pass-arguments-to-dat/0178-.bashrc-cdat-pass-arguments-to-dat-.bashrc.patch b/split-patch/test/chj-home-expected/--regenerate/0178-.bashrc-cdat-pass-arguments-to-dat/0178-.bashrc-cdat-pass-arguments-to-dat-.bashrc.patch new file mode 100644 index 0000000..16297f3 --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0178-.bashrc-cdat-pass-arguments-to-dat/0178-.bashrc-cdat-pass-arguments-to-dat-.bashrc.patch @@ -0,0 +1,22 @@ +From 79afa2cfc030ece3868e4f55c0e263441ccbf295 Mon Sep 17 00:00:00 2001 +From: Christian Jaeger +Date: Tue, 27 Aug 2024 10:51:37 +0200 +Subject: .bashrc: [PATCH 178/191] .bashrc: cdat: pass arguments to dat + +--- + .bashrc | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/.bashrc b/.bashrc +index 25149c4..810281a 100644 +--- a/.bashrc ++++ b/.bashrc +@@ -148,7 +148,7 @@ cd_newest () { + cd "$(_ls_newest .)" + } + cdat() { +- cdnewdir "$(dat --day --week)" ++ cdnewdir "$(dat --day --week "$@")" + } + cdn () { + if [ $# -eq 0 ]; then diff --git a/split-patch/test/chj-home-expected/--regenerate/0178-.bashrc-cdat-pass-arguments-to-dat/_list b/split-patch/test/chj-home-expected/--regenerate/0178-.bashrc-cdat-pass-arguments-to-dat/_list new file mode 100644 index 0000000..4ccf60d --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0178-.bashrc-cdat-pass-arguments-to-dat/_list @@ -0,0 +1 @@ +--regenerate/0178-.bashrc-cdat-pass-arguments-to-dat/0178-.bashrc-cdat-pass-arguments-to-dat-.bashrc.patch diff --git a/split-patch/test/chj-home-expected/--regenerate/0179-.bashrc-change-cdnn-cdnnn-to-use-lastdir-depth/0179-.bashrc-change-cdnn-cdnnn-to-use-lastdir-depth-.bashrc.patch b/split-patch/test/chj-home-expected/--regenerate/0179-.bashrc-change-cdnn-cdnnn-to-use-lastdir-depth/0179-.bashrc-change-cdnn-cdnnn-to-use-lastdir-depth-.bashrc.patch new file mode 100644 index 0000000..e4a7f40 --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0179-.bashrc-change-cdnn-cdnnn-to-use-lastdir-depth/0179-.bashrc-change-cdnn-cdnnn-to-use-lastdir-depth-.bashrc.patch @@ -0,0 +1,71 @@ +From d22fea0e520e351f4bd680b42f5ae744c949bd4a Mon Sep 17 00:00:00 2001 +From: Christian Jaeger +Date: Sun, 1 Sep 2024 05:29:55 +0200 +Subject: .bashrc: [PATCH 179/191] .bashrc: change cdnn, cdnnn to use lastdir --depth + +Also fixes a typo in cd_newest_sisterfolder?! +--- + .bashrc | 27 +++++++++++++++------------ + 1 file changed, 15 insertions(+), 12 deletions(-) + +diff --git a/.bashrc b/.bashrc +index 810281a..27e1dd8 100644 +--- a/.bashrc ++++ b/.bashrc +@@ -139,41 +139,44 @@ mvcd () { + fi + } + _ls_newest () { +- lastdir --fullpath -a -- "$@" ++ local n ++ n="$1" ++ shift ++ lastdir --depth "$n" --fullpath -a -- "$@" + } + cd_newest_sisterfolder () { +- cd "$(_ls_newest ..)$" ++ local n ++ n="${1-0}" ++ cd "$(_ls_newest "$n" ..)" + } + cd_newest () { +- cd "$(_ls_newest .)" ++ local n ++ n="${1-0}" ++ cd "$(_ls_newest "$n" .)" + } + cdat() { + cdnewdir "$(dat --day --week "$@")" + } + cdn () { + if [ $# -eq 0 ]; then +- cd_newest ++ cd_newest 0 + else + cdnewdir "$@" + fi + } + cdnn () { + if [ $# -eq 0 ]; then +- cd_newest +- cd_newest ++ cd_newest 1 + else +- cd_newest ++ cd_newest 0 + cdnewdir "$@" + fi + } + cdnnn () { + if [ $# -eq 0 ]; then +- cd_newest +- cd_newest +- cd_newest ++ cd_newest 2 + else +- cd_newest +- cd_newest ++ cd_newest 1 + cdnewdir "$@" + fi + } diff --git a/split-patch/test/chj-home-expected/--regenerate/0179-.bashrc-change-cdnn-cdnnn-to-use-lastdir-depth/_list b/split-patch/test/chj-home-expected/--regenerate/0179-.bashrc-change-cdnn-cdnnn-to-use-lastdir-depth/_list new file mode 100644 index 0000000..db383dc --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0179-.bashrc-change-cdnn-cdnnn-to-use-lastdir-depth/_list @@ -0,0 +1 @@ +--regenerate/0179-.bashrc-change-cdnn-cdnnn-to-use-lastdir-depth/0179-.bashrc-change-cdnn-cdnnn-to-use-lastdir-depth-.bashrc.patch diff --git a/split-patch/test/chj-home-expected/--regenerate/0180-.bashrc-cdn-cdnn-cdnnn-pass-a-option-to-lastdir/0180-.bashrc-cdn-cdnn-cdnnn-pass-a-option-to-lastdir-.bashrc.patch b/split-patch/test/chj-home-expected/--regenerate/0180-.bashrc-cdn-cdnn-cdnnn-pass-a-option-to-lastdir/0180-.bashrc-cdn-cdnn-cdnnn-pass-a-option-to-lastdir-.bashrc.patch new file mode 100644 index 0000000..c63c991 --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0180-.bashrc-cdn-cdnn-cdnnn-pass-a-option-to-lastdir/0180-.bashrc-cdn-cdnn-cdnnn-pass-a-option-to-lastdir-.bashrc.patch @@ -0,0 +1,91 @@ +From 5d1ebc04448350b46eec0486fc017caac13cbcf5 Mon Sep 17 00:00:00 2001 +From: Christian Jaeger +Date: Sun, 1 Sep 2024 13:08:47 +0200 +Subject: .bashrc: [PATCH 180/191] .bashrc: cdn, cdnn, cdnnn: pass -a option to lastdir + +Removing the -a by default. +--- + .bashrc | 43 ++++++++++++++++++++++++++++++++++--------- + 1 file changed, 34 insertions(+), 9 deletions(-) + +diff --git a/.bashrc b/.bashrc +index 27e1dd8..61fe4ae 100644 +--- a/.bashrc ++++ b/.bashrc +@@ -141,42 +141,67 @@ mvcd () { + _ls_newest () { + local n + n="$1" ++ local opts ++ opts="$2" + shift +- lastdir --depth "$n" --fullpath -a -- "$@" ++ shift ++ lastdir --depth "$n" --fullpath $opts -- "$@" + } + cd_newest_sisterfolder () { + local n + n="${1-0}" +- cd "$(_ls_newest "$n" ..)" ++ local opts ++ opts="${2-}" ++ cd "$(_ls_newest "$n" "$opts" ..)" + } + cd_newest () { + local n + n="${1-0}" +- cd "$(_ls_newest "$n" .)" ++ local opts ++ opts="${2-}" ++ cd "$(_ls_newest "$n" "$opts" .)" + } + cdat() { + cdnewdir "$(dat --day --week "$@")" + } + cdn () { ++ local opts ++ opts="" ++ if [ "${1-}" = "-a" ]; then ++ opts="-a" ++ shift ++ fi + if [ $# -eq 0 ]; then +- cd_newest 0 ++ cd_newest 0 "$opts" + else +- cdnewdir "$@" ++ cdnewdir "$@" + fi + } + cdnn () { ++ local opts ++ opts="" ++ if [ "${1-}" = "-a" ]; then ++ opts="-a" ++ shift ++ fi + if [ $# -eq 0 ]; then +- cd_newest 1 ++ cd_newest 1 "$opts" + else +- cd_newest 0 ++ cd_newest 0 "$opts" + cdnewdir "$@" + fi + } + cdnnn () { ++ local opts ++ opts="" ++ if [ "${1-}" = "-a" ]; then ++ opts="-a" ++ shift ++ fi + if [ $# -eq 0 ]; then +- cd_newest 2 ++ cd_newest 2 "$opts" + else +- cd_newest 1 ++ cd_newest 1 "$opts" + cdnewdir "$@" + fi + } diff --git a/split-patch/test/chj-home-expected/--regenerate/0180-.bashrc-cdn-cdnn-cdnnn-pass-a-option-to-lastdir/_list b/split-patch/test/chj-home-expected/--regenerate/0180-.bashrc-cdn-cdnn-cdnnn-pass-a-option-to-lastdir/_list new file mode 100644 index 0000000..bee0d97 --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0180-.bashrc-cdn-cdnn-cdnnn-pass-a-option-to-lastdir/_list @@ -0,0 +1 @@ +--regenerate/0180-.bashrc-cdn-cdnn-cdnnn-pass-a-option-to-lastdir/0180-.bashrc-cdn-cdnn-cdnnn-pass-a-option-to-lastdir-.bashrc.patch diff --git a/split-patch/test/chj-home-expected/--regenerate/0181-.bashrc-finally-remove-df-wrapper/0181-.bashrc-finally-remove-df-wrapper-.bashrc.patch b/split-patch/test/chj-home-expected/--regenerate/0181-.bashrc-finally-remove-df-wrapper/0181-.bashrc-finally-remove-df-wrapper-.bashrc.patch new file mode 100644 index 0000000..c419715 --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0181-.bashrc-finally-remove-df-wrapper/0181-.bashrc-finally-remove-df-wrapper-.bashrc.patch @@ -0,0 +1,24 @@ +From 7f965ac32f55696eada2c7283554dce125062f85 Mon Sep 17 00:00:00 2001 +From: Christian Jaeger +Date: Mon, 25 Nov 2024 23:30:00 +0100 +Subject: .bashrc: [PATCH 181/191] .bashrc: finally remove 'df' wrapper + +It breaks on every single release or distro. Just stop it. It actually +even messes up the display when it *does* work. And it was just for +chroots. Just stop. +--- + .bashrc | 1 - + 1 file changed, 1 deletion(-) + +diff --git a/.bashrc b/.bashrc +index 61fe4ae..e37a26f 100644 +--- a/.bashrc ++++ b/.bashrc +@@ -326,7 +326,6 @@ ct () { + + + find () { my.find "$@"; } +-df () { my.df "$@"; } + mt () { /opt/chj/bin/mt "$@"; } + + mv () { command mv -i "$@"; } diff --git a/split-patch/test/chj-home-expected/--regenerate/0181-.bashrc-finally-remove-df-wrapper/_list b/split-patch/test/chj-home-expected/--regenerate/0181-.bashrc-finally-remove-df-wrapper/_list new file mode 100644 index 0000000..b83a1d9 --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0181-.bashrc-finally-remove-df-wrapper/_list @@ -0,0 +1 @@ +--regenerate/0181-.bashrc-finally-remove-df-wrapper/0181-.bashrc-finally-remove-df-wrapper-.bashrc.patch diff --git a/split-patch/test/chj-home-expected/--regenerate/0182-.chj-home-init-follow-BROWSER-env-var-protocol/0182-.chj-home-init-follow-BROWSER-env-var-protocol-.chj-home_init.patch b/split-patch/test/chj-home-expected/--regenerate/0182-.chj-home-init-follow-BROWSER-env-var-protocol/0182-.chj-home-init-follow-BROWSER-env-var-protocol-.chj-home_init.patch new file mode 100644 index 0000000..08636f1 --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0182-.chj-home-init-follow-BROWSER-env-var-protocol/0182-.chj-home-init-follow-BROWSER-env-var-protocol-.chj-home_init.patch @@ -0,0 +1,24 @@ +From 2e7e480d624469429fa33953d0a4684cba235121 Mon Sep 17 00:00:00 2001 +From: Christian Jaeger +Date: Wed, 5 Feb 2025 22:32:00 +0100 +Subject: .chj-home/init: [PATCH 182/191] .chj-home/init: follow BROWSER env var protocol + +Which I now know is a PATH like string of binary names to try, +separated by ":". No splitting on space is done. +--- + .chj-home/init | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/.chj-home/init b/.chj-home/init +index a72635d..12c05ca 100755 +--- a/.chj-home/init ++++ b/.chj-home/init +@@ -75,7 +75,7 @@ if [ -e .bash_profile_local ]; then + fi + cat <<'EOF' > .bash_profile_local + export EDITOR=e +-export BROWSER="firefox --new-window" ++export BROWSER="firefox--new-window" + export EMAIL=$(cat ~/.chj-home_email) + export LANG=en_GB.UTF-8 + EOF diff --git a/split-patch/test/chj-home-expected/--regenerate/0182-.chj-home-init-follow-BROWSER-env-var-protocol/_list b/split-patch/test/chj-home-expected/--regenerate/0182-.chj-home-init-follow-BROWSER-env-var-protocol/_list new file mode 100644 index 0000000..6a9da9e --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0182-.chj-home-init-follow-BROWSER-env-var-protocol/_list @@ -0,0 +1 @@ +--regenerate/0182-.chj-home-init-follow-BROWSER-env-var-protocol/0182-.chj-home-init-follow-BROWSER-env-var-protocol-.chj-home_init.patch diff --git a/split-patch/test/chj-home-expected/--regenerate/0183-.chj-home-init-use-ew-as-editor/0183-.chj-home-init-use-ew-as-editor-.chj-home_init.patch b/split-patch/test/chj-home-expected/--regenerate/0183-.chj-home-init-use-ew-as-editor/0183-.chj-home-init-use-ew-as-editor-.chj-home_init.patch new file mode 100644 index 0000000..4110e01 --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0183-.chj-home-init-use-ew-as-editor/0183-.chj-home-init-use-ew-as-editor-.chj-home_init.patch @@ -0,0 +1,24 @@ +From 9bdaf07400e90416cd816f6cee95006dbbecac16 Mon Sep 17 00:00:00 2001 +From: Christian Jaeger +Date: Wed, 5 Feb 2025 22:51:54 +0100 +Subject: .chj-home/init: [PATCH 183/191] .chj-home/init: use `ew` as editor + +`ew` is a new alias for `e` that explicitly waits (and ignores the +`E_IS` env var). +--- + .chj-home/init | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/.chj-home/init b/.chj-home/init +index 12c05ca..acdd02b 100755 +--- a/.chj-home/init ++++ b/.chj-home/init +@@ -74,7 +74,7 @@ if [ -e .bash_profile_local ]; then + /opt/chj/bin/mvnumber .bash_profile_local + fi + cat <<'EOF' > .bash_profile_local +-export EDITOR=e ++export EDITOR=ew + export BROWSER="firefox--new-window" + export EMAIL=$(cat ~/.chj-home_email) + export LANG=en_GB.UTF-8 diff --git a/split-patch/test/chj-home-expected/--regenerate/0183-.chj-home-init-use-ew-as-editor/_list b/split-patch/test/chj-home-expected/--regenerate/0183-.chj-home-init-use-ew-as-editor/_list new file mode 100644 index 0000000..5fb6c50 --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0183-.chj-home-init-use-ew-as-editor/_list @@ -0,0 +1 @@ +--regenerate/0183-.chj-home-init-use-ew-as-editor/0183-.chj-home-init-use-ew-as-editor-.chj-home_init.patch diff --git a/split-patch/test/chj-home-expected/--regenerate/0184-.bashrc-add-cdgit/0184-.bashrc-add-cdgit-.bashrc.patch b/split-patch/test/chj-home-expected/--regenerate/0184-.bashrc-add-cdgit/0184-.bashrc-add-cdgit-.bashrc.patch new file mode 100644 index 0000000..4ed831d --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0184-.bashrc-add-cdgit/0184-.bashrc-add-cdgit-.bashrc.patch @@ -0,0 +1,30 @@ +From 7dc6dde4211faa102e070d5906d21942adb84874 Mon Sep 17 00:00:00 2001 +From: Christian Jaeger +Date: Mon, 18 Aug 2025 14:49:53 +0200 +Subject: .bashrc: [PATCH 184/191] .bashrc: add `cdgit` + +--- + .bashrc | 10 ++++++++++ + 1 file changed, 10 insertions(+) + +diff --git a/.bashrc b/.bashrc +index e37a26f..a26c2a0 100644 +--- a/.bashrc ++++ b/.bashrc +@@ -138,6 +138,16 @@ mvcd () { + false + fi + } ++ ++cdgit() { ++ local d ++ if d=$(git rev-parse --git-dir); then ++ cd "$d/.." ++ else ++ false ++ fi ++} ++ + _ls_newest () { + local n + n="$1" diff --git a/split-patch/test/chj-home-expected/--regenerate/0184-.bashrc-add-cdgit/_list b/split-patch/test/chj-home-expected/--regenerate/0184-.bashrc-add-cdgit/_list new file mode 100644 index 0000000..e482709 --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0184-.bashrc-add-cdgit/_list @@ -0,0 +1 @@ +--regenerate/0184-.bashrc-add-cdgit/0184-.bashrc-add-cdgit-.bashrc.patch diff --git a/split-patch/test/chj-home-expected/--regenerate/0185-.bash_profile-need-to-set-umask-now/0185-.bash_profile-need-to-set-umask-now-.bash_profile.patch b/split-patch/test/chj-home-expected/--regenerate/0185-.bash_profile-need-to-set-umask-now/0185-.bash_profile-need-to-set-umask-now-.bash_profile.patch new file mode 100644 index 0000000..2a6f93b --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0185-.bash_profile-need-to-set-umask-now/0185-.bash_profile-need-to-set-umask-now-.bash_profile.patch @@ -0,0 +1,23 @@ +From 3fad176476a40517c24e7f691f002fedb4594d44 Mon Sep 17 00:00:00 2001 +From: Christian Jaeger +Date: Thu, 30 Oct 2025 04:18:54 +0100 +Subject: .bash_profile: [PATCH 185/191] .bash_profile: need to set umask now? + +Newest Debian? +--- + .bash_profile | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/.bash_profile b/.bash_profile +index 9a19baa..17592f2 100644 +--- a/.bash_profile ++++ b/.bash_profile +@@ -18,7 +18,7 @@ fi + export CHJHOSTNAME="$(head -1 /etc/hostname)" + + # the default umask is set in /etc/login.defs +-# umask 002 ++umask 022 + + PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/opt/chj/bin:/opt/chj/cj-git-patchtool:/opt/chj/git-sign/bin:/opt/chj/cj-qemucontrol/bin:/opt/chj/chjize/bin + diff --git a/split-patch/test/chj-home-expected/--regenerate/0185-.bash_profile-need-to-set-umask-now/_list b/split-patch/test/chj-home-expected/--regenerate/0185-.bash_profile-need-to-set-umask-now/_list new file mode 100644 index 0000000..9429ce4 --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0185-.bash_profile-need-to-set-umask-now/_list @@ -0,0 +1 @@ +--regenerate/0185-.bash_profile-need-to-set-umask-now/0185-.bash_profile-need-to-set-umask-now-.bash_profile.patch diff --git a/split-patch/test/chj-home-expected/--regenerate/0186-.gitignore_global-ignore-.cj-cargolock/0186-.gitignore_global-ignore-.cj-cargolock-.gitignore_global.patch b/split-patch/test/chj-home-expected/--regenerate/0186-.gitignore_global-ignore-.cj-cargolock/0186-.gitignore_global-ignore-.cj-cargolock-.gitignore_global.patch new file mode 100644 index 0000000..b1c11c8 --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0186-.gitignore_global-ignore-.cj-cargolock/0186-.gitignore_global-ignore-.cj-cargolock-.gitignore_global.patch @@ -0,0 +1,18 @@ +From 14c4c28f5ff1c8d68d768a9e741b9e2043b3e82c Mon Sep 17 00:00:00 2001 +From: Christian Jaeger +Date: Sun, 2 Nov 2025 04:08:31 +0100 +Subject: .gitignore_global: [PATCH 186/191] .gitignore_global: ignore .cj-cargolock/ + +--- + .gitignore_global | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/.gitignore_global b/.gitignore_global +index d98cee5..d26bf38 100644 +--- a/.gitignore_global ++++ b/.gitignore_global +@@ -6,3 +6,4 @@ nohup.out + .gdb_history + a.out + .cache/ ++.cj-cargolock/ diff --git a/split-patch/test/chj-home-expected/--regenerate/0186-.gitignore_global-ignore-.cj-cargolock/_list b/split-patch/test/chj-home-expected/--regenerate/0186-.gitignore_global-ignore-.cj-cargolock/_list new file mode 100644 index 0000000..57a3bc0 --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0186-.gitignore_global-ignore-.cj-cargolock/_list @@ -0,0 +1 @@ +--regenerate/0186-.gitignore_global-ignore-.cj-cargolock/0186-.gitignore_global-ignore-.cj-cargolock-.gitignore_global.patch diff --git a/split-patch/test/chj-home-expected/--regenerate/0187-.gitignore_global-ignore-__pycache__/0187-.gitignore_global-ignore-__pycache__-.gitignore_global.patch b/split-patch/test/chj-home-expected/--regenerate/0187-.gitignore_global-ignore-__pycache__/0187-.gitignore_global-ignore-__pycache__-.gitignore_global.patch new file mode 100644 index 0000000..1c2c8ce --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0187-.gitignore_global-ignore-__pycache__/0187-.gitignore_global-ignore-__pycache__-.gitignore_global.patch @@ -0,0 +1,18 @@ +From 312bc33750bd8a9d90937455bab3bc7590872471 Mon Sep 17 00:00:00 2001 +From: Christian Jaeger +Date: Thu, 13 Nov 2025 13:42:54 +0100 +Subject: .gitignore_global: [PATCH 187/191] .gitignore_global: ignore __pycache__/ + +--- + .gitignore_global | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/.gitignore_global b/.gitignore_global +index d26bf38..e5c0c66 100644 +--- a/.gitignore_global ++++ b/.gitignore_global +@@ -1,3 +1,4 @@ ++__pycache__/ + /PATCHES + *~ + *.xhtml diff --git a/split-patch/test/chj-home-expected/--regenerate/0187-.gitignore_global-ignore-__pycache__/_list b/split-patch/test/chj-home-expected/--regenerate/0187-.gitignore_global-ignore-__pycache__/_list new file mode 100644 index 0000000..a99aa0a --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0187-.gitignore_global-ignore-__pycache__/_list @@ -0,0 +1 @@ +--regenerate/0187-.gitignore_global-ignore-__pycache__/0187-.gitignore_global-ignore-__pycache__-.gitignore_global.patch diff --git a/split-patch/test/chj-home-expected/--regenerate/0188-.bashrc-add-cdnnnn-and-cdnnnnn/0188-.bashrc-add-cdnnnn-and-cdnnnnn-.bashrc.patch b/split-patch/test/chj-home-expected/--regenerate/0188-.bashrc-add-cdnnnn-and-cdnnnnn/0188-.bashrc-add-cdnnnn-and-cdnnnnn-.bashrc.patch new file mode 100644 index 0000000..3d7ffc4 --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0188-.bashrc-add-cdnnnn-and-cdnnnnn/0188-.bashrc-add-cdnnnn-and-cdnnnnn-.bashrc.patch @@ -0,0 +1,48 @@ +From 35bfcc88c9c6e8b55b464714750f87cf4ac2a67f Mon Sep 17 00:00:00 2001 +From: Christian Jaeger +Date: Tue, 18 Nov 2025 10:43:40 +0100 +Subject: .bashrc: [PATCH 188/191] .bashrc: add cdnnnn and cdnnnnn + +--- + .bashrc | 28 ++++++++++++++++++++++++++++ + 1 file changed, 28 insertions(+) + +diff --git a/.bashrc b/.bashrc +index a26c2a0..e7f6249 100644 +--- a/.bashrc ++++ b/.bashrc +@@ -215,6 +215,34 @@ cdnnn () { + cdnewdir "$@" + fi + } ++cdnnnn () { ++ local opts ++ opts="" ++ if [ "${1-}" = "-a" ]; then ++ opts="-a" ++ shift ++ fi ++ if [ $# -eq 0 ]; then ++ cd_newest 3 "$opts" ++ else ++ cd_newest 2 "$opts" ++ cdnewdir "$@" ++ fi ++} ++cdnnnnn () { ++ local opts ++ opts="" ++ if [ "${1-}" = "-a" ]; then ++ opts="-a" ++ shift ++ fi ++ if [ $# -eq 0 ]; then ++ cd_newest 4 "$opts" ++ else ++ cd_newest 3 "$opts" ++ cdnewdir "$@" ++ fi ++} + + _cgd_ () { + local gd_="$1" diff --git a/split-patch/test/chj-home-expected/--regenerate/0188-.bashrc-add-cdnnnn-and-cdnnnnn/_list b/split-patch/test/chj-home-expected/--regenerate/0188-.bashrc-add-cdnnnn-and-cdnnnnn/_list new file mode 100644 index 0000000..bd0f1d6 --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0188-.bashrc-add-cdnnnn-and-cdnnnnn/_list @@ -0,0 +1 @@ +--regenerate/0188-.bashrc-add-cdnnnn-and-cdnnnnn/0188-.bashrc-add-cdnnnn-and-cdnnnnn-.bashrc.patch diff --git a/split-patch/test/chj-home-expected/--regenerate/0189-.bashrc-add-cdnnnnnn-and-cdnnnnnnn/0189-.bashrc-add-cdnnnnnn-and-cdnnnnnnn-.bashrc.patch b/split-patch/test/chj-home-expected/--regenerate/0189-.bashrc-add-cdnnnnnn-and-cdnnnnnnn/0189-.bashrc-add-cdnnnnnn-and-cdnnnnnnn-.bashrc.patch new file mode 100644 index 0000000..96f7eb1 --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0189-.bashrc-add-cdnnnnnn-and-cdnnnnnnn/0189-.bashrc-add-cdnnnnnn-and-cdnnnnnnn-.bashrc.patch @@ -0,0 +1,48 @@ +From 2ae56d5d60c850ac9bb76e6c91d5d7e8a2a2e482 Mon Sep 17 00:00:00 2001 +From: Christian Jaeger +Date: Tue, 18 Nov 2025 10:49:51 +0100 +Subject: .bashrc: [PATCH 189/191] .bashrc: add cdnnnnnn and cdnnnnnnn + +--- + .bashrc | 28 ++++++++++++++++++++++++++++ + 1 file changed, 28 insertions(+) + +diff --git a/.bashrc b/.bashrc +index e7f6249..fcac8c1 100644 +--- a/.bashrc ++++ b/.bashrc +@@ -243,6 +243,34 @@ cdnnnnn () { + cdnewdir "$@" + fi + } ++cdnnnnnn () { ++ local opts ++ opts="" ++ if [ "${1-}" = "-a" ]; then ++ opts="-a" ++ shift ++ fi ++ if [ $# -eq 0 ]; then ++ cd_newest 5 "$opts" ++ else ++ cd_newest 4 "$opts" ++ cdnewdir "$@" ++ fi ++} ++cdnnnnnnn () { ++ local opts ++ opts="" ++ if [ "${1-}" = "-a" ]; then ++ opts="-a" ++ shift ++ fi ++ if [ $# -eq 0 ]; then ++ cd_newest 6 "$opts" ++ else ++ cd_newest 5 "$opts" ++ cdnewdir "$@" ++ fi ++} + + _cgd_ () { + local gd_="$1" diff --git a/split-patch/test/chj-home-expected/--regenerate/0189-.bashrc-add-cdnnnnnn-and-cdnnnnnnn/_list b/split-patch/test/chj-home-expected/--regenerate/0189-.bashrc-add-cdnnnnnn-and-cdnnnnnnn/_list new file mode 100644 index 0000000..f6c5f6b --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0189-.bashrc-add-cdnnnnnn-and-cdnnnnnnn/_list @@ -0,0 +1 @@ +--regenerate/0189-.bashrc-add-cdnnnnnn-and-cdnnnnnnn/0189-.bashrc-add-cdnnnnnn-and-cdnnnnnnn-.bashrc.patch diff --git a/split-patch/test/chj-home-expected/--regenerate/0190-.bashrc-update-color-detection/0190-.bashrc-update-color-detection-.bashrc.patch b/split-patch/test/chj-home-expected/--regenerate/0190-.bashrc-update-color-detection/0190-.bashrc-update-color-detection-.bashrc.patch new file mode 100644 index 0000000..5401b64 --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0190-.bashrc-update-color-detection/0190-.bashrc-update-color-detection-.bashrc.patch @@ -0,0 +1,22 @@ +From c8e7655738f3f70c99e5ed84b09acb8581501249 Mon Sep 17 00:00:00 2001 +From: Christian Jaeger +Date: Fri, 5 Jun 2026 16:23:16 +0200 +Subject: .bashrc: [PATCH 190/191] .bashrc: update color detection + +--- + .bashrc | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/.bashrc b/.bashrc +index fcac8c1..eff7b9c 100644 +--- a/.bashrc ++++ b/.bashrc +@@ -39,7 +39,7 @@ __ps1_show_exitcode () { + + # set a fancy prompt (non-color, unless we know we "want" color) + case "$TERM" in +-xterm-color|xterm) ++xterm-256color|xterm-color|xterm) + PS1='$(__ps1_show_exitcode)\u@$CHJHOSTNAME\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ ' + ;; + *) diff --git a/split-patch/test/chj-home-expected/--regenerate/0190-.bashrc-update-color-detection/_list b/split-patch/test/chj-home-expected/--regenerate/0190-.bashrc-update-color-detection/_list new file mode 100644 index 0000000..62f000a --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0190-.bashrc-update-color-detection/_list @@ -0,0 +1 @@ +--regenerate/0190-.bashrc-update-color-detection/0190-.bashrc-update-color-detection-.bashrc.patch diff --git a/split-patch/test/chj-home-expected/--regenerate/0191-.bashrc-add-lft/0191-.bashrc-add-lft-.bashrc.patch b/split-patch/test/chj-home-expected/--regenerate/0191-.bashrc-add-lft/0191-.bashrc-add-lft-.bashrc.patch new file mode 100644 index 0000000..b270888 --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0191-.bashrc-add-lft/0191-.bashrc-add-lft-.bashrc.patch @@ -0,0 +1,21 @@ +From 1f64e01e368afe9698d7a7f15ad92fb231bd8883 Mon Sep 17 00:00:00 2001 +From: Christian Jaeger +Date: Thu, 11 Jun 2026 20:22:20 +0200 +Subject: .bashrc: [PATCH 191/191] .bashrc: add `lft` + +--- + .bashrc | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/.bashrc b/.bashrc +index eff7b9c..bf9938d 100644 +--- a/.bashrc ++++ b/.bashrc +@@ -393,6 +393,7 @@ ct () { + + find () { my.find "$@"; } + mt () { /opt/chj/bin/mt "$@"; } ++lft () { my.lft "$@"; } + + mv () { command mv -i "$@"; } + cp () { command cp -i "$@"; } diff --git a/split-patch/test/chj-home-expected/--regenerate/0191-.bashrc-add-lft/_list b/split-patch/test/chj-home-expected/--regenerate/0191-.bashrc-add-lft/_list new file mode 100644 index 0000000..3a77ca3 --- /dev/null +++ b/split-patch/test/chj-home-expected/--regenerate/0191-.bashrc-add-lft/_list @@ -0,0 +1 @@ +--regenerate/0191-.bashrc-add-lft/0191-.bashrc-add-lft-.bashrc.patch diff --git a/split-patch/test/div-expected/--regenerate/0001-PART-3/0001-PART-3-src_kitschcell.rs.patch b/split-patch/test/div-expected/--regenerate/0001-PART-3/0001-PART-3-src_kitschcell.rs.patch new file mode 100644 index 0000000..2ff76cb --- /dev/null +++ b/split-patch/test/div-expected/--regenerate/0001-PART-3/0001-PART-3-src_kitschcell.rs.patch @@ -0,0 +1,56 @@ +From 4c129168dca2a294142e2ecd74731a5bd1130491 Mon Sep 17 00:00:00 2001 +From: Christian Jaeger +Date: Mon, 27 Apr 2026 08:29:20 +0200 +Subject: [PATCH] src/kitschcell.rs: PART 3 + +- Do not use Pin, as we're only ever returning shared `&`, never + `&mut`. (Still leave `_pin` in, just in case that changes later.) + +-------------------------------- src/bin/lst.rs -------------------------------- + +- since we now have 2 different path implementations, move the + continuation from that point on to its own parameterized + continuation function, `main_cont` +--- + src/bin/lst.rs | 188 +++++++++++++++++-------- + src/kitschcell.rs | 26 ++++ + src/leaked_region.rs | 8 +- + src/lib.rs | 1 + + src/lst/get_items.rs | 188 ++++++++++++++----------- + src/lst/possibly_segmented_path.rs | 46 +++--- + src/lst/segmented_path.rs | 216 +++++++++++++++++++++++++---- + 7 files changed, 483 insertions(+), 190 deletions(-) + create mode 100644 src/kitschcell.rs + +diff --git a/src/kitschcell.rs b/src/kitschcell.rs +new file mode 100644 +index 0000000..4201770 +--- /dev/null ++++ b/src/kitschcell.rs +@@ -0,0 +1,26 @@ ++//! Lazy once more. bc lifetimes. ++ ++pub enum KitschCell T> { ++ Uninitialized(F), ++ Initialized(T), ++} ++ ++pub trait KitschCache { ++ fn get(&mut self) -> &mut T; ++} ++ ++impl T> KitschCache for KitschCell { ++ fn get(&mut self) -> &mut T { ++ match self { ++ KitschCell::Uninitialized(f) => { ++ let val = f(); ++ *self = KitschCell::Initialized(val); ++ match self { ++ KitschCell::Uninitialized(_) => unreachable!(), ++ KitschCell::Initialized(val) => val, ++ } ++ } ++ KitschCell::Initialized(val) => val, ++ } ++ } ++} diff --git a/split-patch/test/div-expected/--regenerate/0001-PART-3/0001-PART-3-src_leaked_region.rs.patch b/split-patch/test/div-expected/--regenerate/0001-PART-3/0001-PART-3-src_leaked_region.rs.patch new file mode 100644 index 0000000..600a5b3 --- /dev/null +++ b/split-patch/test/div-expected/--regenerate/0001-PART-3/0001-PART-3-src_leaked_region.rs.patch @@ -0,0 +1,43 @@ +From 4c129168dca2a294142e2ecd74731a5bd1130491 Mon Sep 17 00:00:00 2001 +From: Christian Jaeger +Date: Mon, 27 Apr 2026 08:29:20 +0200 +Subject: [PATCH] src/leaked_region.rs: PART 3 + +- Do not use Pin, as we're only ever returning shared `&`, never + `&mut`. (Still leave `_pin` in, just in case that changes later.) + +-------------------------------- src/bin/lst.rs -------------------------------- + +- since we now have 2 different path implementations, move the + continuation from that point on to its own parameterized + continuation function, `main_cont` +--- + src/bin/lst.rs | 188 +++++++++++++++++-------- + src/kitschcell.rs | 26 ++++ + src/leaked_region.rs | 8 +- + src/lib.rs | 1 + + src/lst/get_items.rs | 188 ++++++++++++++----------- + src/lst/possibly_segmented_path.rs | 46 +++--- + src/lst/segmented_path.rs | 216 +++++++++++++++++++++++++---- + 7 files changed, 483 insertions(+), 190 deletions(-) + create mode 100644 src/kitschcell.rs + +diff --git a/src/leaked_region.rs b/src/leaked_region.rs +index 9380a8a..11977c1 100644 +--- a/src/leaked_region.rs ++++ b/src/leaked_region.rs +@@ -282,7 +282,13 @@ impl<'g> LeakedRegion<'g> { + /// allocation; and the last `num_bytes` of that last allocation + /// must be unused. + pub unsafe fn return_unused(&mut self, num_bytes: usize) { +- // XXX todo ++ let off: isize = num_bytes ++ .try_into() ++ .expect("expect num_bytes to be small enough to fit in isize"); ++ let inner_leaked_region = ++ self.inner_leaked_region.as_mut().expect("always there"); ++ let data2 = inner_leaked_region.current.data.offset(off); ++ inner_leaked_region.current.data = data2; + } + + pub fn allocate_path<'s, P: AsRef>(&'s mut self, path: P) -> &'g Path diff --git a/split-patch/test/div-expected/--regenerate/0001-PART-3/0001-PART-3-src_lib.rs.patch b/split-patch/test/div-expected/--regenerate/0001-PART-3/0001-PART-3-src_lib.rs.patch new file mode 100644 index 0000000..a90ca58 --- /dev/null +++ b/split-patch/test/div-expected/--regenerate/0001-PART-3/0001-PART-3-src_lib.rs.patch @@ -0,0 +1,36 @@ +From 4c129168dca2a294142e2ecd74731a5bd1130491 Mon Sep 17 00:00:00 2001 +From: Christian Jaeger +Date: Mon, 27 Apr 2026 08:29:20 +0200 +Subject: [PATCH] src/lib.rs: PART 3 + +- Do not use Pin, as we're only ever returning shared `&`, never + `&mut`. (Still leave `_pin` in, just in case that changes later.) + +-------------------------------- src/bin/lst.rs -------------------------------- + +- since we now have 2 different path implementations, move the + continuation from that point on to its own parameterized + continuation function, `main_cont` +--- + src/bin/lst.rs | 188 +++++++++++++++++-------- + src/kitschcell.rs | 26 ++++ + src/leaked_region.rs | 8 +- + src/lib.rs | 1 + + src/lst/get_items.rs | 188 ++++++++++++++----------- + src/lst/possibly_segmented_path.rs | 46 +++--- + src/lst/segmented_path.rs | 216 +++++++++++++++++++++++++---- + 7 files changed, 483 insertions(+), 190 deletions(-) + create mode 100644 src/kitschcell.rs + +diff --git a/src/lib.rs b/src/lib.rs +index c6c10a6..e6146fe 100644 +--- a/src/lib.rs ++++ b/src/lib.rs +@@ -18,6 +18,7 @@ pub mod index_map; + pub mod io; + pub mod io_utils; + pub mod is_a_terminal; ++pub mod kitschcell; + pub mod leaked_region; + pub mod lst; + pub mod merge; diff --git a/split-patch/test/div-expected/--regenerate/0001-PART-3/0001-PART-3-src_lst_get_items.rs.patch b/split-patch/test/div-expected/--regenerate/0001-PART-3/0001-PART-3-src_lst_get_items.rs.patch new file mode 100644 index 0000000..589fb29 --- /dev/null +++ b/split-patch/test/div-expected/--regenerate/0001-PART-3/0001-PART-3-src_lst_get_items.rs.patch @@ -0,0 +1,323 @@ +From 4c129168dca2a294142e2ecd74731a5bd1130491 Mon Sep 17 00:00:00 2001 +From: Christian Jaeger +Date: Mon, 27 Apr 2026 08:29:20 +0200 +Subject: [PATCH] src/lst/get_items.rs: PART 3 + +- Do not use Pin, as we're only ever returning shared `&`, never + `&mut`. (Still leave `_pin` in, just in case that changes later.) + +-------------------------------- src/bin/lst.rs -------------------------------- + +- since we now have 2 different path implementations, move the + continuation from that point on to its own parameterized + continuation function, `main_cont` +--- + src/bin/lst.rs | 188 +++++++++++++++++-------- + src/kitschcell.rs | 26 ++++ + src/leaked_region.rs | 8 +- + src/lib.rs | 1 + + src/lst/get_items.rs | 188 ++++++++++++++----------- + src/lst/possibly_segmented_path.rs | 46 +++--- + src/lst/segmented_path.rs | 216 +++++++++++++++++++++++++---- + 7 files changed, 483 insertions(+), 190 deletions(-) + create mode 100644 src/kitschcell.rs + +diff --git a/src/lst/get_items.rs b/src/lst/get_items.rs +index ccbc0b0..d019deb 100644 +--- a/src/lst/get_items.rs ++++ b/src/lst/get_items.rs +@@ -19,7 +19,10 @@ use crate::{ + io::{unix_gr::Gid, unix_pw::Uid}, + io_utils::read_buf::ReadBufStreamError, + leaked_region::GlobalLeakedRegions, +- lst::possibly_segmented_path::PossiblySegmentedPath, ++ lst::{ ++ possibly_segmented_path::PossiblySegmentedPath, ++ segmented_path::{tmp_path_buffer, SegmentedPath}, ++ }, + path_file_kind::{FileKind, ToFileKind}, + probe, + time::age_at::AgeAt, +@@ -381,14 +384,14 @@ impl EssentialMetadata { + + // Need PartialEq, Eq for tests + #[derive(Debug, Clone, PartialEq, Eq)] +-pub struct Item<'region, P: PossiblySegmentedPath<'region>> { ++pub struct Item<'region, P: PossiblySegmentedPath<'region, INLINE>, INLINE> { + pub path: P, + pub metadata: EssentialMetadata, + /// Metadata for the path if there was no error getting it + pub link_target: Option<(Box, Option>)>, + // XX wanted to keep this field private to make it impossible to + // create? +- pub _phantom: PhantomData<&'region ()>, ++ pub _phantom: PhantomData &'region INLINE>, + } + + #[test] +@@ -405,13 +408,15 @@ fn t_sizes() { + assert_eq!(size_of::(), 64); + // 16+64+8+64=152, actually 160 when flat; 104 when boxing + // link_target metadata +- assert_eq!(size_of::>(), 104); ++ assert_eq!(size_of::>(), 104); + } + +-impl<'region, P: PossiblySegmentedPath<'region>> Item<'region, P> { +- fn from_path_and_metadata( ++impl<'region, P: PossiblySegmentedPath<'region, INLINE>, INLINE> ++ Item<'region, P, INLINE> ++{ ++ fn from_path_and_metadata<'t>( + path: P, +- _path: &Path, ++ _path: &'t Path, + read_link: bool, + stat_link_target: bool, + metadata: Metadata, +@@ -486,13 +491,14 @@ impl<'region, P: PossiblySegmentedPath<'region>> Item<'region, P> { + } + } + +-pub struct GetItems { ++pub struct GetItems { + pub ignore: Option, + pub long: bool, + pub use_color: bool, ++ pub _phantom: PhantomData, + } + +-impl GetItems { ++impl GetItems { + fn ignore_path(&self, path: &Path) -> bool { + if let Some(ignore) = &self.ignore { + ignore.is_match_path(path) +@@ -506,55 +512,61 @@ impl GetItems { + &self, + input: impl ParallelIterator, ReadBufStreamError>>, + input_record_separator: u8, +- ) -> (Vec>, Vec) { ++ ) -> ( ++ Vec>, ++ Vec, ++ ) { + // To avoid appending individual items multiple times (in + // multiple reduce layers), collect the original vectors then + // flatten them in one go at the end. Also, collect errors + // from all chunks together, too, don't stop early except per + // chunk. +- let (itemss, errors): (Vec>>, Vec) = input +- .map(|chunk| -> (Vec>>, Vec) { +- match (|| -> Result>> { +- let mut chunk = chunk?; +- chomp(&mut chunk, input_record_separator); +- // XX hack for now, OK for single-shot program +- let chunk = chunk.leak(); +- let paths = chunk.split(|c| *c == input_record_separator); +- +- paths +- .map(|path| { +- let path: &OsStr = OsStr::from_bytes(path); +- let path: &Path = path.as_ref(); +- path +- }) +- .filter(|path: &&Path| -> bool { +- !self.ignore_path(path) +- }) +- .map(|path| -> Result>> { +- // Only stat linked files if used for +- // coloring, and only in long format anyway. +- Item::from_path( +- path, +- path, +- self.long, +- self.use_color, +- ) +- }) +- .filter_map(|r| r.transpose()) +- .collect::>>() +- })() { +- Ok(v) => (vec![v], vec![]), +- Err(e) => (vec![], vec![e]), +- } +- }) +- .reduce( +- || (Vec::new(), Vec::new()), +- |(mut itemss_a, mut errors_a), (mut itemss_b, mut errors_b)| { +- itemss_a.append(&mut itemss_b); +- errors_a.append(&mut errors_b); +- (itemss_a, errors_a) +- }, +- ); ++ let (itemss, errors): (Vec>>, Vec) = ++ input ++ .map(|chunk| -> (Vec>>, Vec) { ++ match (|| -> Result>> { ++ let mut chunk = chunk?; ++ chomp(&mut chunk, input_record_separator); ++ // XX hack for now, OK for single-shot program ++ let chunk = chunk.leak(); ++ let paths = ++ chunk.split(|c| *c == input_record_separator); ++ ++ paths ++ .map(|path| { ++ let path: &OsStr = OsStr::from_bytes(path); ++ let path: &Path = path.as_ref(); ++ path ++ }) ++ .filter(|path: &&Path| -> bool { ++ !self.ignore_path(path) ++ }) ++ .map(|path| -> Result>> { ++ // Only stat linked files if used for ++ // coloring, and only in long format anyway. ++ Item::from_path( ++ path, ++ path, ++ self.long, ++ self.use_color, ++ ) ++ }) ++ .filter_map(|r| r.transpose()) ++ .collect::>>() ++ })() { ++ Ok(v) => (vec![v], vec![]), ++ Err(e) => (vec![], vec![e]), ++ } ++ }) ++ .reduce( ++ || (Vec::new(), Vec::new()), ++ |(mut itemss_a, mut errors_a), ++ (mut itemss_b, mut errors_b)| { ++ itemss_a.append(&mut itemss_b); ++ errors_a.append(&mut errors_b); ++ (itemss_a, errors_a) ++ }, ++ ); + // `into_par_iter` would be a large slow down here! + (itemss.into_iter().flatten().collect(), errors) + } +@@ -563,48 +575,68 @@ impl GetItems { + /// level yields. Vec of that since subdirs, too. + fn _find<'s, 'region>( + &'s self, +- dir: &'region Path, ++ dir: &'region SegmentedPath<'region>, + include_dir: bool, + metadata: Metadata, + global_leaked_regions: &'region GlobalLeakedRegions, +- ) -> (Bag>, Bag) { +- match (|| -> Result<_> { ++ ) -> ( ++ Bag, INLINE>>, ++ Bag, ++ ) { ++ match (move || -> Result<_> { + let Self { + ignore: _, + long, + use_color, ++ _phantom: _, + } = self; + +- let mut items: Vec> = Vec::new(); ++ let mut tmp: Vec = tmp_path_buffer(); ++ ++ let mut items: Vec< ++ // XXX why wrong? Item<'region, &'region SegmentedPath<'region>, INLINE>, ++ Item<_, _>, ++ > = Vec::new(); ++ let items_ref = &mut items; ++ let dir_path = dir.to_path(&mut tmp); + if include_dir { + if let Some(item) = Item::from_path_and_metadata( +- dir, dir, *long, *use_color, metadata, ++ dir, dir_path, *long, *use_color, metadata, + )? { +- items.push(item); ++ items_ref.push(item); + } + // else will run into open error anyway--XX hmm + // actually should accept not found then, there? + } + +- let input = std::fs::read_dir(dir) +- .with_context(|| anyhow!("directory {dir:?}"))?; +- let subdir_items: Mutex<(Bag>, Bag)> = ++ let input = std::fs::read_dir(dir_path) ++ .with_context(|| anyhow!("reading directory {dir_path:?}"))?; ++ let subdir_items: Mutex<(Bag>, Bag)> = + Mutex::new((Bag::new(), Bag::new())); + let subdir_items_rf = &subdir_items; +- rayon::scope(|scope| -> Result<()> { ++ rayon::scope(move |scope| -> Result<()> { + let mut allocator = global_leaked_regions.get_region(); + for entry in input { + let entry: std::fs::DirEntry = entry?; + let metadata = entry.metadata()?; +- let path = entry.path(); ++ let sub_path = { ++ // XX get from libc instead to avoid allocation ++ let file_name = entry.file_name(); ++ dir.add_segment(&file_name, &mut allocator) ++ }; ++ // XX optimize: change ignore feature so it can ++ // work with filenames explicitly, then only work ++ // on path if necessary. Although, need `path` ++ // anyway for readlink? But only if symlink (and ++ // could change to dir-fd based POSIX functions). ++ let path = sub_path.to_path(&mut tmp); + if self.ignore_path(&path) { + continue; + } +- let path = allocator.allocate_path(&path); + if metadata.is_dir() { + scope.spawn(move |_| { + let (items, errors) = self._find( +- path, ++ sub_path, + true, + metadata, + global_leaked_regions, +@@ -616,9 +648,9 @@ impl GetItems { + }); + } else { + if let Some(item) = Item::from_path_and_metadata( +- path, path, *long, *use_color, metadata, ++ sub_path, path, *long, *use_color, metadata, + )? { +- items.push(item); ++ items_ref.push(item); + } + } + } +@@ -640,18 +672,18 @@ impl GetItems { + /// `Item::from_path` intertwined for efficiency. + pub fn find<'region>( + &self, +- dir: &Path, ++ dir: &'region SegmentedPath<'region>, + include_top: bool, + global_leaked_regions: &'region GlobalLeakedRegions, +- ) -> Result<(Vec>, Vec)> { +- // XX .metadata() ? +- let metadata = dir +- .symlink_metadata() +- .with_context(|| anyhow!("directory {dir:?}"))?; +- let dir = { +- let mut allocator = global_leaked_regions.get_region(); +- allocator.allocate_path(dir) +- }; ++ ) -> Result<( ++ Vec, INLINE>>, ++ Vec, ++ )> { ++ let mut tmp: Vec = tmp_path_buffer(); ++ let dir_path = dir.to_path(&mut tmp); ++ let metadata = dir_path.symlink_metadata().with_context(|| { ++ anyhow!("getting metadata for directory {dir_path:?}") ++ })?; + let (items, errors) = + self._find(dir, include_top, metadata, global_leaked_regions); + probe!("flattening"); diff --git a/split-patch/test/div-expected/--regenerate/0001-PART-3/0001-PART-3-src_lst_possibly_segmented_path.rs.patch b/split-patch/test/div-expected/--regenerate/0001-PART-3/0001-PART-3-src_lst_possibly_segmented_path.rs.patch new file mode 100644 index 0000000..3d70612 --- /dev/null +++ b/split-patch/test/div-expected/--regenerate/0001-PART-3/0001-PART-3-src_lst_possibly_segmented_path.rs.patch @@ -0,0 +1,104 @@ +From 4c129168dca2a294142e2ecd74731a5bd1130491 Mon Sep 17 00:00:00 2001 +From: Christian Jaeger +Date: Mon, 27 Apr 2026 08:29:20 +0200 +Subject: [PATCH] src/lst/possibly_segmented_path.rs: PART 3 + +- Do not use Pin, as we're only ever returning shared `&`, never + `&mut`. (Still leave `_pin` in, just in case that changes later.) + +-------------------------------- src/bin/lst.rs -------------------------------- + +- since we now have 2 different path implementations, move the + continuation from that point on to its own parameterized + continuation function, `main_cont` +--- + src/bin/lst.rs | 188 +++++++++++++++++-------- + src/kitschcell.rs | 26 ++++ + src/leaked_region.rs | 8 +- + src/lib.rs | 1 + + src/lst/get_items.rs | 188 ++++++++++++++----------- + src/lst/possibly_segmented_path.rs | 46 +++--- + src/lst/segmented_path.rs | 216 +++++++++++++++++++++++++---- + 7 files changed, 483 insertions(+), 190 deletions(-) + create mode 100644 src/kitschcell.rs + +diff --git a/src/lst/possibly_segmented_path.rs b/src/lst/possibly_segmented_path.rs +index 6b5c9ae..b3c9722 100644 +--- a/src/lst/possibly_segmented_path.rs ++++ b/src/lst/possibly_segmented_path.rs +@@ -1,51 +1,53 @@ + use std::{cmp::Ordering, fmt::Debug, path::Path}; + + use crate::{ +- leaked_region::LeakedRegion, ++ leaked_region::GlobalLeakedRegions, + lst::{path_cmp, segmented_path::SegmentedPath}, + }; + +-pub trait PossiblySegmentedPath<'r>: Debug { ++pub trait PossiblySegmentedPath<'region, INLINE>: Debug { + fn ci_cmp( +- &'r self, +- other: &'r Self, +- leaked_region: &mut LeakedRegion<'r>, ++ self, ++ other: Self, ++ regions: &'region GlobalLeakedRegions, + ) -> Ordering; + +- fn to_path<'tmp>(&'r self, tmp: &'tmp mut [u8]) -> &'tmp Path ++ fn psp_to_path<'tmp>(self, tmp: &'tmp mut [u8]) -> &'tmp Path + where +- 'r: 'tmp; ++ 'region: 'tmp; + } + +-impl<'r> PossiblySegmentedPath<'r> for &'r Path { ++impl<'region, INLINE> PossiblySegmentedPath<'region, INLINE> for &'region Path { + fn ci_cmp( +- &self, +- other: &Self, +- _leaked_region: &mut LeakedRegion<'r>, ++ self, ++ other: Self, ++ _regions: &'region GlobalLeakedRegions, + ) -> Ordering { +- path_cmp::ci_cmp(self, other) ++ path_cmp::ci_cmp::(self, other) + } + +- fn to_path<'tmp>(&'r self, _tmp: &'tmp mut [u8]) -> &'tmp Path ++ fn psp_to_path<'tmp>(self, _tmp: &'tmp mut [u8]) -> &'tmp Path + where +- 'r: 'tmp, ++ 'region: 'tmp, + { +- *self ++ self + } + } + +-impl<'r> PossiblySegmentedPath<'r> for &'r SegmentedPath<'r> { ++impl<'region, INLINE> PossiblySegmentedPath<'region, INLINE> ++ for &'region SegmentedPath<'region> ++{ + fn ci_cmp( +- &'r self, +- other: &'r Self, +- leaked_region: &mut LeakedRegion<'r>, ++ self, ++ other: Self, ++ regions: &'region GlobalLeakedRegions, + ) -> Ordering { +- self.cmp(other, leaked_region) ++ self.cmp(other, regions) + } + +- fn to_path<'tmp>(&self, tmp: &'tmp mut [u8]) -> &'tmp Path ++ fn psp_to_path<'tmp>(self, tmp: &'tmp mut [u8]) -> &'tmp Path + where +- 'r: 'tmp, ++ 'region: 'tmp, + { + SegmentedPath::to_path(self, tmp) + } diff --git a/split-patch/test/div-expected/--regenerate/0001-PART-3/0001-PART-3-src_lst_segmented_path.rs.patch b/split-patch/test/div-expected/--regenerate/0001-PART-3/0001-PART-3-src_lst_segmented_path.rs.patch new file mode 100644 index 0000000..1d4acc6 --- /dev/null +++ b/split-patch/test/div-expected/--regenerate/0001-PART-3/0001-PART-3-src_lst_segmented_path.rs.patch @@ -0,0 +1,352 @@ +From 4c129168dca2a294142e2ecd74731a5bd1130491 Mon Sep 17 00:00:00 2001 +From: Christian Jaeger +Date: Mon, 27 Apr 2026 08:29:20 +0200 +Subject: [PATCH] src/lst/segmented_path.rs: PART 3 + +- Do not use Pin, as we're only ever returning shared `&`, never + `&mut`. (Still leave `_pin` in, just in case that changes later.) + +-------------------------------- src/bin/lst.rs -------------------------------- + +- since we now have 2 different path implementations, move the + continuation from that point on to its own parameterized + continuation function, `main_cont` +--- + src/bin/lst.rs | 188 +++++++++++++++++-------- + src/kitschcell.rs | 26 ++++ + src/leaked_region.rs | 8 +- + src/lib.rs | 1 + + src/lst/get_items.rs | 188 ++++++++++++++----------- + src/lst/possibly_segmented_path.rs | 46 +++--- + src/lst/segmented_path.rs | 216 +++++++++++++++++++++++++---- + 7 files changed, 483 insertions(+), 190 deletions(-) + create mode 100644 src/kitschcell.rs + +diff --git a/src/lst/segmented_path.rs b/src/lst/segmented_path.rs +index a6c5090..96ad247 100644 +--- a/src/lst/segmented_path.rs ++++ b/src/lst/segmented_path.rs +@@ -1,9 +1,17 @@ + use std::{ +- cmp::Ordering, ffi::OsStr, path::Path, slice::from_raw_parts, +- sync::atomic::AtomicPtr, ++ cmp::Ordering, ffi::OsStr, marker::PhantomPinned, path::Path, ++ slice::from_raw_parts, sync::atomic::AtomicPtr, + }; + +-use crate::leaked_region::LeakedRegion; ++use crate::{ ++ kitschcell::{KitschCache, KitschCell}, ++ leaked_region::{GlobalLeakedRegions, LeakedRegion}, ++}; ++ ++pub fn tmp_path_buffer() -> Vec { ++ // XXX How much is needed? pathmax; oh, and uninitialized? ++ vec![0; 100000] ++} + + /// A `str` with length provided in the allocation together with the + /// data following after it +@@ -40,6 +48,10 @@ pub struct SegmentedPath<'region> { + /// generated if `orig_name_len` is longer than 8 B or not ascii, + /// because otherwise it's faster to regenerate on the fly?) + lc_name: AtomicPtr, ++ ++ // XX temporary for debugging to avoid UB when dumping bytes ++ _unused: u32, ++ _pin: PhantomPinned, + } + + impl<'region> PartialEq for SegmentedPath<'region> { +@@ -57,31 +69,37 @@ impl<'region> Eq for SegmentedPath<'region> {} + // SegmentedPath::cmp instead. + + // Both must be of the same depth ! +-fn _segmented_path_ord<'region>( +- p1: &'region SegmentedPath<'region>, +- p2: &'region SegmentedPath<'region>, +- leaked_region: &mut LeakedRegion<'region>, ++fn _segmented_path_ord<'t: 'u, 'u, 'region: 't>( ++ p1: &SegmentedPath<'region>, ++ p2: &SegmentedPath<'region>, ++ get_leaked_region: &mut impl KitschCache>, + ) -> Ordering { + if let Some(p1p) = p1.parent { + let p2p = p2 + .parent + .expect("expect that both segmented paths are of the same length"); +- _segmented_path_ord(p1p, p2p, leaked_region) +- .then_with(|| p1.cmp_file_name(p2, leaked_region)) ++ _segmented_path_ord(p1p, p2p, get_leaked_region) ++ .then_with(|| p1.cmp_file_name(p2, get_leaked_region)) + } else { +- p1.cmp_file_name(p1, leaked_region) ++ p1.cmp_file_name(p1, get_leaked_region) + } + } + + fn segmented_path_ord<'region>( +- p1: &'region SegmentedPath<'region>, +- p2: &'region SegmentedPath<'region>, +- leaked_region: &mut LeakedRegion<'region>, ++ p1: &SegmentedPath<'region>, ++ p2: &SegmentedPath<'region>, ++ regions: &'region GlobalLeakedRegions, + ) -> Ordering { + let shared_len = p1.depth.min(p2.depth); + let p1s = p1.take_segments(shared_len).expect("have shared_len"); + let p2s = p2.take_segments(shared_len).expect("have shared_len"); +- _segmented_path_ord(p1s, p2s, leaked_region).then_with(|| { ++ ++ let mut get_leaked_region = ++ KitschCell::Uninitialized(|| -> LeakedRegion<'region> { ++ regions.get_region() ++ }); ++ ++ _segmented_path_ord(p1s, p2s, &mut get_leaked_region).then_with(|| { + // Which path ran out? + if p1.depth < p2.depth { + Ordering::Less +@@ -107,7 +125,7 @@ impl<'region> SegmentedPath<'region> { + + let alloc_len = STRUCT_SIZE + orig_name_len; + let alloc = leaked_region.allocate::(alloc_len); +- let (alloc_struct, alloc_orig) = alloc.split_at_mut(STRUCT_SIZE); ++ let (_alloc_struct, alloc_orig) = alloc.split_at_mut(STRUCT_SIZE); + alloc_orig.copy_from_slice(orig_name_bytes); + + let depth = match parent { +@@ -121,21 +139,58 @@ impl<'region> SegmentedPath<'region> { + .try_into() + .expect("no path segment can be longer than u16::MAX"), + lc_name: AtomicPtr::default(), ++ _pin: PhantomPinned, ++ _unused: 0xcafebabe, + }; + +- let self_ptr = alloc_struct.as_mut_ptr() as *mut Self; ++ // MIRI doesn't like using `_alloc_struct`, thus use `alloc`.) ++ let self_ptr = alloc.as_mut_ptr() as *mut Self; + unsafe { + // SAFETY: We reserved the head for it. + std::ptr::write(self_ptr, slf); + } + ++ // dbg!(&alloc); ++ + unsafe { + // SAFETY: We just wrote the value. The lifetime is that +- // of the allocator, 't, as specified in the return type. ++ // of the allocator, 'region, as specified in the return type. + &*self_ptr + } + } + ++ /// Push another segment at the right (dir item), like ++ /// PathBuf::push but functional. Shallow wrapper around `new`. ++ pub fn add_segment( ++ self: &'region Self, ++ orig_name: &OsStr, ++ leaked_region: &mut LeakedRegion<'region>, ++ ) -> &'region Self { ++ Self::new(Some(self), orig_name, leaked_region) ++ } ++ ++ /// Returns None for the path "" ++ pub fn new_from_path( ++ path: &Path, ++ leaked_region: &mut LeakedRegion<'region>, ++ ) -> Option<&'region Self> { ++ let mut p = None; ++ for segment in path { ++ let segment_bytes = segment.as_encoded_bytes(); ++ let use_segment = if segment_bytes == &[b'/'] { ++ &[] ++ } else { ++ segment_bytes ++ }; ++ let use_segment_osstr: &OsStr = unsafe { ++ // SAFETY: back from what we had, or empty, is OK? ++ OsStr::from_encoded_bytes_unchecked(use_segment) ++ }; ++ p = Some(SegmentedPath::new(p, use_segment_osstr, leaked_region)); ++ } ++ p ++ } ++ + pub fn orig_name(&self) -> &'region OsStr { + const STRUCT_SIZE: usize = size_of::(); + let self_ptr: *const Self = self; +@@ -191,13 +246,24 @@ impl<'region> SegmentedPath<'region> { + let tmplen = tmp.len(); + let rest = self._to_path(tmp); + let len_used = tmplen - rest.len(); +- let used = &tmp[0..len_used - 1]; ++ let used = if len_used == 1 { ++ // Path "" is really "/" if XXXX ++ &tmp[0..len_used] ++ } else { ++ &tmp[0..len_used - 1] ++ }; + let osstr = unsafe { OsStr::from_encoded_bytes_unchecked(used) }; + osstr.as_ref() + } + + /// Generates `lc_name` and caches it if not generated already +- pub fn lc_name(&self, leaked_region: &mut LeakedRegion<'region>) -> &str { ++ pub fn lc_name<'t>( ++ &self, ++ get_leaked_region: &mut impl KitschCache>, ++ ) -> &'region str ++ where ++ 'region: 't, ++ { + // XX optimize?: for lc file name lengths <= + // `size_of::`, store inline in the atomic (as + // fake pointer)? +@@ -210,9 +276,10 @@ impl<'region> SegmentedPath<'region> { + const STRUCT_SIZE: usize = size_of::(); + const STRUCT_ALIGN: usize = align_of::(); + let alloc_len = STRUCT_SIZE + orig_name_lossy.len() * 4; ++ let leaked_region = get_leaked_region.get(); + let alloc = leaked_region.allocate::(alloc_len); + +- let (alloc_struct, alloc_data) = alloc.split_at_mut(STRUCT_SIZE); ++ let (_alloc_struct, alloc_data) = alloc.split_at_mut(STRUCT_SIZE); + + let mut i = 0; + for c in orig_name_lossy.chars() { +@@ -230,7 +297,9 @@ impl<'region> SegmentedPath<'region> { + + let len: u32 = + i.try_into().expect("expect segment name length < u32::MAX"); +- p = alloc_struct.as_mut_ptr() as *mut LenStr; ++ ++ // MIRI doesn't like using `_alloc_struct`, thus use `alloc`.) ++ p = alloc.as_mut_ptr() as *mut LenStr; + unsafe { + // SAFETY: using the space reserved for the struct, of + // STRUCT_SIZE length, aligned by STRUCT_ALIGN +@@ -257,22 +326,57 @@ impl<'region> SegmentedPath<'region> { + /// Can't implement PartialOrd / Ord since it needs an allocator, + /// hence this method + pub fn cmp( +- &'region self, +- other: &'region Self, +- leaked_region: &mut LeakedRegion<'region>, ++ &self, ++ other: &Self, ++ regions: &'region GlobalLeakedRegions, + ) -> Ordering { +- segmented_path_ord(self, other, leaked_region) ++ segmented_path_ord(self, other, regions) + } + + /// Compare the file names, only (lower-cased), completely + /// ignoring the parents +- pub fn cmp_file_name( ++ pub fn cmp_file_name<'t>( + &self, + other: &Self, +- leaked_region: &mut LeakedRegion<'region>, +- ) -> Ordering { +- self.lc_name(leaked_region) +- .cmp(other.lc_name(leaked_region)) ++ get_leaked_region: &mut impl KitschCache>, ++ ) -> Ordering ++ where ++ 'region: 't, ++ { ++ let n1 = self.lc_name(get_leaked_region); ++ let n2 = other.lc_name(get_leaked_region); ++ n1.cmp(n2) ++ } ++ ++ /// From right to left (i.e. in reverse order) ++ pub fn orig_name_segments(&self) -> Vec<&'region OsStr> { ++ let mut v = Vec::new(); ++ let mut p = self; ++ loop { ++ v.push(p.orig_name()); ++ if let Some(parent) = p.parent { ++ p = parent; ++ } else { ++ return v; ++ } ++ } ++ } ++ ++ /// From right to left (i.e. in reverse order) ++ pub fn lc_name_segments( ++ &self, ++ get_leaked_region: &mut impl KitschCache>, ++ ) -> Vec<&'region str> { ++ let mut v = Vec::new(); ++ let mut p = self; ++ loop { ++ v.push(p.lc_name(get_leaked_region)); ++ if let Some(parent) = p.parent { ++ p = parent; ++ } else { ++ return v; ++ } ++ } + } + } + +@@ -281,3 +385,55 @@ fn t_size() { + // Should be true even on 32-bit architectures? + assert_eq!(size_of::(), 24); + } ++ ++#[cfg(test)] ++mod tests { ++ use anyhow::Result; ++ ++ use super::*; ++ ++ fn p<'region>( ++ path: &str, ++ region: &mut LeakedRegion<'region>, ++ ) -> Option<&'region SegmentedPath<'region>> { ++ SegmentedPath::new_from_path(path.as_ref(), region) ++ } ++ ++ #[test] ++ fn t_() -> Result<()> { ++ let regions = GlobalLeakedRegions::new(1_000_000); ++ let mut ps = { ++ let mut get_region = ++ KitschCell::Uninitialized(|| -> LeakedRegion { ++ regions.get_region() ++ }); ++ move |path: &str, expected_path2: &str| -> Option> { ++ let mut region = get_region.get(); ++ let spath = p(path, &mut region)?; ++ let mut tmp = tmp_path_buffer(); ++ let path2: &str = ++ spath.to_path(&mut tmp).to_str().expect("was str"); ++ let mut segs = spath.lc_name_segments(&mut get_region); ++ segs.reverse(); ++ dbg!((path, &segs)); ++ assert_eq!(path2, expected_path2); ++ Some(segs) ++ } ++ }; ++ ++ assert_eq!(ps("foo/bar", "foo/bar"), Some(vec!["foo", "bar"])); ++ assert_eq!(ps("foo/bar/", "foo/bar"), Some(vec!["foo", "bar"])); ++ assert_eq!( ++ ps("foo//bar/baz", "foo/bar/baz"), ++ Some(vec!["foo", "bar", "baz"]) ++ ); ++ assert_eq!(ps("/bar", "/bar"), Some(vec!["", "bar"])); ++ assert_eq!(ps("./bar", "./bar"), Some(vec![".", "bar"])); ++ assert_eq!(ps("bar", "bar"), Some(vec!["bar"])); ++ assert_eq!(ps(".", "."), Some(vec!["."])); ++ assert_eq!(ps("/", "/"), Some(vec![""])); ++ assert_eq!(ps("", ""), None); ++ ++ Ok(()) ++ } ++} diff --git a/split-patch/test/div-expected/--regenerate/0001-PART-3/_list b/split-patch/test/div-expected/--regenerate/0001-PART-3/_list new file mode 100644 index 0000000..831dd16 --- /dev/null +++ b/split-patch/test/div-expected/--regenerate/0001-PART-3/_list @@ -0,0 +1,6 @@ +--regenerate/0001-PART-3/0001-PART-3-src_kitschcell.rs.patch +--regenerate/0001-PART-3/0001-PART-3-src_leaked_region.rs.patch +--regenerate/0001-PART-3/0001-PART-3-src_lib.rs.patch +--regenerate/0001-PART-3/0001-PART-3-src_lst_get_items.rs.patch +--regenerate/0001-PART-3/0001-PART-3-src_lst_possibly_segmented_path.rs.patch +--regenerate/0001-PART-3/0001-PART-3-src_lst_segmented_path.rs.patch diff --git a/split-patch/test/div-expected/--regenerate/0006-segmented-paths-not-used-yet/0006-segmented-paths-not-used-yet-src_bin_lst.rs.patch b/split-patch/test/div-expected/--regenerate/0006-segmented-paths-not-used-yet/0006-segmented-paths-not-used-yet-src_bin_lst.rs.patch new file mode 100644 index 0000000..ee7388c --- /dev/null +++ b/split-patch/test/div-expected/--regenerate/0006-segmented-paths-not-used-yet/0006-segmented-paths-not-used-yet-src_bin_lst.rs.patch @@ -0,0 +1,117 @@ +From 0deb12a14d7a336245f011135ebd9fe4d45b5a1c Mon Sep 17 00:00:00 2001 +Message-ID: <0deb12a14d7a336245f011135ebd9fe4d45b5a1c.1777272302.git.ch@christianjaeger.ch> +In-Reply-To: +References: +From: Christian Jaeger +Date: Fri, 24 Apr 2026 17:40:17 +0200 +Subject: src/bin/lst.rs: [PATCH 6/8] -segmented paths, not used yet + +----------------------------- src/leaked_region.rs ----------------------------- + +- add unsafe fn return_unused XXX unfinished + +-------------------------- src/lst/segmented_path.rs -------------------------- +create + +struct SegmentedPath + +---------------------- src/lst/possibly_segmented_path.rs ---------------------- +create + +trait PossiblySegmentedPath + +----------------------------- src/lst/get_items.rs ----------------------------- + +- type-parameterize path in Item (P) +- pass &Path in addition to P + +-------------------------------- src/bin/lst.rs -------------------------------- + +- add type parameter in addition to the lifetime to `Item` +--- + src/bin/lst.rs | 20 +-- + src/leaked_region.rs | 9 ++ + src/lst/get_items.rs | 68 +++++---- + src/lst/mod.rs | 2 + + src/lst/possibly_segmented_path.rs | 36 +++++ + src/lst/segmented_path.rs | 215 +++++++++++++++++++++++++++++ + 6 files changed, 314 insertions(+), 36 deletions(-) + create mode 100644 src/lst/possibly_segmented_path.rs + create mode 100644 src/lst/segmented_path.rs + +diff --git a/src/bin/lst.rs b/src/bin/lst.rs +index 48089f8..f6930bc 100644 +--- a/src/bin/lst.rs ++++ b/src/bin/lst.rs +@@ -374,7 +374,7 @@ mod tests { + + // Make items from it + let now = SystemTime::now(); +- let mut items: Vec = backing ++ let mut items: Vec> = backing + .split(|c| *c == 0) + .map(|path| { + let path: &OsStr = OsStr::from_bytes(path); +@@ -400,6 +400,7 @@ mod tests { + file_kind: None, + }, + link_target: None, ++ _phantom: std::marker::PhantomData, + } + }) + .collect(); +@@ -502,9 +503,10 @@ fn cmp_function( + time: bool, + time_reversed: bool, + ) -> for<'region> fn( +- a: &'region Item<'region>, +- b: &'region Item<'region>, +-) -> Ordering { ++ a: &'region Item<&'region Path>, ++ b: &'region Item<&'region Path>, ++) -> Ordering ++{ + struct InlineLst; + #[allow(non_upper_case_globals)] + const ci_cmp: fn(a: &Path, b: &Path) -> Ordering = +@@ -550,11 +552,11 @@ fn cmp_function( + } + + fn run_processing_commands<'t: 'u, 'u: 'v, 'v>( +- items: &'v mut Vec>, ++ items: &'v mut Vec>, + cmds: &[ProcessingCommand], + now: SystemTime, + show_files_from_future: bool, +-) -> &'v [Item<'t>] { ++) -> &'v [Item<'t, &'t Path>] { + probe!("run_processing_commands"); + let mut selected_items = unsafe { hack_static(&mut **items) }; + for cmd in cmds { +@@ -577,7 +579,7 @@ fn run_processing_commands<'t: 'u, 'u: 'v, 'v>( + } + ProcessingCommand::Reverse => selected_items.reverse(), + ProcessingCommand::FilterDays(range) => { +- let new_items: Vec> = selected_items ++ let new_items: Vec> = selected_items + .into_iter() + .filter(|item| { + let f = |age_days| match range { +@@ -620,7 +622,7 @@ struct TableFromItems { + } + + impl TableFromItems { +- fn run<'t>(&self, items: &[Item<'t>]) -> YatTable<7> { ++ fn run<'t>(&self, items: &[Item<'t, &'t Path>]) -> YatTable<7> { + let Self { + use_color, + pw_info_cache, +@@ -789,7 +791,7 @@ fn main() -> Result<()> { + + // Read the paths as blocks (as `Vec`) of some number of + // null-terminated paths each, in either mode +- let (mut items, errors): (Vec, Vec) = { ++ let (mut items, errors): (Vec>, Vec) = { + probe!("get items"); + if let Some(basepath) = opt.ls_dir { + set_current_dir(&basepath).with_context(|| { diff --git a/split-patch/test/div-expected/--regenerate/0006-segmented-paths-not-used-yet/0006-segmented-paths-not-used-yet-src_leaked_region.rs.patch b/split-patch/test/div-expected/--regenerate/0006-segmented-paths-not-used-yet/0006-segmented-paths-not-used-yet-src_leaked_region.rs.patch new file mode 100644 index 0000000..763a032 --- /dev/null +++ b/split-patch/test/div-expected/--regenerate/0006-segmented-paths-not-used-yet/0006-segmented-paths-not-used-yet-src_leaked_region.rs.patch @@ -0,0 +1,61 @@ +From 0deb12a14d7a336245f011135ebd9fe4d45b5a1c Mon Sep 17 00:00:00 2001 +Message-ID: <0deb12a14d7a336245f011135ebd9fe4d45b5a1c.1777272302.git.ch@christianjaeger.ch> +In-Reply-To: +References: +From: Christian Jaeger +Date: Fri, 24 Apr 2026 17:40:17 +0200 +Subject: src/leaked_region.rs: [PATCH 6/8] -segmented paths, not used yet + +----------------------------- src/leaked_region.rs ----------------------------- + +- add unsafe fn return_unused XXX unfinished + +-------------------------- src/lst/segmented_path.rs -------------------------- +create + +struct SegmentedPath + +---------------------- src/lst/possibly_segmented_path.rs ---------------------- +create + +trait PossiblySegmentedPath + +----------------------------- src/lst/get_items.rs ----------------------------- + +- type-parameterize path in Item (P) +- pass &Path in addition to P + +-------------------------------- src/bin/lst.rs -------------------------------- + +- add type parameter in addition to the lifetime to `Item` +--- + src/bin/lst.rs | 20 +-- + src/leaked_region.rs | 9 ++ + src/lst/get_items.rs | 68 +++++---- + src/lst/mod.rs | 2 + + src/lst/possibly_segmented_path.rs | 36 +++++ + src/lst/segmented_path.rs | 215 +++++++++++++++++++++++++++++ + 6 files changed, 314 insertions(+), 36 deletions(-) + create mode 100644 src/lst/possibly_segmented_path.rs + create mode 100644 src/lst/segmented_path.rs + +diff --git a/src/leaked_region.rs b/src/leaked_region.rs +index 45b328c..0ef58c3 100644 +--- a/src/leaked_region.rs ++++ b/src/leaked_region.rs +@@ -243,6 +243,15 @@ impl<'g> LeakedRegion<'g> { + } + } + ++ /// Return num_bytes from the end of the last allocation. Safety: ++ /// an allocation on the same `self` must have occurred ++ /// previously; `num_bytes` must be <= `num_bytes` of that last ++ /// allocation; and the last `num_bytes` of that last allocation ++ /// must be unused. ++ pub unsafe fn return_unused(&mut self, num_bytes: usize) { ++ // XXX todo ++ } ++ + pub fn allocate_path<'s, P: AsRef>(&'s mut self, path: P) -> &'g Path + where + 'g: 's, diff --git a/split-patch/test/div-expected/--regenerate/0006-segmented-paths-not-used-yet/0006-segmented-paths-not-used-yet-src_lst_get_items.rs.patch b/split-patch/test/div-expected/--regenerate/0006-segmented-paths-not-used-yet/0006-segmented-paths-not-used-yet-src_lst_get_items.rs.patch new file mode 100644 index 0000000..f0529af --- /dev/null +++ b/split-patch/test/div-expected/--regenerate/0006-segmented-paths-not-used-yet/0006-segmented-paths-not-used-yet-src_lst_get_items.rs.patch @@ -0,0 +1,236 @@ +From 0deb12a14d7a336245f011135ebd9fe4d45b5a1c Mon Sep 17 00:00:00 2001 +Message-ID: <0deb12a14d7a336245f011135ebd9fe4d45b5a1c.1777272302.git.ch@christianjaeger.ch> +In-Reply-To: +References: +From: Christian Jaeger +Date: Fri, 24 Apr 2026 17:40:17 +0200 +Subject: src/lst/get_items.rs: [PATCH 6/8] -segmented paths, not used yet + +----------------------------- src/leaked_region.rs ----------------------------- + +- add unsafe fn return_unused XXX unfinished + +-------------------------- src/lst/segmented_path.rs -------------------------- +create + +struct SegmentedPath + +---------------------- src/lst/possibly_segmented_path.rs ---------------------- +create + +trait PossiblySegmentedPath + +----------------------------- src/lst/get_items.rs ----------------------------- + +- type-parameterize path in Item (P) +- pass &Path in addition to P + +-------------------------------- src/bin/lst.rs -------------------------------- + +- add type parameter in addition to the lifetime to `Item` +--- + src/bin/lst.rs | 20 +-- + src/leaked_region.rs | 9 ++ + src/lst/get_items.rs | 68 +++++---- + src/lst/mod.rs | 2 + + src/lst/possibly_segmented_path.rs | 36 +++++ + src/lst/segmented_path.rs | 215 +++++++++++++++++++++++++++++ + 6 files changed, 314 insertions(+), 36 deletions(-) + create mode 100644 src/lst/possibly_segmented_path.rs + create mode 100644 src/lst/segmented_path.rs + +diff --git a/src/lst/get_items.rs b/src/lst/get_items.rs +index 5611bee..e16fc50 100644 +--- a/src/lst/get_items.rs ++++ b/src/lst/get_items.rs +@@ -1,6 +1,6 @@ + use std::{ + ffi::OsStr, +- fmt::Display, ++ fmt::{Debug, Display}, + fs::Metadata, + marker::PhantomData, + os::unix::{ffi::OsStrExt, fs::MetadataExt}, +@@ -19,6 +19,7 @@ use crate::{ + io::{unix_gr::Gid, unix_pw::Uid}, + io_utils::read_buf::ReadBufStreamError, + leaked_region::GlobalLeakedRegions, ++ lst::possibly_segmented_path::PossiblySegmentedPath, + path_file_kind::{FileKind, ToFileKind}, + probe, + time::age_at::AgeAt, +@@ -378,12 +379,16 @@ impl EssentialMetadata { + } + } + +-#[derive(Debug, Clone, PartialEq, Eq, PartialOrd, Ord)] +-pub struct Item<'t> { +- pub path: &'t Path, ++// Need PartialEq, Eq for tests ++#[derive(Debug, Clone, PartialEq, Eq)] ++pub struct Item<'p, P: PossiblySegmentedPath<'p>> { ++ pub path: P, + pub metadata: EssentialMetadata, + /// Metadata for the path if there was no error getting it + pub link_target: Option<(Box, Option>)>, ++ // XX wanted to keep this field private to make it impossible to ++ // create? ++ pub _phantom: PhantomData<&'p ()>, + } + + #[test] +@@ -400,25 +405,26 @@ fn t_sizes() { + assert_eq!(size_of::(), 64); + // 16+64+8+64=152, actually 160 when flat; 104 when boxing + // link_target metadata +- assert_eq!(size_of::(), 104); ++ assert_eq!(size_of::>(), 104); + } + +-impl<'t> Item<'t> { +- pub fn from_path_and_metadata( +- path: &'t Path, ++impl<'p, P: PossiblySegmentedPath<'p>> Item<'p, P> { ++ fn from_path_and_metadata( ++ path: P, ++ _path: &Path, + read_link: bool, + stat_link_target: bool, + metadata: Metadata, + ) -> Result> { + let metadata = EssentialMetadata::from_symlink_metadata( + &metadata, +- path.to_file_kind(), ++ _path.to_file_kind(), + )?; + let link_target = if read_link && metadata.mode.filetype().is_link() { +- match path.read_link() { ++ match _path.read_link() { + Ok(t) => { + let metadata2 = if stat_link_target { +- path.metadata().ok().and_then(|m| { ++ _path.metadata().ok().and_then(|m| { + EssentialMetadata::from_symlink_metadata( + &m, + t.to_file_kind(), +@@ -439,6 +445,7 @@ impl<'t> Item<'t> { + path, + metadata, + link_target, ++ _phantom: PhantomData, + })) + } + +@@ -446,13 +453,15 @@ impl<'t> Item<'t> { + /// retrieve the link target path; if `stat_link_target` is + /// additionally true, try to get the metadata for the target, too + pub fn from_path( +- path: &'t Path, ++ path: P, ++ _path: &Path, + read_link: bool, + stat_link_target: bool, + ) -> Result> { +- match path.symlink_metadata() { ++ match _path.symlink_metadata() { + Ok(metadata) => Self::from_path_and_metadata( + path, ++ _path, + read_link, + stat_link_target, + metadata, +@@ -497,15 +506,15 @@ impl GetItems { + &self, + input: impl ParallelIterator, ReadBufStreamError>>, + input_record_separator: u8, +- ) -> (Vec>, Vec) { ++ ) -> (Vec>, Vec) { + // To avoid appending individual items multiple times (in + // multiple reduce layers), collect the original vectors then + // flatten them in one go at the end. Also, collect errors + // from all chunks together, too, don't stop early except per + // chunk. +- let (itemss, errors): (Vec>, Vec) = input +- .map(|chunk| -> (Vec>, Vec) { +- match (|| -> Result> { ++ let (itemss, errors): (Vec>>, Vec) = input ++ .map(|chunk| -> (Vec>>, Vec) { ++ match (|| -> Result>> { + let mut chunk = chunk?; + chomp(&mut chunk, input_record_separator); + // XX hack for now, OK for single-shot program +@@ -521,10 +530,15 @@ impl GetItems { + .filter(|path: &&Path| -> bool { + !self.ignore_path(path) + }) +- .map(|path| -> Result> { ++ .map(|path| -> Result>> { + // Only stat linked files if used for + // coloring, and only in long format anyway. +- Item::from_path(path, self.long, self.use_color) ++ Item::from_path( ++ path, ++ path, ++ self.long, ++ self.use_color, ++ ) + }) + .filter_map(|r| r.transpose()) + .collect::>>() +@@ -547,13 +561,13 @@ impl GetItems { + + /// `(Vec>, Vec)` is what one dir + /// level yields. Vec of that since subdirs, too. +- fn _find<'p>( +- &self, ++ fn _find<'s, 'p>( ++ &'s self, + dir: &'p Path, + include_dir: bool, + metadata: Metadata, + global_leaked_regions: &'p GlobalLeakedRegions, +- ) -> (Bag>, Bag) { ++ ) -> (Bag>, Bag) { + match (|| -> Result<_> { + let Self { + ignore: _, +@@ -561,10 +575,10 @@ impl GetItems { + use_color, + } = self; + +- let mut items: Vec> = Vec::new(); ++ let mut items: Vec> = Vec::new(); + if include_dir { + if let Some(item) = Item::from_path_and_metadata( +- dir, *long, *use_color, metadata, ++ dir, dir, *long, *use_color, metadata, + )? { + items.push(item); + } +@@ -574,7 +588,7 @@ impl GetItems { + + let input = std::fs::read_dir(dir) + .with_context(|| anyhow!("directory {dir:?}"))?; +- let subdir_items: Mutex<(Bag>, Bag)> = ++ let subdir_items: Mutex<(Bag>, Bag)> = + Mutex::new((Bag::new(), Bag::new())); + let subdir_items_rf = &subdir_items; + rayon::scope(|scope| -> Result<()> { +@@ -602,7 +616,7 @@ impl GetItems { + }); + } else { + if let Some(item) = Item::from_path_and_metadata( +- path, *long, *use_color, metadata, ++ path, path, *long, *use_color, metadata, + )? { + items.push(item); + } +@@ -628,7 +642,7 @@ impl GetItems { + dir: &Path, + include_top: bool, + global_leaked_regions: &'p GlobalLeakedRegions, +- ) -> Result<(Vec>, Vec)> { ++ ) -> Result<(Vec>, Vec)> { + // XX .metadata() ? + let metadata = dir + .symlink_metadata() diff --git a/split-patch/test/div-expected/--regenerate/0006-segmented-paths-not-used-yet/0006-segmented-paths-not-used-yet-src_lst_mod.rs.patch b/split-patch/test/div-expected/--regenerate/0006-segmented-paths-not-used-yet/0006-segmented-paths-not-used-yet-src_lst_mod.rs.patch new file mode 100644 index 0000000..003053b --- /dev/null +++ b/split-patch/test/div-expected/--regenerate/0006-segmented-paths-not-used-yet/0006-segmented-paths-not-used-yet-src_lst_mod.rs.patch @@ -0,0 +1,50 @@ +From 0deb12a14d7a336245f011135ebd9fe4d45b5a1c Mon Sep 17 00:00:00 2001 +Message-ID: <0deb12a14d7a336245f011135ebd9fe4d45b5a1c.1777272302.git.ch@christianjaeger.ch> +In-Reply-To: +References: +From: Christian Jaeger +Date: Fri, 24 Apr 2026 17:40:17 +0200 +Subject: src/lst/mod.rs: [PATCH 6/8] -segmented paths, not used yet + +----------------------------- src/leaked_region.rs ----------------------------- + +- add unsafe fn return_unused XXX unfinished + +-------------------------- src/lst/segmented_path.rs -------------------------- +create + +struct SegmentedPath + +---------------------- src/lst/possibly_segmented_path.rs ---------------------- +create + +trait PossiblySegmentedPath + +----------------------------- src/lst/get_items.rs ----------------------------- + +- type-parameterize path in Item (P) +- pass &Path in addition to P + +-------------------------------- src/bin/lst.rs -------------------------------- + +- add type parameter in addition to the lifetime to `Item` +--- + src/bin/lst.rs | 20 +-- + src/leaked_region.rs | 9 ++ + src/lst/get_items.rs | 68 +++++---- + src/lst/mod.rs | 2 + + src/lst/possibly_segmented_path.rs | 36 +++++ + src/lst/segmented_path.rs | 215 +++++++++++++++++++++++++++++ + 6 files changed, 314 insertions(+), 36 deletions(-) + create mode 100644 src/lst/possibly_segmented_path.rs + create mode 100644 src/lst/segmented_path.rs + +diff --git a/src/lst/mod.rs b/src/lst/mod.rs +index 9c89efa..d4e8e98 100644 +--- a/src/lst/mod.rs ++++ b/src/lst/mod.rs +@@ -1,2 +1,4 @@ + pub mod get_items; + pub mod path_cmp; ++pub mod possibly_segmented_path; ++pub mod segmented_path; diff --git a/split-patch/test/div-expected/--regenerate/0006-segmented-paths-not-used-yet/0006-segmented-paths-not-used-yet-src_lst_possibly_segmented_path.rs.patch b/split-patch/test/div-expected/--regenerate/0006-segmented-paths-not-used-yet/0006-segmented-paths-not-used-yet-src_lst_possibly_segmented_path.rs.patch new file mode 100644 index 0000000..c4ce5d1 --- /dev/null +++ b/split-patch/test/div-expected/--regenerate/0006-segmented-paths-not-used-yet/0006-segmented-paths-not-used-yet-src_lst_possibly_segmented_path.rs.patch @@ -0,0 +1,83 @@ +From 0deb12a14d7a336245f011135ebd9fe4d45b5a1c Mon Sep 17 00:00:00 2001 +Message-ID: <0deb12a14d7a336245f011135ebd9fe4d45b5a1c.1777272302.git.ch@christianjaeger.ch> +In-Reply-To: +References: +From: Christian Jaeger +Date: Fri, 24 Apr 2026 17:40:17 +0200 +Subject: src/lst/possibly_segmented_path.rs: [PATCH 6/8] -segmented paths, not used yet + +----------------------------- src/leaked_region.rs ----------------------------- + +- add unsafe fn return_unused XXX unfinished + +-------------------------- src/lst/segmented_path.rs -------------------------- +create + +struct SegmentedPath + +---------------------- src/lst/possibly_segmented_path.rs ---------------------- +create + +trait PossiblySegmentedPath + +----------------------------- src/lst/get_items.rs ----------------------------- + +- type-parameterize path in Item (P) +- pass &Path in addition to P + +-------------------------------- src/bin/lst.rs -------------------------------- + +- add type parameter in addition to the lifetime to `Item` +--- + src/bin/lst.rs | 20 +-- + src/leaked_region.rs | 9 ++ + src/lst/get_items.rs | 68 +++++---- + src/lst/mod.rs | 2 + + src/lst/possibly_segmented_path.rs | 36 +++++ + src/lst/segmented_path.rs | 215 +++++++++++++++++++++++++++++ + 6 files changed, 314 insertions(+), 36 deletions(-) + create mode 100644 src/lst/possibly_segmented_path.rs + create mode 100644 src/lst/segmented_path.rs + +diff --git a/src/lst/possibly_segmented_path.rs b/src/lst/possibly_segmented_path.rs +new file mode 100644 +index 0000000..80cbab2 +--- /dev/null ++++ b/src/lst/possibly_segmented_path.rs +@@ -0,0 +1,36 @@ ++use std::{cmp::Ordering, fmt::Debug, path::Path}; ++ ++use crate::lst::{path_cmp, segmented_path::SegmentedPath}; ++ ++pub trait PossiblySegmentedPath<'s>: Debug { ++ fn ci_cmp(&self, other: &Self) -> Ordering; ++ fn to_path<'tmp>(&self, tmp: &'tmp mut [u8]) -> &'tmp Path ++ where ++ 's: 'tmp; ++} ++ ++impl<'s> PossiblySegmentedPath<'s> for &'s Path { ++ fn ci_cmp(&self, other: &Self) -> Ordering { ++ path_cmp::ci_cmp(self, other) ++ } ++ ++ fn to_path<'tmp>(&self, _tmp: &'tmp mut [u8]) -> &'tmp Path ++ where ++ 's: 'tmp, ++ { ++ *self ++ } ++} ++ ++impl<'s> PossiblySegmentedPath<'s> for &SegmentedPath<'s> { ++ fn ci_cmp(&self, other: &Self) -> Ordering { ++ self.cmp(other) ++ } ++ ++ fn to_path<'tmp>(&self, tmp: &'tmp mut [u8]) -> &'tmp Path ++ where ++ 's: 'tmp, ++ { ++ SegmentedPath::to_path(self, tmp) ++ } ++} diff --git a/split-patch/test/div-expected/--regenerate/0006-segmented-paths-not-used-yet/0006-segmented-paths-not-used-yet-src_lst_segmented_path.rs.patch b/split-patch/test/div-expected/--regenerate/0006-segmented-paths-not-used-yet/0006-segmented-paths-not-used-yet-src_lst_segmented_path.rs.patch new file mode 100644 index 0000000..497bb14 --- /dev/null +++ b/split-patch/test/div-expected/--regenerate/0006-segmented-paths-not-used-yet/0006-segmented-paths-not-used-yet-src_lst_segmented_path.rs.patch @@ -0,0 +1,262 @@ +From 0deb12a14d7a336245f011135ebd9fe4d45b5a1c Mon Sep 17 00:00:00 2001 +Message-ID: <0deb12a14d7a336245f011135ebd9fe4d45b5a1c.1777272302.git.ch@christianjaeger.ch> +In-Reply-To: +References: +From: Christian Jaeger +Date: Fri, 24 Apr 2026 17:40:17 +0200 +Subject: src/lst/segmented_path.rs: [PATCH 6/8] -segmented paths, not used yet + +----------------------------- src/leaked_region.rs ----------------------------- + +- add unsafe fn return_unused XXX unfinished + +-------------------------- src/lst/segmented_path.rs -------------------------- +create + +struct SegmentedPath + +---------------------- src/lst/possibly_segmented_path.rs ---------------------- +create + +trait PossiblySegmentedPath + +----------------------------- src/lst/get_items.rs ----------------------------- + +- type-parameterize path in Item (P) +- pass &Path in addition to P + +-------------------------------- src/bin/lst.rs -------------------------------- + +- add type parameter in addition to the lifetime to `Item` +--- + src/bin/lst.rs | 20 +-- + src/leaked_region.rs | 9 ++ + src/lst/get_items.rs | 68 +++++---- + src/lst/mod.rs | 2 + + src/lst/possibly_segmented_path.rs | 36 +++++ + src/lst/segmented_path.rs | 215 +++++++++++++++++++++++++++++ + 6 files changed, 314 insertions(+), 36 deletions(-) + create mode 100644 src/lst/possibly_segmented_path.rs + create mode 100644 src/lst/segmented_path.rs + +diff --git a/src/lst/segmented_path.rs b/src/lst/segmented_path.rs +new file mode 100644 +index 0000000..badf025 +--- /dev/null ++++ b/src/lst/segmented_path.rs +@@ -0,0 +1,215 @@ ++use std::{cmp::Ordering, ffi::OsStr, path::Path, slice::from_raw_parts}; ++ ++use crate::leaked_region::LeakedRegion; ++ ++#[derive(Debug, Clone)] ++pub struct SegmentedPath<'t> { ++ parent: Option<&'t SegmentedPath<'t>>, ++ depth: u16, ++ /// Length in bytes of the OsStr as bytes (no \0 at the end) ++ orig_name_len: u16, ++ /// Length in bytes after decoding lossily as string, and ++ /// unicode-lower-cased (no \0 at the end) ++ lc_name_str_len: u32, ++} ++ ++impl<'t> PartialEq for SegmentedPath<'t> { ++ fn eq(&self, other: &Self) -> bool { ++ self.depth == other.depth ++ && self.orig_name_len == other.orig_name_len ++ && self.lc_name_str_len == other.lc_name_str_len ++ // XXX check parent pointers first!! ++ && self.orig_name() == other.orig_name() ++ && self.parent == other.parent ++ } ++} ++ ++impl<'t> Eq for SegmentedPath<'t> {} ++ ++impl<'t> PartialOrd for SegmentedPath<'t> { ++ fn partial_cmp(&self, other: &Self) -> Option { ++ Some(self.cmp(other)) ++ } ++} ++ ++// Both must be of the same depth ! ++fn segmented_path_ord<'t1, 't2>( ++ p1: &'t1 SegmentedPath<'t1>, ++ p2: &'t2 SegmentedPath<'t2>, ++) -> Ordering { ++ if let Some(p1p) = p1.parent { ++ let p2p = p2 ++ .parent ++ .expect("expect that both segmented paths are of the same length"); ++ p1p.cmp(p2p) ++ .then_with(|| p1.lc_name_str().cmp(p2.lc_name_str())) ++ } else { ++ p1.lc_name_str().cmp(p2.lc_name_str()) ++ } ++} ++ ++impl<'t> Ord for SegmentedPath<'t> { ++ fn cmp(&self, other: &Self) -> Ordering { ++ let shared_len = self.depth.min(other.depth); ++ let p1 = self.take_segments(shared_len).expect("have shared_len"); ++ let p2 = other.take_segments(shared_len).expect("have shared_len"); ++ segmented_path_ord(p1, p2).then_with(|| { ++ // Which path ran out? ++ if p1.depth < p2.depth { ++ Ordering::Less ++ } else { ++ Ordering::Greater ++ } ++ }) ++ } ++} ++ ++impl<'t> SegmentedPath<'t> { ++ fn new( ++ parent: Option<&'t SegmentedPath<'t>>, ++ orig_name: &OsStr, ++ leaked_region: &mut LeakedRegion<'t>, ++ ) -> &'t Self { ++ let head_size = size_of::(); ++ let orig_name_bytes = orig_name.as_encoded_bytes(); ++ let orig_name_len = orig_name_bytes.len(); ++ let alloc_len = head_size + orig_name_len * 5; ++ let alloc = leaked_region.allocate(alloc_len); ++ let (alloc_head, rest) = alloc.split_at_mut(head_size); ++ let (alloc_orig, rest) = rest.split_at_mut(orig_name_len); ++ alloc_orig.copy_from_slice(orig_name_bytes); ++ let lc_name = orig_name.to_string_lossy(); ++ ++ let mut i = 0; ++ for c in lc_name.chars() { ++ if c.is_ascii() { ++ let cl = c.to_ascii_lowercase() as u8; ++ rest[i] = cl; ++ i += 1; ++ } else { ++ for c in c.to_lowercase() { ++ let encoded = c.encode_utf8(&mut rest[i..]); ++ i += encoded.len(); ++ } ++ } ++ } ++ ++ let remainder = rest.len() - i; ++ unsafe { ++ // Safety: we return bytes from the last allocation, it ++ // was on the same `leaked_region`, `remainder` is unused ++ // and smaller than the original allocation. ++ leaked_region.return_unused(remainder); ++ } ++ ++ let depth = match parent { ++ Some(d) => d.depth + 1, ++ None => 0, ++ }; ++ let slf = Self { ++ parent, ++ depth, ++ orig_name_len: orig_name_len ++ .try_into() ++ .expect("no path segment can be longer than u16::MAX"), ++ lc_name_str_len: i.try_into().expect( ++ "no lowercased path segment can be longer than u32::MAX", ++ ), ++ }; ++ ++ let self_ptr = alloc_head.as_mut_ptr() as *mut Self; ++ unsafe { ++ // Safety: we reserved the head for it ++ std::ptr::write(self_ptr, slf); ++ } ++ ++ unsafe { ++ // Safety: we just wrote the value; and the lifetime is ++ // that of the allocator ++ &*self_ptr ++ } ++ } ++ ++ pub fn orig_name(&self) -> &'t OsStr { ++ let head_size = size_of::(); ++ let self_ptr: *const Self = self; ++ let self_addr = self_ptr as *const u8; ++ let bytes_addr = unsafe { ++ // Safety: `new` allocates the whole thing in one go, and ++ // we don't go past it ++ self_addr.add(head_size) ++ }; ++ let bytes: &[u8] = ++ unsafe { from_raw_parts(bytes_addr, self.orig_name_len as usize) }; ++ unsafe { ++ // Safety: we created the bytes via `as_encoded_bytes()` ++ // in `new` ++ OsStr::from_encoded_bytes_unchecked(bytes) ++ } ++ } ++ ++ pub fn lc_name_str(&self) -> &str { ++ let head_size = size_of::(); ++ let self_ptr: *const Self = self; ++ let self_addr = self_ptr as *const u8; ++ let bytes_addr = unsafe { ++ // Safety: `new` allocates the whole thing in one go, and ++ // we don't go past it ++ self_addr.add(head_size + self.orig_name_len as usize) ++ }; ++ let bytes: &[u8] = unsafe { ++ from_raw_parts(bytes_addr, self.lc_name_str_len as usize) ++ }; ++ unsafe { ++ // Safety: we created the bytes from a &str ++ str::from_utf8_unchecked(bytes) ++ } ++ } ++ ++ /// Take the n+1 left-most path segments (n == 0 returns ++ /// `Some(self)`). Returns `None` if n > self.depth. ++ pub fn take_segments(&self, n: u16) -> Option<&Self> { ++ if n > self.depth { ++ None ++ } else { ++ let dropn = self.depth - n; ++ let mut p = self; ++ for _ in 0..dropn { ++ p = p.parent.expect("checked"); ++ } ++ Some(p) ++ } ++ } ++ ++ /// Appends a '/', always (drop it afterwards). Returns the ++ /// remainder of tmp. ++ fn _to_path<'tmp>(&self, tmp: &'tmp mut [u8]) -> &'tmp mut [u8] { ++ let tmp = if let Some(parent) = self.parent { ++ parent._to_path(tmp) ++ } else { ++ tmp ++ }; ++ // Hmm, is encoded bytes the right for Path ??? ++ let bytes = self.orig_name().as_encoded_bytes(); ++ let (p, rest) = tmp.split_at_mut(bytes.len()); ++ p.copy_from_slice(bytes); ++ rest[0] = b'/'; ++ &mut rest[1..] ++ } ++ ++ /// Panics if tmp is not large enough. ++ pub fn to_path<'tmp>(&self, tmp: &'tmp mut [u8]) -> &'tmp Path { ++ let tmplen = tmp.len(); ++ let rest = self._to_path(tmp); ++ let len_used = tmplen - rest.len(); ++ let used = &tmp[0..len_used - 1]; ++ let osstr = unsafe { OsStr::from_encoded_bytes_unchecked(used) }; ++ osstr.as_ref() ++ } ++} ++ ++#[test] ++fn t_size() { ++ // Should be true even on 32-bit architectures? ++ assert_eq!(size_of::(), 16); ++} diff --git a/split-patch/test/div-expected/--regenerate/0006-segmented-paths-not-used-yet/_list b/split-patch/test/div-expected/--regenerate/0006-segmented-paths-not-used-yet/_list new file mode 100644 index 0000000..5a3d3d5 --- /dev/null +++ b/split-patch/test/div-expected/--regenerate/0006-segmented-paths-not-used-yet/_list @@ -0,0 +1,6 @@ +--regenerate/0006-segmented-paths-not-used-yet/0006-segmented-paths-not-used-yet-src_bin_lst.rs.patch +--regenerate/0006-segmented-paths-not-used-yet/0006-segmented-paths-not-used-yet-src_leaked_region.rs.patch +--regenerate/0006-segmented-paths-not-used-yet/0006-segmented-paths-not-used-yet-src_lst_get_items.rs.patch +--regenerate/0006-segmented-paths-not-used-yet/0006-segmented-paths-not-used-yet-src_lst_mod.rs.patch +--regenerate/0006-segmented-paths-not-used-yet/0006-segmented-paths-not-used-yet-src_lst_possibly_segmented_path.rs.patch +--regenerate/0006-segmented-paths-not-used-yet/0006-segmented-paths-not-used-yet-src_lst_segmented_path.rs.patch diff --git a/split-patch/test/test-split-patches-in-dir.rs b/split-patch/test/test-split-patches-in-dir.rs index 4880381..c747b59 100644 --- a/split-patch/test/test-split-patches-in-dir.rs +++ b/split-patch/test/test-split-patches-in-dir.rs @@ -47,32 +47,32 @@ fn main() -> Result<()> { fs::create_dir_all(args.output_base.clone()).expect("creating output_base directory"); let output_base = args.output_base; + let common = || SplitArgs { + check: true, + monotonous_numbers: true, + ..Default::default() + }; let split_args = [ + ("--", SplitArgs { ..common() }), ( - "--", + "--regenerate", SplitArgs { - hunks: false, - changes: false, - monotonous_numbers: true, - ..Default::default() + regenerate: true, + ..common() }, ), ( "--hunks", SplitArgs { hunks: true, - changes: false, - monotonous_numbers: true, - ..Default::default() + ..common() }, ), ( "--changes", SplitArgs { - hunks: false, changes: true, - monotonous_numbers: true, - ..Default::default() + ..common() }, ), ]; @@ -121,7 +121,7 @@ fn main() -> Result<()> { .filter_map(|result| result.as_ref().err()) .for_each(|err| { eprintln!("Failed with option {opt}: {err:#}"); - }) + }); }); let tot_count: usize = results.iter().map(|(_opt, results)| results.len()).sum();