git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Literate programming with git

From
Ben North <ben@redfrontdoor.org>
Date
Aug 31, 2016, 20:41 UTC
Message-ID
<CAHG0eJVk6HF5Mz3wz08sjgL05zB4cAjmZ=FR=jf5G4kh-ChV8A@mail.gmail.com>
Hi,

I've recently been experimenting with using git to make software more human-readable. Presenting software for humans to read is not a new idea (Knuth's 'literate programming'), but I think git can be a new tool for showing the development of code in a structured way. Merge-commits can break a flat sequence of commits into sections and subsections, in the same way that a document's paragraphs are arranged. The hierarchical organisation is helpful when reading the history, and also allows that history to be rendered into a structured document explaining the code's development.

As a demo, I've created:
    http://www.redfrontdoor.org/20160813-literate-git-demo/index.html

This was generated directly from the git repo of the project, using tools I wrote:

    https://github.com/bennorth/literate-git
For working with hierarchical git histories, I wrote another tool:
    https://github.com/bennorth/git-dendrify
The READMEs of the two projects give more details of these ideas.
This is at the prototype / proof-of-concept stage --- any feedback welcome!
Thanks,
Ben.
Next: Stefan Beller
Message 1 of 3 in “Literate programming with git”
  1. Ben NorthAug 31, 2016
  2. Stefan BellerAug 31, 2016
  3. Ben NorthSep 3, 2016

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.