We get a lot of patches from many people in our main #exherbo channel. When someone is around and have the time to pick them up it works very well but some patches tend to drown in the general noise when we are all too lazy or drunk to do something with them.
Well, not anymore! Our new patchbot ‘hacchi’ (ハッチ) lets you queue a patch for later review, remove a single patch or several at once and get a list of all the currently pending patches. It accepts three different commands:
!patchqueue http://dpaste.com/12345/plain ::arbor
Enqueues the patch.
!patchdone 12345
Removes all patches matching ’12345′, so ‘!patchdone arbor’ would remove all patches for arbor.
!patchlist
Prints the current number of waiting patches to the channel and privmsgs the list to whoever ran the commands. hacchi also responds to this command in private.
The shorthand notations !pq, !pd & !pl also exists.
If there are any patches in the queue, hacchi will nag the channel about them once an hour to ensure they won’t be forgotten.
This is not a substitute for leaving a decent comment with an explaination that states what the patch is supposed to fix!
You should obviously still feel free to highlight a specific dev if you think your patch should be reviewed and applied by that person.
Pingback: Contributing to exherbo with git patch « Rofrol blog
As I’ve just learned, you should NOT copy and paste patches by hand into a pastebin, as that may introduce whitespace errors which may prevent the patch from applying.
Instead use something like this (adjusting the command as necessary to select the patch you want to paste):
git format-patch –stdout -M -C HEAD^..HEAD |wgetpaste -v -X -r
Omit the -X option if you don’t have / don’t want to use xclip to copy the URL to the X primary selection.
Also, you probably want to do something like
(sudo) cave sync [reponame]
git rebase origin
before that. This moves your patch(es) to the head if they aren’t already, which (a) means the above command will pick up the latest patch of yours, not someone else’s, and more importantly (b) forces any necessary merges to be performed.
and of course if there are any merges necessary, you should consider rebuilding the relevant package(s) to check that the merged result still works.
Pingback: Exherbo – what we’re good at, what we should improve « Philantrop's Blog