[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: diff-mode merge tool for e.g. filesystem trees
From: |
Samuel Wales |
Subject: |
Re: diff-mode merge tool for e.g. filesystem trees |
Date: |
Sat, 3 Sep 2022 22:15:59 -0700 |
and i discovered the name just after pressing send.
the thing i recall is probably diffsync.el. it is very different from
my design.
On 9/3/22, Samuel Wales <samologist@gmail.com> wrote:
> i seem to recall a package flew by that merges files using diff mode.
> i can't seem to find it anywhere. anybody recall?
>
> i was interested because i once designed a filesystem tree differ and
> thought perhaps the new package could too.
>
> i vaguely recall that both the new package and my design use the diff
> gutter for marks. both view fs trees as text.
>
>
> p.s. fwiw, here are my notes on /my/ design. i don't know the new
> package.
>
> for unrelated reasons i cannot implement this. just a design.
> anybody is very welcome to of course.
>
> ===
>
> pathnames are after the first tab. metadata can be
> displayed before the first tab.
>
> for example:
>
> "---rw-r--r--,34668 ./boot/grub/gcry_camellia.mod"
> "+--rw-r--r--,5 ./boot/grub/gcry_camellia.mod"
>
> you can perform operations.
>
> operations only apply to the b tree. that is, unlike most
> mergers, we are not trying to modify a, but instead make b
> perfect.
>
> ===
>
> operations on dirs will apply to everything under them also.
> operations on - or + will apply to the opposite also.
>
> - k :: dim with `'
> - ' :: delete dimmed and context
> - \ :: ediff -+ using my algo
>
> - d :: mark delete in b
> - e :: mark ediff a b files
> - c :: mark copy a to b
>
> - u :: unmark
> - U :: unmark
>
> - x :: execute
> - s :: put a shell script in a new buffer
>
> advanced:
>
> - t :: dim stuff underneath (act as a truncating differ
> like diff -ur)
> - ? :: dim not in both
> - ? :: dim all in both
> - ? :: reduce dirname (see command)
> ********* REF use case: merging a SUBSET into an older full fileset
>
> this is an example of a problem we are trying to solve using
> these merging capabilities.
>
> ===
>
> suppose you back up your computer nightly. but the backup
> drive is too small, so you only backup a SUBSET of your files.
>
> then your computer crashes. you start running from SUBSET.
> you do not have access to your ORIGINAL (a.k.a. the FULL
> FILESET) because ORIGINAL is on internal drives that cannot
> be physically extracted.
>
> you make a lot of changes to what started out as SUBSET.
>
> you finally get access to ORIGINAL. now merge SUBSET into
> ORIGINAL so that you get full set of files with your
> changes. this is the problem we try to solve.
>
--
The Kafka Pandemic
A blog about science, health, human rights, and misopathy:
https://thekafkapandemic.blogspot.com