user/dev discussion of public-inbox itself
 help / color / mirror / code / Atom feed
From: Eric Wong <e@80x24.org>
To: meta@public-inbox.org
Subject: repobrowse history and notes
Date: Thu, 4 Apr 2019 09:55:22 +0000	[thread overview]
Message-ID: <20190404095522.qdp7ebznrl5resro@dcvr> (raw)

I've always intended public-inbox for software development.
It's useful for other types of communication, too, but
software development was always the driving force.

A web-based git viewing counterpart, known as "repobrowse" was
envisioned and started several times over the years in different
languages; one of which is in the historical "repobrowse" branch
in public-inbox.git.

I finally realized a few months ago that the world doesn't need
another web-based git repository viewer; at least not in the
traditional sense...

Currently, I believe there are two types of repository viewers:

1. standalone repository viewers with no messaging:

    gitweb, cgit, etc...

2. repository viewers with centralized messaging:

    gogs/gitea, gitlab, and proprietary stuff

public-inbox is a bit different:

  A centralization-resistant messaging system with git-awareness


What public-inbox can do with code repositories, today:

* reconstruct unmerged blobs using patches (SolverGit.pm)

* show SolverGit-reconstructed blobs with syntax highlighting

* diff-highlighting emails; hunk headers link to SolverGit endpoints

* spawn/wrap cgit(1), including parsing the config

* handle smart HTTP requests of coderepos with our git-http-backend(1)
  wrapper (since cgit doesn't handle smart clone/fetch)

* search for blob object_ids (done YEARS ago :)
  SolverGit would not have been possible without this.


Works-in-progress:

* show diffs with different options (contexts, algorithms),
  most importantly to be able to diff against SolverGit-reconstructed
  blobs which aren't merged into a permanent+public code repo, yet.

TODO:

* show/link commits (like git-show(1), and link to
  emails/threads discussing such commits)

* built-in/configurable search queries for common patterns
  git-request-pull(1) templates, patches for certain paths.

  Perhaps this could support generic reporting for building
  tables off CI emails, even.

* show trees...

* maybe: blame/annotate Solver-reconstructed blobs

* spawn/wrap gitweb similar to what was done for cgit

* display config information for mirroring/reproducing
  the site.

* more tests

One more general thing to keep in mind:

public-inbox tries to be educational in its fight against
centralization.  For example, it includes instructions/examples
for using git-send-email(1) to nudge users towards proper
threading and reply-to-all behavior.

Continuing that tradition, the git repository viewer section
should try to be educational for users unfamiliar with git,
patches, or emails in order to prepare users for offline use.

Thus having links to git manpages, examples, etc could all be
useful in the right places.

                 reply	other threads:[~2019-04-04  9:55 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://public-inbox.org/README

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20190404095522.qdp7ebznrl5resro@dcvr \
    --to=e@80x24.org \
    --cc=meta@public-inbox.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://80x24.org/public-inbox.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).