guix-devel
[Top][All Lists]
Advanced

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

[OUTREACHY] toward a proposal?


From: zimoun
Subject: [OUTREACHY] toward a proposal?
Date: Sat, 12 Sep 2020 16:00:20 +0200

Dear,

The command “guix time-machine” is really cool but today it is not easy
to find the commit corresponding to one specific version.  For example,
try to install the version 1.6.8 of the package ’msmtp’.

A concrete example is described here [1].  And when reproducing
scientific papers, the versions are not always provided but instead the
dates are.  How to install the same ’msmtp’ as in 2018-12-08?


The Guix Data Service helps for such situation:

https://data.guix.gnu.org/repository/1/branch/master/package/msmtp/output-history

but its database starts on 2019-01-01 (if I have correct).  It is an
external service and will never collect data from all specifics channels
(guix-past, your-name-it, etc.).  Well, it is a good complement and all
the JSON files are under used, for example, to know if the package
builds or not.  Another story.


Today, the 2 previous use-cases are usually solved by cloning the
repository from Savannah and then by invoking Git commands.  It is not
fully satisfactory since this repository is already checked out, by
default:

~/.cache/guix/checkouts/pjmkglp4t7znuugeurpurzikxq3tnlaywmisyr27shj7apsnalwq/

Let this path affected to the environment variable $SRC. Then, to find
the 2 commits, the user can run:

--8<---------------cut here---------------start------------->8---
$ git -C $SRC --date=short --format="%h  %cd  %s" | grep msmtp
5d2b9b0749  2020-08-26  gnu: msmtp: Update to 1.8.12.
56e1cc0c34  2020-06-10  gnu: msmtp: Update to 1.8.11.
70ebab5aa7  2020-05-09  gnu: msmtp: Update to 1.8.10.
b93b7b2585  2020-03-29  gnu: msmtp: Don't rely on netcat to send
queued messages.
a4fd9423b0  2019-12-30  gnu: msmtp: Update to 1.8.7.
58da4b0a84  2019-10-02  gnu: msmtp: Update to 1.8.6.
214cbec2cf  2019-07-16  gnu: msmtp: Update to 1.8.5.
34e549d813  2019-07-11  gnu: msmtp: Install additional files.
06c86f166d  2019-04-29  gnu: msmtp: Update to 1.8.4.
ce53048fb8  2019-02-14  gnu: msmtp: Update to 1.8.3.
b8c0b9c1a3  2019-01-31  gnu: msmtp: Update to 1.8.2.
1460e77abf  2018-12-10  gnu: msmtp: Update to 1.8.1.
91b3a6d4db  2018-09-09  gnu: msmtp: Remove unneeded input.
37f9cfae43  2018-09-09  gnu: msmtp: Update to 1.8.0.
1a80f1a9e3  2018-07-11  gnu: msmtp: Update to 1.6.8.
899358d18a  2016-12-20  gnu: msmtp: Update to 1.6.6.
d23d1ddf6e  2016-07-21  gnu: msmtp: Update to 1.6.5.
70dced54ed  2016-05-06  gnu: msmtp: Update to 1.6.4.
823e2ed4b3  2016-02-28  gnu: msmtp: Install msmtpq.
72d8b5baf4  2015-12-21  gnu: msmtp: Update to 1.6.3.
4c60ce4a6b  2015-11-06  gnu: msmtp: Update to 1.6.2.
0704788109  2015-03-19  gnu: msmtp: Use mirror:// URI.
d6e941bc95  2014-12-09  gnu: add msmtp
--8<---------------cut here---------------end--------------->8---


The proposal is to implement the same result hiding all the plumbing
details, i.e.,

  guix git log --oneline | grep msmtp

Well, naming is hard. :-)  Therefore, the subcommand could have another
name (bikeshedding, bikeshedding :-)).


The next steps could be:

- take in account the channels, and maybe sort all the commits by dates
- have an --format option
- have an --grep option
- etc.

depending on the progress of the student.  IMHO, there are small
actionable steps that fit how Outreachy program works (at least how I
understand it works).


Does it make sense?
If yes, I volunteer to co-mentor, even if I am not sure to be enough
qualified to do so.  BTW, co-mentoring is good.

What do you think?


[1] https://lists.gnu.org/archive/html/help-guix/2019-06/msg00098.html


All the best,
simon



reply via email to

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