Mercurial > hg > mercurial-crew-with-dirclash
annotate templates/template-vars.txt @ 373:67081329d49a
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-----
author | mpm@selenic.com |
---|---|
date | Wed, 15 Jun 2005 21:11:40 -0800 |
parents | c77a679e9cfa |
children | f8d44a2e6928 |
rev | line source |
---|---|
138 | 1 repo the name of the repo |
2 rev a changeset.manifest revision | |
3 node a changeset node | |
4 changesets total number of changesets | |
5 file a filename | |
6 filenode a file node | |
7 filerev a file revision | |
8 filerevs total number of file revisions | |
9 up the directory of the relevant file | |
10 path a path in the manifest, starting with "/" | |
11 basename a short pathname | |
12 manifest a manifest node | |
13 manifestrev a manifest revision | |
14 date a date string | |
15 age age in hours, days, etc | |
16 line a line of text (escaped) | |
17 desc a description (escaped, with breaks) | |
18 shortdesc a short description (escaped) | |
19 author a name or email addressv(obfuscated) | |
20 p1, p2 parent nodes | |
21 p1rev, p2rev parent revs | |
22 | |
23 header the global page header | |
24 footer the global page footer | |
25 | |
26 files a list of file links | |
27 dirs a set of directory links | |
28 diff a diff of one or more files | |
29 annotate an annotated file | |
30 entries the entries relevant to the page | |
31 | |
32 Templates and commands: | |
33 changelog(rev) - a page for browsing changesets | |
34 naventry - a link for jumping to a changeset number | |
35 filenodelink - jump to file diff | |
36 fileellipses - printed after maxfiles | |
37 changelogentry - an entry in the log | |
38 manifest - browse a manifest as a directory tree |