From mboxrd@z Thu Jan 1 00:00:00 1970 From: jemarch@gnu.org (Jose E. Marchesi) Subject: Re: Goals for 0.4 Date: Sat, 31 Aug 2013 22:34:50 +0200 Message-ID: <87a9jxeh05.fsf@gnu.org> References: <87vc2o4qwc.fsf@gnu.org> <87y57kljro.fsf@karetnikov.org> <87hae81uvo.fsf@gnu.org> <87bo4fcbcz.fsf@karetnikov.org> <878uzj6nev.fsf@gnu.org> <877gf1yftq.fsf@karetnikov.org> <87bo4dspl2.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]:50880) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VFrrT-00068s-Eu for guix-devel@gnu.org; Sat, 31 Aug 2013 16:33:43 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1VFrrL-0002OG-1e for guix-devel@gnu.org; Sat, 31 Aug 2013 16:33:35 -0400 Received: from fencepost.gnu.org ([2001:4830:134:3::e]:33600) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VFrrK-0002Nx-UF for guix-devel@gnu.org; Sat, 31 Aug 2013 16:33:26 -0400 In-Reply-To: <87bo4dspl2.fsf@gnu.org> ("Ludovic \=\?utf-8\?Q\?Court\=C3\=A8s\=22'\?\= \=\?utf-8\?Q\?s\?\= message of "Sat, 31 Aug 2013 20:05:45 +0200") List-Id: 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-bounces+gcggd-guix-devel=m.gmane.org@gnu.org To: Ludovic =?utf-8?Q?Court=C3=A8s?= Cc: guix-devel@gnu.org I just realized that we can do even better: have --list-generations output recutils-formatted data (using =E2=80=98object->fields=E2=80=99)= . Then, if we do it right, the output can just be piped to =E2=80=98recsel=E2=80=99 to s= elect entries of a certain age, to display specific fields, etc. Like: =20=20=20=20 generation-number: 1 date: 2013-05-07 =20=20=20=20 However, I don=E2=80=99t know exactly how to represent both the generat= ions and the list of packages in each generation in a single recutils stream. =20=20=20=20 Jos=C3=A9, how can the relations between =E2=80=9Cgeneration=E2=80=9D r= ecords and =E2=80=9Cpackage=E2=80=9D records be expressed? You can have two record sets: one for generations, one for packages. A foreign key can relate them. Something like this: %rec: Generation Id: 1 Date: Dec. 16 2013 Id: 2 Date: May 7 2013 %rec: Package %type: Generation rec Generation Package: guile Version: 2.0.7 Generation: 1 Package: guile Version: 2.0.9 Generation: 2 Package: hello Version: 2.8 Generation 2 =20=20=20=20