TODO
author mpm@selenic.com
Wed, 15 Jun 2005 21:11:40 -0800
changeset 373 67081329d49a
parent 368 4b1cec05f3eb
child 379 c8bd9793446d
child 380 c72ccad3e3b8
permissions -rw-r--r--
Change the size of the short hash representation -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Change the size of the short hash representation First note that this number doesn't really matter, as we always check for ambiguous short hash ids. Here's the math on collision probability: >>> import math >>> def p(f, n): return 1 - (1 / math.exp(n**2/(2*f))) ... >>> p(2**32, 30000.0) 0.09947179164613551 # with 30000 changesets (BKCVS), we have a 9% chance >>> p(2**32, 65000.0) 0.38850881217977273 # and with a full import from BK, we'd have a 39% chance >>> p(2**40, 1e6) 0.36539171908447321 # we'd like to be "safe" for 1M csets, so 40 isn't enough >>> p(2**48, 1e6) 0.001774780051374103 # But 48 looks good >>> p(2**48, 1e7) 0.16275260939624481 >>> p(2**48, 5e6) 0.043437281083569146 >>> p(2**48, 2e6) 0.0070802434913129764 >>> p(2**48, 3e6) 0.01586009440574343 manifest hash: 24d9f928a463f46708b0e11fb781d5a241851424 -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.0 (GNU/Linux) iD8DBQFCsQoMywK+sNU5EO8RAoBBAJwII9GV6dT9QUOYAk3gZGw9z0JvjACfSI4q IFnTu1F7P5OuLelO1GsM8Bs= =CNWk -----END PGP SIGNATURE-----

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

Core:
- difflib creating/removing files (fixed except dates?)
- directory foo.d or foo.i with existing file foo; hgweb.cgi.[di] and
  apache
- get various options from hgrc
- allow full decimal (part of) hash
  hg export 5005048662 -> OverflowError: long int too large to convert
  to int
- push support (hack exists)
- hg over ssh://
- commit mailinglist/trigger/hooks
- fast diff extension

Commands:
- 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())
- link children in hgweb
- adding a tag with "hg tag foobar"
- automatic pull fallback to old-http://
- hg init|pull http://example.com doesn't say that no repo was found
- hg annotate -u and hgweb annotate with long $EMAIL
- hg -v history doesn't show tkmerge as modified (removed).
- hg import vs. hg patch in help etc. (import is a reserved python
  word)
- version reporting

Web:
- show tags in hgweb + hg history
- show parent changeset number in hgweb
- optionally only show merges (parent != changeset-1, etc.)
- one hgweb with many repos (another script)
- hgweb tip link too verbose
- hgweb: deliver static files from .hg (e.g. favicon?)
- hgweb personalization: timezone (display/change), display of
  features
- hg export 240 shows -tkmerge (good), hgweb does not (bad).

(originally from a posting by Thomas Arendsen Hein)