hgweb: make stripes in bookmark list with CSS
hgweb: make stripes in directory view with CSS
hgweb: make stripes in tag list with CSS
hgweb: make stripes in file annotate view with CSS
hgweb: make stripes in repo list with CSS
hgweb: make stripes in branch list with CSS
hgweb: make stripes in log and search with CSS
hgweb: make stripes in graph with CSS
hgweb: make stripes in file log with CSS
hgweb: make stripes in diffstat with CSS
test-convert-hg-startrev: fix test for copy removal on missing parent

The test assumed that 'b' was missing just because the changeset that
introduced 'b' wasn't converted ... but 'b' was also not removed before the
start revision, and the parent was thus not missing at all.

Instead we introduce a file 'f' in rev 0 and remove it in rev 1 so the copy
source really doesn't exist in the repo that is converted from rev 1.

--HG--
extra : rebase_source : ec577759c30e2f2f9aa38b43fbf22cb828f39803
convert: fix bad conversion of copies when hg.startrev is specified

The 'copynode' was looked up in self.keep as if it was a changeset node. It is
however a filelog node, and self.keep would thus fail if it actually looked at
its parameter ... which it only did if a startrev was specified.

Instead we now don't check the copy node - we don't have to. It must have been
copied from one of the parents, and we already check whether one of the parents
have the copy source.

We could perhaps use linkrev to see if the corresponding changeset was
converted ... but that would sometimes be wrong.

The existing test of this was wrong - now it is better, but it seems like it
exposes a 'log' issue.

--HG--
extra : rebase_source : fa588bea505dcdc992fbab277bb1b3c5c3ec3f0a
hgweb: change highlighted line color to be different from 'inserted' color

This changes line highlight color from a fain yellow (#ffff99) to
a faint blue (#bfdfff), because yellow color is used in comparison view for
inserted lines.
This new color is okay for people with different forms of color blindness
(tested with a simulator):
a) this color looks quite different from other used backgrounds
b) text doesn't lose distinction on this color

--HG--
extra : rebase_source : d186ae4a0ffa3d0b732a8c517933f874a4277605
hgweb: highlight line which is linked to at comparison view

--HG--
extra : rebase_source : dd150dd27f6e602b4bc6961fbcef40bfbc823cae
run-tests: backout 4f32747879d1 line endings change

It made the windows buildbot sad.
util: check if re2 works before using it (issue 3964)
hgweb: always start log with searched revision

This makes the specified revision be always on top of the list.
Before the patch, for example with repo having revisions 0, 1, 2, 3 and user
searching for '2', all revisions were shown and the specified one wasn't
the first.
hgweb: highlight line which is linked to at annotate view
churn: split email aliases from the right

This splits churn email aliases from the right, to enable incorrectly-specified
addresses that include equal signs to be mapped to correct addresses.  This
will enable aliasing of bad addresses (typically typos) such as:

sername=myusername

that appear in the churn output through a churn alias such as:

sername=myusername = myusername

whereas previously splitting from the left would not enable this behavior.
osutil: consider WindowsError's behaviour to support python 2.4 on Windows

This change treat the ESRCH error as ENOENT like WindowsError class
does in python 2.5 or later. Without this change, some try..execpt
code which expects errno is ENOENT may fail. Actually hg command does
not work with python 2.4 on Windows.

CreateFile() will fail with error code ESRCH
when parent directory of specified path is not exist,
or ENOENT when parent directory exist but file is not exist.
Two errors are same in the mean of "file is not exist".
So WindowsError class treats error code ESRCH as ENOENT
in python 2.5 or later, but python 2.4 does not.

Actual results with python 2.4:
>>> errno.ENOENT
2
>>> errno.ESRCH
3
>>> WindowsError(3, 'msg').errno
3
>>> WindowsError(3, 'msg').args
(3, 'msg')

And with python 2.5 (or later):
>>> errno.ENOENT
2
>>> errno.ESRCH
3
>>> WindowsError(3, 'msg').errno
2
>>> WindowsError(3, 'msg').args
(3, 'msg')

Note that there is no need to fix osutil.c because it never be used
with python 2.4.