Mercurial > hg
view TODO @ 635:85e2209d401c
Protocol switch from using generators to stream-like objects.
This allows the the pull side to precisely control how much data is
read so that another encapsulation layer is not needed.
An http client gets a response with a finite size. Because ssh clients
need to keep the stream open, we must not read more data than is sent
in a response. But due to the streaming nature of the changegroup
scheme, only the piece that's parsing the data knows how far it's
allowed to read.
This means the generator scheme isn't fine-grained enough. Instead we
need file-like objects with a read(x) method. This switches everything
for push/pull over to using file-like objects rather than generators.
author | Matt Mackall <mpm@selenic.com> |
---|---|
date | Wed, 06 Jul 2005 22:20:12 -0800 |
parents | 62a7b679a9ca |
children | a55048b2ae3a |
line wrap: on
line source
General: - Better documentation - More regression tests - More specific try/except. - less code duplication, more code in the right places - python 2.2 support - better import support - export to git - Code cleanup: apply http://python.org/peps/pep-0008.html Core: - difflib creating/removing files (fixed except dates: should be epoch) - directory foo.d or foo.i with existing file foo (use some quoting?) - get various options from hgrc (e.g. history always -v, tip always -q) - better push support (hack exists) - hg over ssh:// and https:// and rsync:// - hooks for new changesets getting pulled/imported etc. - make showing removed files (in history etc.) faster. Commands: - hg add <directory> should work - hg status <filename>: file rev, changeset rev, changed, added, deleted, sha-1 - select to pull a subset of the heads - commands.py: number of args too much magic (e.g. in patch()) - automatic pull fallback to old-http:// - optionally only show merges (two parents or parent != changeset-1, etc.) Web: - optionally only show merges (two parents or parent != changeset-1, etc.) - one hgweb with many repos (another script) - hgweb tip link too verbose - hgweb: deliver static files (e.g. favicon, stylesheets) - hgweb personalization: timezone (display/change), display of features - hg export 240 shows -tkmerge (good), hgweb does not (bad). - some web servers think hgweb.cgi.[di] is a CGI script with old-http:// (use quoting (see foo.d in Core) or document server configurations?) - link children in hgweb