guix-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH 2/2] emacs: Add interface for comparing generations.


From: Alex Kost
Subject: Re: [PATCH 2/2] emacs: Add interface for comparing generations.
Date: Mon, 03 Nov 2014 01:31:00 +0300
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.4 (gnu/linux)

Ludovic Courtès (2014-11-02 20:59 +0300) wrote:

> Alex Kost <address@hidden> skribis:
>
>> In short, now (with this patch) after marking 2 generations (by pressing
>> "m" in a “generation-list” buffer), you can perform diff/ediff on
>> generation packages or manifests.  Thanks to Ludovic for the idea.
>
> I just tried it, and I like it!
>
> There are cases where the output of ‘=’ is slightly confusing: the
> buffers being compared don’t include the directory name of the packages,
> so, when packages have been upgraded (different directory names, but
> same version), it just says “no differences.”
>
> Perhaps the fix would be to add the directory names in the buffers being
> diffed, in a format similar to that of ‘guix package -I’?

Indeed, I added the store paths, thanks (the modified patch is attached).

> I have another case where C-u = shows that the only difference is the
> addition of one package, but = shows a diff with only minuses, as if
> everything had been removed.  Any idea what could be wrong?

No idea, sorry (unless you manually erased "*Guix <your-profile>:
generation <number>*" buffer).  Make sure that the following works in
Guix REPL:

  (generation-package-specifications "/your/profile" gen-number)

Also, kill "*Guix <your-profile>: generation <number>*" buffer and try
again.

Or maybe: did you experiment with different profiles with the same name?
I mean "/some/path/to/foo-profile" and "/another/path/to/foo-profile".

>> +++ b/doc/emacs.texi
>> @@ -239,6 +239,21 @@ Mark the current generation for deletion (with prefix, 
>> mark all
>>  generations).
>>  @item x
>>  Execute actions on the marked generations---i.e., delete generations.
>> address@hidden e
>> +Run Ediff (@pxref{Top,,, ediff, Ediff}) on package outputs installed in
>> +the 2 marked generations.  With prefix argument, run Ediff on manifests
>> +of the marked generations.
>> address@hidden D
>> address@hidden =
>> +Run Diff (@pxref{Diff Mode,,, emacs, The Emacs Editor}) on package
>> +outputs installed in the 2 marked generations.  With prefix argument,
>> +run Diff on manifests of the marked generations.
>> address@hidden +
>> +List package outputs added to the latest marked generation comparing
>> +with another marked generation.
>> address@hidden -
>> +List package outputs removed from the latest marked generation comparing
>> +with another marked generation.
>
> Likewise, ‘u’ (for ‘upgraded’) could be added (possibly in a future
> patch.)

Probably in the future, as that "upgraded" thing has a different nature
comparing with "added" and "removed".

> Also, s/The Emacs Editor/GNU Emacs Manual/, which is the real title of
> the Emacs manual as it appears in the texi source.

Oh, I thought it should be the title which appears in the info (I mean
the first line in the Top node).

Perhaps "s/The Emacs Editor/The GNU Emacs Manual/"?  As it's the most
common (but not the one) variant in the Emacs Lisp manual, for example here:
<http://git.savannah.gnu.org/cgit/emacs.git/tree/doc/lispref/display.texi#n2065>

Also I used "The Emacs Editor" several times in “emacs.texi”.  Should I
replace all instances in this patch or make a separate commit for that?


Just out of curiosity.  Do you usually prefer "diff" over "ediff"?
(I find the latter much convenient)

Attachment: 0001-emacs-Add-interface-for-comparing-generations.patch
Description: Text Data


reply via email to

[Prev in Thread] Current Thread [Next in Thread]