hgweb.manifest: revno of manifest and changelog aren't always the same
In the v4l-dvb repo, the manifest revno and the changelog revno are not
in sync. This happened because the same patch was applied to the same
revision in two different branches, resulting in the same manifest text,
with the same parents and so the first revision was reused.
Since hgweb.manifest was assuming the revnos of the manifest and of the
changelog were always the same, clicking on manifest -> bz2 in the
v4l-dvb site would download the wrong revision.
Use the linkrev to go from manifest revision to changelog revision.
This still won't be perfect since the page will still talk about
"manifest for changeset XYZ", where XYZ was the first changeset to have
this manifest, which is not necessarily the same changeset that the user
clicked to get to this page - but at least the contents will be the
same.
# default style is like normal output
18a19
> files:
29a31
> files:
43a46
> files:
# compact style works
3[tip] 10e46f2dcbf4 1970-01-16 01:06 +0000 person
no user, no domain
2 97054abb4ab8 1970-01-14 21:20 +0000 other
no person
1 b608e9d1a3f0 1970-01-13 17:33 +0000 other
other 1
0 1e4e1b8f71e0 1970-01-12 13:46 +0000 user
line 1
3[tip] 10e46f2dcbf4 1970-01-16 01:06 +0000 person
no user, no domain
2 97054abb4ab8 1970-01-14 21:20 +0000 other
no person
1 b608e9d1a3f0 1970-01-13 17:33 +0000 other
other 1
0 1e4e1b8f71e0 1970-01-12 13:46 +0000 user
line 1
3[tip]:2,-1 10e46f2dcbf4 1970-01-16 01:06 +0000 person
no user, no domain
2:1,-1 97054abb4ab8 1970-01-14 21:20 +0000 other
no person
1:0,-1 b608e9d1a3f0 1970-01-13 17:33 +0000 other
other 1
0:-1,-1 1e4e1b8f71e0 1970-01-12 13:46 +0000 user
line 1
# error if style not readable
abort: Permission denied - ./q
# error if no style
abort: No such file or directory - notexist
# error if style missing key
abort: ./t: no key named 'changeset'
# error if include fails
abort: template file ./q: Permission denied
# include works
3
2
1
0
# ui.style works
3
2
1
0
# keys work
author: person
author: other@place
author: A. N. Other <other@place>
author: User Name <user@hostname>
author--verbose: person
author--verbose: other@place
author--verbose: A. N. Other <other@place>
author--verbose: User Name <user@hostname>
author--debug: person
author--debug: other@place
author--debug: A. N. Other <other@place>
author--debug: User Name <user@hostname>
branches:
branches:
branches:
branches:
branches--verbose:
branches--verbose:
branches--verbose:
branches--verbose:
branches--debug:
branches--debug:
branches--debug:
branches--debug:
date: 1300000.00
date: 1200000.00
date: 1100000.00
date: 1000000.00
date--verbose: 1300000.00
date--verbose: 1200000.00
date--verbose: 1100000.00
date--verbose: 1000000.00
date--debug: 1300000.00
date--debug: 1200000.00
date--debug: 1100000.00
date--debug: 1000000.00
desc: no user, no domain
desc: no person
desc: other 1
other 2
other 3
desc: line 1
line 2
desc--verbose: no user, no domain
desc--verbose: no person
desc--verbose: other 1
other 2
other 3
desc--verbose: line 1
line 2
desc--debug: no user, no domain
desc--debug: no person
desc--debug: other 1
other 2
other 3
desc--debug: line 1
line 2
file_adds:
file_adds:
file_adds:
file_adds:
file_adds--verbose:
file_adds--verbose:
file_adds--verbose:
file_adds--verbose:
file_adds--debug:
file_adds--debug: c
file_adds--debug: b
file_adds--debug: a
file_dels:
file_dels:
file_dels:
file_dels:
file_dels--verbose:
file_dels--verbose:
file_dels--verbose:
file_dels--verbose:
file_dels--debug:
file_dels--debug:
file_dels--debug:
file_dels--debug:
files: c
files: c
files: b
files: a
files--verbose: c
files--verbose: c
files--verbose: b
files--verbose: a
files--debug: c
files--debug:
files--debug:
files--debug:
manifest:
manifest:
manifest:
manifest:
manifest--verbose:
manifest--verbose:
manifest--verbose:
manifest--verbose:
manifest--debug: 3:cb5a1327723b
manifest--debug: 2:6e0e82995c35
manifest--debug: 1:4e8d705b1e53
manifest--debug: 0:a0c8bcbbb45c
node: 10e46f2dcbf4823578cf180f33ecf0b957964c47
node: 97054abb4ab824450e9164180baf491ae0078465
node: b608e9d1a3f0273ccf70fb85fd6866b3482bf965
node: 1e4e1b8f71e05681d422154f5421e385fec3454f
node--verbose: 10e46f2dcbf4823578cf180f33ecf0b957964c47
node--verbose: 97054abb4ab824450e9164180baf491ae0078465
node--verbose: b608e9d1a3f0273ccf70fb85fd6866b3482bf965
node--verbose: 1e4e1b8f71e05681d422154f5421e385fec3454f
node--debug: 10e46f2dcbf4823578cf180f33ecf0b957964c47
node--debug: 97054abb4ab824450e9164180baf491ae0078465
node--debug: b608e9d1a3f0273ccf70fb85fd6866b3482bf965
node--debug: 1e4e1b8f71e05681d422154f5421e385fec3454f
parents:
parents:
parents:
parents:
parents--verbose:
parents--verbose:
parents--verbose:
parents--verbose:
parents--debug: 2:97054abb4ab8 -1:000000000000
parents--debug: 1:b608e9d1a3f0 -1:000000000000
parents--debug: 0:1e4e1b8f71e0 -1:000000000000
parents--debug: -1:000000000000 -1:000000000000
rev: 3
rev: 2
rev: 1
rev: 0
rev--verbose: 3
rev--verbose: 2
rev--verbose: 1
rev--verbose: 0
rev--debug: 3
rev--debug: 2
rev--debug: 1
rev--debug: 0
tags: tip
tags:
tags:
tags:
tags--verbose: tip
tags--verbose:
tags--verbose:
tags--verbose:
tags--debug: tip
tags--debug:
tags--debug:
tags--debug:
# filters work
place
place
hostname
person
other
A. N. Other
User Name
person
other
other
user
Fri Jan 16 01:06:40 1970 +0000
Wed Jan 14 21:20:00 1970 +0000
Tue Jan 13 17:33:20 1970 +0000
Mon Jan 12 13:46:40 1970 +0000
1970-01-16 01:06 +0000
1970-01-14 21:20 +0000
1970-01-13 17:33 +0000
1970-01-12 13:46 +0000
Fri, 16 Jan 1970 01:06:40 +0000
Wed, 14 Jan 1970 21:20:00 +0000
Tue, 13 Jan 1970 17:33:20 +0000
Mon, 12 Jan 1970 13:46:40 +0000
no user, no domain
no person
other 1
line 1
10e46f2dcbf4
97054abb4ab8
b608e9d1a3f0
1e4e1b8f71e0
# error on syntax
abort: t:3: unmatched quotes
# done