hare

[hare] The Hare programming language
git clone https://git.torresjrjr.com/hare.git
Log | Files | Refs | README | LICENSE

maintainers.md (3126B)


      1 # Maintainer documentation
      2 
      3 Various details of note to maintainers.
      4 
      5 ## Change policy
      6 
      7 **Push**
      8 
      9 - Small-to-medium patches within the scope of your maintainership
     10 - Small patches outside the scope of your maintainership
     11 - Patches of any size from third party contributors following code review
     12 - Large patches of your own following code review
     13 
     14 ## Caution!
     15 
     16 - API changes (breaking changes automatically make the patch "large")
     17 - Sufficient/up-to-date documentation
     18 
     19 ## Recommended mail configuration
     20 
     21 [aerc] is the recommended mail client for Hare maintainers. It has features to
     22 ease the patch workflow and to help other maintainers keep up with your work,
     23 and a suitable configuration makes for a comfy environment to do your code
     24 reviews in.
     25 
     26 [aerc]: https://aerc-mail.org/
     27 
     28 Specific recommendations follow:
     29 
     30 **~/.config/aerc/aerc.conf**
     31 
     32 ```
     33 [ui]
     34 # Enables the styleset provided in the next code block
     35 styleset-name=hare
     36 ```
     37 
     38 **~/.config/aerc/stylesets/hare**
     39 
     40 Adjust to taste.
     41 
     42 ```
     43 # Highlights emails which modify the sourcehut patch status
     44 msglist*.X-Sourcehut-Patchset-Update,APPLIED.fg = blue
     45 msglist*.X-Sourcehut-Patchset-Update,APPLIED.selected.reverse = true
     46 msglist*.X-Sourcehut-Patchset-Update,NEEDS_REVISION.fg = yellow
     47 msglist*.X-Sourcehut-Patchset-Update,REJECTED.fg = red
     48 ```
     49 
     50 **~/.config/aerc/binds.conf**
     51 
     52 Recommended additional keybindings:
     53 
     54 ```
     55 [messages]
     56 # Reply with standard "Thanks!" message, auto-setting patch status on sourcehut
     57 rt = :unflag<Enter>:reply -a -Tthanks<Enter>
     58 # Same but quotes the email so you can add comments
     59 Rt = :unflag<Enter>:reply -qa -Tquoted_thanks<Enter>
     60 
     61 # Applies the selected patch
     62 ga = :flag<Enter>:pipe -mb git am -3<Enter>
     63 
     64 [view]
     65 # Ditto
     66 ga = :flag<Enter>:pipe -mb git am -3<Enter>
     67 
     68 [compose::review]
     69 # Extra key bindings when reviewing a reply to manually set sourcehut patch
     70 # status headers
     71 V = :header -f X-Sourcehut-Patchset-Update NEEDS_REVISION<Enter>
     72 A = :header -f X-Sourcehut-Patchset-Update APPLIED<Enter>
     73 R = :header -f X-Sourcehut-Patchset-Update REJECTED<Enter>
     74 ```
     75 
     76 **~/.config/aerc/templates/thanks**
     77 
     78 Mail template for thanking contributors for their patch (bound to "rt"
     79 keybinding). Includes details about your last git push and sets the appropriate
     80 patch headers.
     81 
     82 ```
     83 X-Sourcehut-Patchset-Update: APPLIED
     84 
     85 Thanks!
     86 
     87 {{exec "branch=$(git rev-parse --abbrev-ref HEAD); printf 'to %s\n  %s..%s  %s -> %s\n' $(git remote get-url --push origin) $(git reflog -2 origin/$branch --pretty=format:%h | tail -n1) $(git reflog -1 origin/$branch --pretty=format:%h) $branch $branch" ""}}
     88 ```
     89 
     90 **~/.config/aerc/templates/quoted_thanks**
     91 
     92 Ditto but quotes the original email for comment:
     93 
     94 ```
     95 X-Sourcehut-Patchset-Update: APPLIED
     96 
     97 Thanks!
     98 
     99 {{exec "branch=$(git rev-parse --abbrev-ref HEAD); printf 'to %s\n  %s..%s  %s -> %s\n' $(git remote get-url --push origin) $(git reflog -2 origin/$branch --pretty=format:%h | tail -n1) $(git reflog -1 origin/$branch --pretty=format:%h) $branch $branch" ""}}
    100 
    101 On {{dateFormat (.OriginalDate | toLocal) "Mon Jan 2, 2006 at 3:04 PM MST"}}, {{(index .OriginalFrom 0).Name}} wrote:
    102 {{wrapText .OriginalText 72 | quote}}
    103 ```