t0108: Avoid unnecessary fork()

Use `git rev-list --max-parents=0 HEAD` instead of `git rev-list HEAD |
tail -1` to get the root commit. This works since Git 1.7.4.2.

Signed-off-by: Lukas Fleischer <cgit@cryptocrack.de>
ui-patch.c: Fix signature delimiter

Add a missing space after the "--" marker that introduces the patch
signature.

Signed-off-by: Lukas Fleischer <cgit@cryptocrack.de>
ui-patch.c: Add additional newline after each patch

For consistency with git-format-patch(1).

Signed-off-by: Lukas Fleischer <cgit@cryptocrack.de>
t0108: Compare output with git-format-patch(1)

Signed-off-by: Lukas Fleischer <cgit@cryptocrack.de>
t0108: Add tests for revision ranges

Add tests to check whether generating multiple patches at once works.

Signed-off-by: Lukas Fleischer <cgit@cryptocrack.de>
tests/: Add t0110-rawdiff.sh

This adds some basic tests for the /rawdiff/ command.

Signed-off-by: Lukas Fleischer <cgit@cryptocrack.de>
Merge branch 'jk/compat-timegm' into pu

* branch jk/compat-timegm:
  compat/timegm: new compat function for systems lacking timegm()

Submitted to cgit@hjemli.net but not applied.

Need to see if there is an alternative to introducing a compat function.
Doing the back and forth in the local timezone is mostly good enough,
but doesn't handle DST correctly.
Merge branch 'jk/use-git-test-framework' into pu

* branch jk/use-git-test-framework:
  tests: add Valgrind support

Valgrind patch currently in its own branch upstream.
Merge branch 'log-follow-files' into pu

* branch log-follow-files:
  log: allow users to follow a file
  shared: make cgit_diff_tree_cb public

In its own branch upstream.
Merge branch 'test-improvements' into pu

* branch test-improvements:
  WIP
  t0107: extract HTTP body more robustly

WIP improvements to make the test suite more robust.

Conflicts:
	tests/setup.sh
Merge branch 'scan-exclude' into pu

* branch scan-exclude:
  Add scan-exclude option to filter out repositories

An experiment to handle a certain use case.  Probably not desirable.