thunderbird-patch-review

Simple email patch review tool for Thunderbird

git clone git://mccd.space/thunderbird-patch-review
commit 5989a166b6193b155296f099cc7d829a21339100
parent 757f76f663162a6357b637073e2ace0b5bfc8e37
Author: Marc <marc@coquand.email>
Date:   Sun, 19 Jul 2026 10:39:13 +0200

Delete old README

Diffstat:
DREADME | 162-------------------------------------------------------------------------------
1 file changed, 0 insertions(+), 162 deletions(-)
diff --git a/README b/README
@@ -1,162 +0,0 @@
-PATCH-REVIEW(1)		   Thunderbird Patch Review	       PATCH-REVIEW(1)
-
-NAME
-       patch-review - review git patches from email inside Thunderbird
-
-SYNOPSIS
-       A Thunderbird MailExtension.  Open a patch email, press Review, comment
-       on hunks, send the review as a mailing-list reply, and apply the series
-       to a local repository with git-am(1).
-
-DESCRIPTION
-       patch-review brings a review interface to git-by-email workflows
-       (git-send-email(1) style).  When the selected messages (or thread) look
-       like a patch -- a [PATCH] subject tag or a unified diff in the body --
-       the Review button in the main toolbar becomes active.  It opens a
-       dedicated review tab that shows the whole series: cover letter, per-
-       patch commit messages, and every file and hunk rendered as a colored
-       diff.  Within replaced lines, the span that actually changed gets a
-       stronger highlight, computed from the common prefix and suffix of each
-       deleted/added line pair.
-
-       Clicking a diff line attaches an inline comment to it; comments are
-       saved as drafts (keyed by Message-ID) and survive restarting
-       Thunderbird.  Send review turns the comments of each commented patch
-       into one plain-text reply-to-all, quoting the relevant hunks kernel-
-       style with the comments interleaved unquoted below the lines they
-       target, and sends the replies immediately; the draft comments are then
-       cleared and the review tab closes.  The attached drop-down offers
-       Preview in compose instead, which leaves the reply drafts open in
-       compose windows.	 A reply that fails to send also stays open, so
-       nothing is lost.	 Apply series runs git am --3way on the raw patch
-       messages in the configured repository.  On conflict git am --abort is
-       run and its output reported, leaving the repository untouched.  Its
-       drop-down offers Modify and apply -- apply, then open the touched files
-       in your editor -- and Download patchset -- save the raw series as one
-       mbox file, ready for git am.
-
-INSTALLATION
-       Package the extension as an .xpi and install it via the Add-ons Manager
-       gear menu (Install Add-on From File...).	 From the project root:
-
-	      (cd extension && zip -qrX ../patch-review.xpi .)
-
-       The subshell runs the zip(1) from inside extension/ so the archive
-       holds manifest.json at its root, not under extension/.  git(1) is a
-       dependency (for Apply).	For development, instead pick Tools ->
-       Developer Tools -> Debug Add-ons -> Load Temporary Add-on..., and
-       select extension/manifest.json; it is dropped on restart.
-
-CONFIGURATION
-       Open the extension's preferences:
-
-       Editor command
-	      Run from the repository after a successful apply, with the
-	      changed files as arguments.  Use a non-blocking GUI-capable
-	      command such as code -n or emacsclient -n; a bare terminal
-	      editor has no terminal to open in.  Empty means $EDITOR.
-
-       Apply strategy
-	      git am --3way (default) or plain git am.
-
-       Repository mappings
-	      Substring matches against a patch's List-Id header or sender,
-	      mapped to an absolute repository path.  When no mapping matches,
-	      the last path a series was applied to is used; it is remembered
-	      until changed.
-
-       Repository paths can be chosen with the Browse button, which opens
-       Thunderbird's native directory chooser; the path field stays editable
-       either way.
-
-PERMISSIONS
-       The extension requests the fewest permissions it needs; none are
-       granted to remote content.
-
-       messagesRead
-	      Reads the selected message and its sibling patches in the same
-	      folder (subject, author, body) to build the review.
-
-       accountsRead
-	      Resolves the default identity of the account that owns the
-	      reviewed message, for the From-address label and send-as.
-
-       storage
-	      Persists draft comments (keyed by Message-ID) across restarts,
-	      plus the editor command, apply strategy, repo mappings, and the
-	      last applied repository path.
-
-       compose, (compose.send)
-	      Opens reply-to-all compose windows from Send review and sends
-	      them in Send now mode.  Without compose.send the review can only
-	      be previewed in compose, never sent.
-
-       downloads
-	      Writes the Download patchset .mbox to disk.
-
-       tabs   Opens the review tab and removes it after a successful send.
-
-       The privileged Apply, Browse... , and Open editor code does not use a
-       Mozilla permission: it is a WebExtension Experiment
-       (experiment_apis.patchHost) shipped inside the XPI and runs only when
-       the extension is loaded.
-
-SOURCEHUT INTEGRATION
-       When the series arrives via a sourcehut mailing list (a lists.sr.ht
-       address in the List-Id or recipients), the review tab shows a set
-       status checkbox with the patchset states sourcehut understands:
-       APPROVED, NEEDS_REVISION, REJECTED, PROPOSED, SUPERSEDED, APPLIED.
-       When enabled, the first reply of the review carries an
-       X-Sourcehut-Patchset-Update header with the chosen status, which
-       sourcehut applies to the patchset.  A status can also be sent without
-       any line comments -- Send review then sends a single, empty reply to
-       the cover letter (or first patch) carrying just the header.
-
-REVIEW WORKFLOW
-       1. Select any message of the series -- or the whole
-	  thread -- and press Review in the main toolbar.
-       2. The tab collects the sibling patches from the same folder
-	  (same series tag, version, and patch count).
-       3. Click lines, write comments; Ctrl+Enter saves.
-	  "Comment on patch" attaches a general remark instead.
-       4. Send review: one reply per commented patch, sent
-	  immediately (or use the drop-down to preview first).
-       5. Apply series: git am into the mapped repository,
-	  then Open editor on the touched files.
-
-FILES
-       extension/
-	      The MailExtension (manifest v2, vanilla ES modules, no build
-	      step).
-
-       extension/api/patchHost/
-	      The privileged part (a WebExtension Experiment): runs git-am(1)
-	      and the editor through Thunderbird's Subprocess API and shows
-	      the directory chooser with nsIFilePicker.	 Everything outside
-	      this directory runs as ordinary sandboxed WebExtension code.
-
-       tests/ node tests/run.mjs exercises the pure modules (subject parsing,
-	      diff parsing, reply formatting) against fixtures generated by
-	      git-format-patch(1), and checks the experiment's manifest
-	      wiring.  Regenerate fixtures with tests/gen-fixtures.sh.
-
-CAVEATS
-       Patches arriving as attachments, HTML-only mail, and reviewing from a
-       git worktree preview are not supported yet.  Series collection searches
-       the folder of the opened message only.
-
-SEE ALSO
-       The introductory post can be found at
-       <https://mccd.space/posts/26-07-18/3-patch-review-tool-for-thunderbird>
-
-CONTRIBUTING
-       Disclaimer: this plugin was vibe coded -- written by an AI agent under
-       human direction.
-
-       Contributions and bug reports go to the mailing list:
-       <~marcc/thunderbird-review-plugin@lists.sr.ht>
-
-AUTHOR
-       Marc Coquand <marc@coquand.email>
-
-patch-review 0.1.0		   July 2026		       PATCH-REVIEW(1)