[Top][All Lists]

[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


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:

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


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?


All the best,

reply via email to

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