+* write test cases:
+ * web edits can create CVS/foo.mdwn (and think of case-insensitive "cvs/")
+ * binary file detection
+ * `cvsps` output format
+ * `findtimes()`
+* `File::MimeInfo::default()` wrongly marks some text files `-kb`
+ * stop doing it
+ * find and fix existing
+* instead of reading backwards, write one changeset per file and
+ `ls | sort -nr | head -100`
+ * obviates need for File::ReadBackwards
+* parameterize `cvsps` command
+* when is `-x` overkill? ever?
+* `-b HEAD`, always?
+* use `open()` instead of `system()`
+* implement the time optimizations
+* use `cvs_runcvs` everywhere `cvs` is run
+* set up `log_accum` and `commit_prep` in `ikiwiki-makerepo`
+ * obviates need for `cvsps`
+* historyurl overzealously escapes path slashes?