$> git patch-set HEAD~2 patches/patches-201309130933-HEAD~2/0001-test-provide-wrapper-for-fetching-the-devnode-from-a.patch patches/patches-201309130933-HEAD~2/0002-wrap-EVIOCSCLOCKID-into-an-API-call.patchSo my patches are in the $GIT_DIR/patches/ directory, named after the current date + time and the refs used for the list. This makes them identifiable and sortable (to some degree anyway). And, to make things easier, $GIT_DIR/patches/latest is a symlink to the latest patch set, so usually the workflow is
$> git patch-set HEAD~2 patches/patches-201309130933-HEAD~2/0001-test-provide-wrapper-for-fetching-the-devnode-from-a.patch patches/patches-201309130933-HEAD~2/0002-wrap-EVIOCSCLOCKID-into-an-API-call.patch $> git send-email patches/latest/*.patchThat's not all though. I've added two hooks, pre-patch-set and post-patch-set to be run before/after the actual patch generation.
$> cat .git/hooks/pre-patch-set #!/bin/bash -e echo "running make check" make check $> git patch-set HEAD~2 running make check Making check in doc doxygen libevdev.doxygen Making check in libevdev make check-am make: Nothing to be done for `check-am'. Making check in tools make: Nothing to be done for `check'. Making check in test make check-TESTS check-local PASS: test-libevdev make: Nothing to be done for `all'. ============================================================================ Testsuite summary for libevdev 0.3 ============================================================================ # TOTAL: 1 # PASS: 1 # SKIP: 0 # XFAIL: 0 # FAIL: 0 # XPASS: 0 # ERROR: 0 ============================================================================ GEN gcov-report.txt ========== coverage report ======== libevdev-uinput.c: total lines: 172 not tested: 28 (83%) libevdev.c: total lines: 689 not tested: 78 (88%) ========== =============== ======== patches/patches-2013091309:33-HEAD~2/0001-test-provide-wrapper-for-fetching-the-devnode-from-a.patch patches/patches-2013091309:33-HEAD~2/0002-wrap-EVIOCSCLOCKID-into-an-API-call.patchI've been using that script for quite a while now and it did make sending patch sets a bit easier. Plus, now I'm not in danger of sending out patch sets that don't pass make check :)