convert: fix crash when filemap filtering is changed
convert: fix crash when existing converted revision didn't come from source

This case can happen when converting from multiple repositories with filemap.
convert: fix description of 'convert --rev'
hgweb: log headers only if headers were successfully parsed

The headers attribute is not initialized in certain error situations
(e.g. http 400 bad request). Check for self.headers before we attempt
to access it.

--HG--
branch : stable
extra : rebase_source : 91d35f625a0346ee28019d76b91903b314e73fce
get-with-headers: don't block indefinitely if the server had an internal error

If the server had an internal error and returned 500, there's nothing
to read, so "response.read()" blocks indefinitely.  Only output the
response if there's really a response.
inotify: add pidfile to parent options

An upcoming patch will move pidfile writing from the parent to the child. This
means that if the pid file isn't specified on the command-line but is specified
as a config option, it needs to be added to the parent's opts dict.
cmdutil.service: move pidfile writing to a local function

An upcoming patch will reuse this code.
cmdutil.service: move pidfile writing to the parent in daemon mode

There is a potential race here, which I suspect I've spotted in the wild, where
something reads the pid file after the parent exits but before the child has
had a chance to write to it. Moving writing the file to the parent causes this
to no longer be an issue.
inotify: don't pass pidfile option to child

The child no longer needs it.
tests: fix void and invalid test in test-archive.t

An echo statement was missed in the .t-ification in afe19a1bf9d3 so we ended up
with invalid sh syntax. But at the same time a continuation line was marked as
$ instead of > and we thus added the salt that made the expression valid again.
run-tests: place the .t shell script next to $TESTTMP and with a useful name

--keep can thus keep it around - very convenient for debugging.
check-code: check for spaces around = for named parameters
check-code: check that '>' is used for continued lines

Continued lines do not get the SALT mangling.
shelve: copy bookmarks and restore them after a commit

cmdutil.commit() will advance the bookmarks. Therefore we have to restore
them afterwards. We have to use update() to ensure we preserve the bmstore
object.
patch: Fix nullid for binary git diffs (issue4054)

The index for an empty file in git is not 0, but sha-1("blobl 0\0").

--HG--
branch : stable
merge with stable
shelve: make no_backup parameter passing python 2.4 compatible

Python 2.4 doesn't allow passing named parameter after an list unpack,
but allows to unpack a dict.

--HG--
extra : rebase_source : ad2c83850b60a01249b957fa055735b70ed06cbd
test: make test-propertycache.py python2.4 compatible

The subprocess module have not `check_call` method in python2.4. Fall back to
calling `check` with return code verification.

--HG--
branch : stable
extra : rebase_source : ad59194855164e1799f4e5907433b2cf85f99bbe
changegroup: don't run changegroup hooks if nodes are gone

The changegroup hook runs when the repo lock is released, but it's possible that
multiple transactions have happened during that single lock and therefore the
commits the hook was for may be gone. This is the case in the shelve extension
where it adds a commit and strips it in the same lock but different
transactions (which results in warning messages during unshelve on hgsubversion
repos).

A real fix would be to attach the hook to the transaction instead, but that
might have unknown consequences. Since we're this close to code-freeze, this fix
just prevents the hook from running if the commit disappeared.
hgweb: escape branch names in graph view

--HG--
branch : stable
extra : source : 75ce5ec573e5a07f91e9c0ec8fbd80a12438b42f