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 ```