log speedup: walkchangerevs: filter the files only if we need them
This speeds up hg log and significantly reduces memory usage (max RSS
goes from ~92MB to ~21MB on the kernel repo), since we no longer store
all the revisions in the cache.
Inform the user about the new URL when being redirected via http.
Additionally the changed code ensures that the new URL is used,
even if it doesn't end with the query string.
Stripping of query string (since
88b4755fa48f) stripped too much (
issue327)
rstrip(qs) not only strips qs from the right, but it continues stripping
every char at the end of the URL that occurs on qs.
Force the content-length header to be a string in httprepo.unbundle.
(Needed for Python2.3 compatibility)
New UnexpectedOutput exception to catch server errors in localrepo.stream_in
If the unexpected is a string, the empty string will be mentioned, and long
strings are cut to at most 400 chars.
Some clarifications for pull/push protocols:
- List file:// and static-http://
- Mention that you can pull from bundle files
- List http and https as valid push targets, but emphasize that this
feature has to be enabled.
httprepo: record the url after a request, makes pull + redirect works
POST+redirect doesn't work in python, as a workaround we record the url
from the previous GETs so that when we do a POST it uses the redirected url
fix
issue327