unofficial mirror of emacs-tangents@gnu.org
 help / color / mirror / Atom feed
From: Samuel Wales <samologist@gmail.com>
To: emacs-tangents@gnu.org
Subject: Re: diff-mode merge tool for e.g. filesystem trees
Date: Sat, 3 Sep 2022 22:15:59 -0700	[thread overview]
Message-ID: <CAJcAo8us0Ha-7vh_L+Y_rfa8cBbVhdhn9cBVPWLBTwN0KM28LA@mail.gmail.com> (raw)
In-Reply-To: <CAJcAo8s7_Lu-9Ah=kA8b6AL7LrSvT9KwU7WvKpLT1rOV_WVQNQ@mail.gmail.com>

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



  reply	other threads:[~2022-09-04  5:15 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-09-04  5:06 diff-mode merge tool for e.g. filesystem trees Samuel Wales
2022-09-04  5:15 ` Samuel Wales [this message]
2022-09-04  6:15   ` Emanuel Berg

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=CAJcAo8us0Ha-7vh_L+Y_rfa8cBbVhdhn9cBVPWLBTwN0KM28LA@mail.gmail.com \
    --to=samologist@gmail.com \
    --cc=emacs-tangents@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).