From mboxrd@z Thu Jan 1 00:00:00 1970 From: ludo@gnu.org (Ludovic =?utf-8?Q?Court=C3=A8s?=) Subject: Re: Display diffs between generations. Date: Mon, 29 Aug 2016 18:25:29 +0200 Message-ID: <87d1kry22u.fsf@gnu.org> References: <87eg59izmw.fsf@gnu.org> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:58390) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bePNS-0002C6-7L for guix-devel@gnu.org; Mon, 29 Aug 2016 12:25:39 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1bePNN-0007Wc-6k for guix-devel@gnu.org; Mon, 29 Aug 2016 12:25:37 -0400 Received: from fencepost.gnu.org ([2001:4830:134:3::e]:37565) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bePNN-0007WX-0E for guix-devel@gnu.org; Mon, 29 Aug 2016 12:25:33 -0400 In-Reply-To: <87eg59izmw.fsf@gnu.org> (Roel Janssen's message of "Sun, 28 Aug 2016 01:02:47 +0200") List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org Sender: "Guix-devel" To: Roel Janssen Cc: guix-devel@gnu.org Hi Roel, I=E2=80=99ve just tried the patch and I think it=E2=80=99s awesome! I=E2= =80=99ve also always been dissatisfied with what =E2=80=98--list-generations=E2=80=99 provides= =E2=80=94it=E2=80=99s inconvenient as soon as you have more than a handful packages. Perhaps we could add an optional argument to --list-generations where: --list-generations would be equivalent to: --list-generations=3Ddiff and: --list-generations=3Dfull would restore the previous behavior. It doesn=E2=80=99t cost much to do th= at. WDYT? I have only minor stylistic comments: Roel Janssen skribis: > +(define (display-profile-content-diff profile number) Or just =E2=80=98display-profile-diff=E2=80=99? > + "Display the changed packages in PROFILE with generation specified by = NUMBER." =E2=80=9C=E2=80=A6 compared to generation NUMBER=E2=80=9D? > + (define (equal-entry? first second) > + (string=3D (manifest-entry-item first) > + (manifest-entry-item second))) > + > + (define* (display-entries entries #:optional (prefix " ")) > + (for-each > + (match-lambda > + (($ name version output location _) > + (format #t " ~a ~a\t~a\t~a\t~a~%" > + prefix name version output location))) > + entries)) In general, I find it clearer to define the singular form and inline the =E2=80=98for-each=E2=80=99: (define display-entry (match-lambda =E2=80=A6)) =E2=80=A6 (for-each display-entry entries) Otherwise LGTM! Thank you for addressing this! Ludo=E2=80=99.