annotate templates/template-vars.txt @ 827:a61728b58dc0

Fix array overflow bug in bdiff I ran into a bug while importing a large repository into mercurial. The diff algorithm does not allocate a big enough array of hunks for some test cases. This results in memory corruption, and possibly, as in my case, a seg fault. You should be able to reproduce this problem with any case of more than a few lines that follows this pattern: a b = = 1 1 2 2 3 4 3 5 . 4 . . 5 . . . I.e., "a" has blank lines on every other line that have been removed in "b". In this case, the number of matching hunks is equal to the number of lines in "b". This is more than ((an + bn)/4 + 2). I'm not sure what motivates this formula, but when I changed it to the smaller of an or bn (+ 1), it works. [comment added by mpm]
author "Wallace, Eric S" <eric.s.wallace@intel.com>
date Thu, 04 Aug 2005 13:25:59 -0800
parents f8d44a2e6928
children ba625c8083d8
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
138
c77a679e9cfa Revamped templated hgweb
mpm@selenic.com
parents:
diff changeset
1 repo the name of the repo
c77a679e9cfa Revamped templated hgweb
mpm@selenic.com
parents:
diff changeset
2 rev a changeset.manifest revision
c77a679e9cfa Revamped templated hgweb
mpm@selenic.com
parents:
diff changeset
3 node a changeset node
c77a679e9cfa Revamped templated hgweb
mpm@selenic.com
parents:
diff changeset
4 changesets total number of changesets
c77a679e9cfa Revamped templated hgweb
mpm@selenic.com
parents:
diff changeset
5 file a filename
c77a679e9cfa Revamped templated hgweb
mpm@selenic.com
parents:
diff changeset
6 filenode a file node
c77a679e9cfa Revamped templated hgweb
mpm@selenic.com
parents:
diff changeset
7 filerev a file revision
c77a679e9cfa Revamped templated hgweb
mpm@selenic.com
parents:
diff changeset
8 filerevs total number of file revisions
c77a679e9cfa Revamped templated hgweb
mpm@selenic.com
parents:
diff changeset
9 up the directory of the relevant file
c77a679e9cfa Revamped templated hgweb
mpm@selenic.com
parents:
diff changeset
10 path a path in the manifest, starting with "/"
c77a679e9cfa Revamped templated hgweb
mpm@selenic.com
parents:
diff changeset
11 basename a short pathname
c77a679e9cfa Revamped templated hgweb
mpm@selenic.com
parents:
diff changeset
12 manifest a manifest node
c77a679e9cfa Revamped templated hgweb
mpm@selenic.com
parents:
diff changeset
13 manifestrev a manifest revision
c77a679e9cfa Revamped templated hgweb
mpm@selenic.com
parents:
diff changeset
14 date a date string
c77a679e9cfa Revamped templated hgweb
mpm@selenic.com
parents:
diff changeset
15 age age in hours, days, etc
c77a679e9cfa Revamped templated hgweb
mpm@selenic.com
parents:
diff changeset
16 line a line of text (escaped)
c77a679e9cfa Revamped templated hgweb
mpm@selenic.com
parents:
diff changeset
17 desc a description (escaped, with breaks)
c77a679e9cfa Revamped templated hgweb
mpm@selenic.com
parents:
diff changeset
18 shortdesc a short description (escaped)
c77a679e9cfa Revamped templated hgweb
mpm@selenic.com
parents:
diff changeset
19 author a name or email addressv(obfuscated)
598
f8d44a2e6928 [PATCH 4/5]: cleaning the template parent management in hgweb
mpm@selenic.com
parents: 138
diff changeset
20 parent a list of the parent
f8d44a2e6928 [PATCH 4/5]: cleaning the template parent management in hgweb
mpm@selenic.com
parents: 138
diff changeset
21 tags a list of tag
138
c77a679e9cfa Revamped templated hgweb
mpm@selenic.com
parents:
diff changeset
22
c77a679e9cfa Revamped templated hgweb
mpm@selenic.com
parents:
diff changeset
23 header the global page header
c77a679e9cfa Revamped templated hgweb
mpm@selenic.com
parents:
diff changeset
24 footer the global page footer
c77a679e9cfa Revamped templated hgweb
mpm@selenic.com
parents:
diff changeset
25
c77a679e9cfa Revamped templated hgweb
mpm@selenic.com
parents:
diff changeset
26 files a list of file links
c77a679e9cfa Revamped templated hgweb
mpm@selenic.com
parents:
diff changeset
27 dirs a set of directory links
c77a679e9cfa Revamped templated hgweb
mpm@selenic.com
parents:
diff changeset
28 diff a diff of one or more files
c77a679e9cfa Revamped templated hgweb
mpm@selenic.com
parents:
diff changeset
29 annotate an annotated file
c77a679e9cfa Revamped templated hgweb
mpm@selenic.com
parents:
diff changeset
30 entries the entries relevant to the page
c77a679e9cfa Revamped templated hgweb
mpm@selenic.com
parents:
diff changeset
31
c77a679e9cfa Revamped templated hgweb
mpm@selenic.com
parents:
diff changeset
32 Templates and commands:
c77a679e9cfa Revamped templated hgweb
mpm@selenic.com
parents:
diff changeset
33 changelog(rev) - a page for browsing changesets
c77a679e9cfa Revamped templated hgweb
mpm@selenic.com
parents:
diff changeset
34 naventry - a link for jumping to a changeset number
c77a679e9cfa Revamped templated hgweb
mpm@selenic.com
parents:
diff changeset
35 filenodelink - jump to file diff
c77a679e9cfa Revamped templated hgweb
mpm@selenic.com
parents:
diff changeset
36 fileellipses - printed after maxfiles
c77a679e9cfa Revamped templated hgweb
mpm@selenic.com
parents:
diff changeset
37 changelogentry - an entry in the log
c77a679e9cfa Revamped templated hgweb
mpm@selenic.com
parents:
diff changeset
38 manifest - browse a manifest as a directory tree