New URL scheme for Subversion. The problem with the old scheme is it
doesn't have a concept of a "sticky" revision. So if you are looking
at version 10 of a directory, and click to view a file inside which
was last modified in version 6, the fact you were looking at version 10
of the parent directory is not recorded anywhere, and the "Parent Directory"
links on the markup page will take you to a version 6 directory listing
instead of the listing you came from. This problem exists all over
ViewCVS, not just in directory listings, and the result of it is that when
you browse a repository by following the provided links you get sent further
and further back into the history, all the while seeing incomplete log pages
and outdated directory listings which you never asked for.
The new URL scheme works by introducing a new 'pathrev' sticky variable and
is described in detail in a comment in the _orig_path function in
lib/viewcvs.py. The scheme is not backwards compatabile with all (or
maybe even most) old subversion URLs. Specifically, any old URL referring
to a path that no longer exists in the HEAD will not work. Other subversion
URLs will still work.
It is still possible to add backwards compatibility. We'd have to rename
the rev parameter to something else, so we could know that all URLs with
'rev' in them are old style URLs which need to be redirected. I don't know
if it's worth doing this though.
This is not an isolated change. I've tried to unite the Subversion "sticky
revision" with the present "only_with_tag" logic for CVS. And since I had
to go over viewcvs.py with a fine-toothed comb implementing these things,
there are also some miscellaneous cleanups there.
* lib/vclib/bincvs/__init__.py
(_file_log):
change filtering so when matching revisions to tag, includes all
preceding revisions, not just tag revision itself
* lib/viewcvs.py
(_sticky_vars):
'only_with_tag' is gone, so change this back into a list with no
span-roots values
(request.run_viewcvs):
read new 'pathrev' parameter and use it when calling repos.itemtype
(request.get_link):
add 'pathrev' parameter to urls, restore update _sticky_vars loop
(_legal_params, prep_tags, build_commit):
replace 'only_with_tag' with 'pathrev'
(_orig_path):
new function
(nav_path, common_template_data):
stop adding 'rev' parameters to links
removed unused 'roots_href' template variable
(nav_header_data):
add new 'revision_href', 'orig_path', 'orig_href' template variables
for use in markup and annotate views
(view_markup, view_checkout, view_annotate, setup_diff, generate_tarball,
download_tarball):
use 'pathrev' when looking up file revision
(view_directory):
use 'pathrev' when looking up directory revisions instead of 'rev'.
stop adding 'rev' to links.
add template variables: pathrev, pathrev_action, pathrev_hidden_values.
remove unused template variables: num_files, rev, view_tag, has_tags,
main_href, jump_rev_action, jump_rev_hidden_values, row.show_log.
(view_log):
use 'pathrev' to retrieve log information instead of 'rev'.
stop linking to original paths of copied files.
add template variables: entry.orig_path, entry.orig_href, default_branch,
pathrev, pathrev_action, pathrev_hidden_values, branch_tags, plain_tags.
remove template variables: entry.filename, entry.prev_path,
branch, path_selected, view_tag, branch_names, branch_select_action,
branch_select_hidden_values.
(view_cvsgraph):
use common_template_data instead of nav_header_data, 'pathrev' instead
of 'only_with tag'
(view_diff):
use common_template_data instead of nav_header_data
add template variables: path_left, path_right
(view_revision):
use 'pathrev' instead of 'rev' in links
* templates/include/dir_header.ezt
rearrange header and add sticky tag/revision row
* templates/include/dir_footer.ezt
remove tag selector
* templates/include/pathrev_form.ezt
new, sticky tag/revision selector form based on code from
dir_footer.ezt
* templates/include/branch.ezt
* templates/include/branch_form.ezt
* templates/include/view_tag.ezt
removed
* templates/include/log_header.ezt
new, based on branch.ezt and view_tag.ezt
* templates/include/log_footer.ezt
new
* templates/include/log.ezt
* templates/include/log_table.ezt
include log_header.ezt and log_footer.ezt
* templates/include/annotate.ezt
* templates/include/diff.ezt
* templates/include/markup.ezt
show original paths and add view_revision links
* cvsgraph.conf.dist
replace only_with_tag parameter with pathrev
* website/template-authoring-guide.html
update template variable information
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@1145 8cb11bc2-c004-0410-86c3-e597b4017df7
2005-11-03 16:31:02 +03:00
|
|
|
[include "include/log_header.ezt"]
|
2001-12-31 07:39:34 +03:00
|
|
|
|
2005-10-18 00:31:11 +04:00
|
|
|
[define first_revision][end]
|
|
|
|
[define last_revision][end]
|
|
|
|
|
2001-10-21 10:54:51 +04:00
|
|
|
[for entries]
|
2005-10-18 00:31:11 +04:00
|
|
|
[if-index entries first][define first_revision][entries.rev][end][end]
|
|
|
|
[if-index entries last][define last_revision][entries.rev][end][end]
|
2005-09-28 21:06:16 +04:00
|
|
|
<div>
|
|
|
|
<hr />
|
2001-10-21 10:54:51 +04:00
|
|
|
|
|
|
|
[is entries.state "dead"]
|
2005-09-28 21:06:16 +04:00
|
|
|
Revision <strong>[entries.rev]</strong>
|
2001-10-21 10:54:51 +04:00
|
|
|
[else]
|
|
|
|
<a name="rev[entries.rev]"></a>
|
|
|
|
[for entries.tag_names]<a name="[entries.tag_names]"></a>
|
|
|
|
[end]
|
|
|
|
[for entries.branch_names]<a name="[entries.branch_names]"></a>
|
|
|
|
[end]
|
|
|
|
|
New URL scheme for Subversion. The problem with the old scheme is it
doesn't have a concept of a "sticky" revision. So if you are looking
at version 10 of a directory, and click to view a file inside which
was last modified in version 6, the fact you were looking at version 10
of the parent directory is not recorded anywhere, and the "Parent Directory"
links on the markup page will take you to a version 6 directory listing
instead of the listing you came from. This problem exists all over
ViewCVS, not just in directory listings, and the result of it is that when
you browse a repository by following the provided links you get sent further
and further back into the history, all the while seeing incomplete log pages
and outdated directory listings which you never asked for.
The new URL scheme works by introducing a new 'pathrev' sticky variable and
is described in detail in a comment in the _orig_path function in
lib/viewcvs.py. The scheme is not backwards compatabile with all (or
maybe even most) old subversion URLs. Specifically, any old URL referring
to a path that no longer exists in the HEAD will not work. Other subversion
URLs will still work.
It is still possible to add backwards compatibility. We'd have to rename
the rev parameter to something else, so we could know that all URLs with
'rev' in them are old style URLs which need to be redirected. I don't know
if it's worth doing this though.
This is not an isolated change. I've tried to unite the Subversion "sticky
revision" with the present "only_with_tag" logic for CVS. And since I had
to go over viewcvs.py with a fine-toothed comb implementing these things,
there are also some miscellaneous cleanups there.
* lib/vclib/bincvs/__init__.py
(_file_log):
change filtering so when matching revisions to tag, includes all
preceding revisions, not just tag revision itself
* lib/viewcvs.py
(_sticky_vars):
'only_with_tag' is gone, so change this back into a list with no
span-roots values
(request.run_viewcvs):
read new 'pathrev' parameter and use it when calling repos.itemtype
(request.get_link):
add 'pathrev' parameter to urls, restore update _sticky_vars loop
(_legal_params, prep_tags, build_commit):
replace 'only_with_tag' with 'pathrev'
(_orig_path):
new function
(nav_path, common_template_data):
stop adding 'rev' parameters to links
removed unused 'roots_href' template variable
(nav_header_data):
add new 'revision_href', 'orig_path', 'orig_href' template variables
for use in markup and annotate views
(view_markup, view_checkout, view_annotate, setup_diff, generate_tarball,
download_tarball):
use 'pathrev' when looking up file revision
(view_directory):
use 'pathrev' when looking up directory revisions instead of 'rev'.
stop adding 'rev' to links.
add template variables: pathrev, pathrev_action, pathrev_hidden_values.
remove unused template variables: num_files, rev, view_tag, has_tags,
main_href, jump_rev_action, jump_rev_hidden_values, row.show_log.
(view_log):
use 'pathrev' to retrieve log information instead of 'rev'.
stop linking to original paths of copied files.
add template variables: entry.orig_path, entry.orig_href, default_branch,
pathrev, pathrev_action, pathrev_hidden_values, branch_tags, plain_tags.
remove template variables: entry.filename, entry.prev_path,
branch, path_selected, view_tag, branch_names, branch_select_action,
branch_select_hidden_values.
(view_cvsgraph):
use common_template_data instead of nav_header_data, 'pathrev' instead
of 'only_with tag'
(view_diff):
use common_template_data instead of nav_header_data
add template variables: path_left, path_right
(view_revision):
use 'pathrev' instead of 'rev' in links
* templates/include/dir_header.ezt
rearrange header and add sticky tag/revision row
* templates/include/dir_footer.ezt
remove tag selector
* templates/include/pathrev_form.ezt
new, sticky tag/revision selector form based on code from
dir_footer.ezt
* templates/include/branch.ezt
* templates/include/branch_form.ezt
* templates/include/view_tag.ezt
removed
* templates/include/log_header.ezt
new, based on branch.ezt and view_tag.ezt
* templates/include/log_footer.ezt
new
* templates/include/log.ezt
* templates/include/log_table.ezt
include log_header.ezt and log_footer.ezt
* templates/include/annotate.ezt
* templates/include/diff.ezt
* templates/include/markup.ezt
show original paths and add view_revision links
* cvsgraph.conf.dist
replace only_with_tag parameter with pathrev
* website/template-authoring-guide.html
update template variable information
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@1145 8cb11bc2-c004-0410-86c3-e597b4017df7
2005-11-03 16:31:02 +03:00
|
|
|
Revision [is roottype "svn"]<a href="[entries.revision_href]"><strong>[entries.rev]</strong></a>[else]<strong>[entries.rev]</strong>[end] -
|
2005-11-03 16:33:56 +03:00
|
|
|
[is pathtype "file"]
|
|
|
|
(<a href="[entries.view_href]">view</a>)
|
|
|
|
[else]
|
2005-12-23 19:03:14 +03:00
|
|
|
<a href="[entries.view_href]">Directory Listing</a>
|
2005-11-03 16:33:56 +03:00
|
|
|
[end]
|
New URL scheme for Subversion. The problem with the old scheme is it
doesn't have a concept of a "sticky" revision. So if you are looking
at version 10 of a directory, and click to view a file inside which
was last modified in version 6, the fact you were looking at version 10
of the parent directory is not recorded anywhere, and the "Parent Directory"
links on the markup page will take you to a version 6 directory listing
instead of the listing you came from. This problem exists all over
ViewCVS, not just in directory listings, and the result of it is that when
you browse a repository by following the provided links you get sent further
and further back into the history, all the while seeing incomplete log pages
and outdated directory listings which you never asked for.
The new URL scheme works by introducing a new 'pathrev' sticky variable and
is described in detail in a comment in the _orig_path function in
lib/viewcvs.py. The scheme is not backwards compatabile with all (or
maybe even most) old subversion URLs. Specifically, any old URL referring
to a path that no longer exists in the HEAD will not work. Other subversion
URLs will still work.
It is still possible to add backwards compatibility. We'd have to rename
the rev parameter to something else, so we could know that all URLs with
'rev' in them are old style URLs which need to be redirected. I don't know
if it's worth doing this though.
This is not an isolated change. I've tried to unite the Subversion "sticky
revision" with the present "only_with_tag" logic for CVS. And since I had
to go over viewcvs.py with a fine-toothed comb implementing these things,
there are also some miscellaneous cleanups there.
* lib/vclib/bincvs/__init__.py
(_file_log):
change filtering so when matching revisions to tag, includes all
preceding revisions, not just tag revision itself
* lib/viewcvs.py
(_sticky_vars):
'only_with_tag' is gone, so change this back into a list with no
span-roots values
(request.run_viewcvs):
read new 'pathrev' parameter and use it when calling repos.itemtype
(request.get_link):
add 'pathrev' parameter to urls, restore update _sticky_vars loop
(_legal_params, prep_tags, build_commit):
replace 'only_with_tag' with 'pathrev'
(_orig_path):
new function
(nav_path, common_template_data):
stop adding 'rev' parameters to links
removed unused 'roots_href' template variable
(nav_header_data):
add new 'revision_href', 'orig_path', 'orig_href' template variables
for use in markup and annotate views
(view_markup, view_checkout, view_annotate, setup_diff, generate_tarball,
download_tarball):
use 'pathrev' when looking up file revision
(view_directory):
use 'pathrev' when looking up directory revisions instead of 'rev'.
stop adding 'rev' to links.
add template variables: pathrev, pathrev_action, pathrev_hidden_values.
remove unused template variables: num_files, rev, view_tag, has_tags,
main_href, jump_rev_action, jump_rev_hidden_values, row.show_log.
(view_log):
use 'pathrev' to retrieve log information instead of 'rev'.
stop linking to original paths of copied files.
add template variables: entry.orig_path, entry.orig_href, default_branch,
pathrev, pathrev_action, pathrev_hidden_values, branch_tags, plain_tags.
remove template variables: entry.filename, entry.prev_path,
branch, path_selected, view_tag, branch_names, branch_select_action,
branch_select_hidden_values.
(view_cvsgraph):
use common_template_data instead of nav_header_data, 'pathrev' instead
of 'only_with tag'
(view_diff):
use common_template_data instead of nav_header_data
add template variables: path_left, path_right
(view_revision):
use 'pathrev' instead of 'rev' in links
* templates/include/dir_header.ezt
rearrange header and add sticky tag/revision row
* templates/include/dir_footer.ezt
remove tag selector
* templates/include/pathrev_form.ezt
new, sticky tag/revision selector form based on code from
dir_footer.ezt
* templates/include/branch.ezt
* templates/include/branch_form.ezt
* templates/include/view_tag.ezt
removed
* templates/include/log_header.ezt
new, based on branch.ezt and view_tag.ezt
* templates/include/log_footer.ezt
new
* templates/include/log.ezt
* templates/include/log_table.ezt
include log_header.ezt and log_footer.ezt
* templates/include/annotate.ezt
* templates/include/diff.ezt
* templates/include/markup.ezt
show original paths and add view_revision links
* cvsgraph.conf.dist
replace only_with_tag parameter with pathrev
* website/template-authoring-guide.html
update template variable information
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@1145 8cb11bc2-c004-0410-86c3-e597b4017df7
2005-11-03 16:31:02 +03:00
|
|
|
[if-any entries.download_href](<a href="[entries.download_href]">download</a>)[end]
|
|
|
|
[if-any entries.download_text_href](<a href="[entries.download_text_href]">as text</a>)[end]
|
|
|
|
[if-any entries.annotate_href](<a href="[entries.annotate_href]">annotate</a>)[end]
|
2001-10-21 10:54:51 +04:00
|
|
|
|
New URL scheme for Subversion. The problem with the old scheme is it
doesn't have a concept of a "sticky" revision. So if you are looking
at version 10 of a directory, and click to view a file inside which
was last modified in version 6, the fact you were looking at version 10
of the parent directory is not recorded anywhere, and the "Parent Directory"
links on the markup page will take you to a version 6 directory listing
instead of the listing you came from. This problem exists all over
ViewCVS, not just in directory listings, and the result of it is that when
you browse a repository by following the provided links you get sent further
and further back into the history, all the while seeing incomplete log pages
and outdated directory listings which you never asked for.
The new URL scheme works by introducing a new 'pathrev' sticky variable and
is described in detail in a comment in the _orig_path function in
lib/viewcvs.py. The scheme is not backwards compatabile with all (or
maybe even most) old subversion URLs. Specifically, any old URL referring
to a path that no longer exists in the HEAD will not work. Other subversion
URLs will still work.
It is still possible to add backwards compatibility. We'd have to rename
the rev parameter to something else, so we could know that all URLs with
'rev' in them are old style URLs which need to be redirected. I don't know
if it's worth doing this though.
This is not an isolated change. I've tried to unite the Subversion "sticky
revision" with the present "only_with_tag" logic for CVS. And since I had
to go over viewcvs.py with a fine-toothed comb implementing these things,
there are also some miscellaneous cleanups there.
* lib/vclib/bincvs/__init__.py
(_file_log):
change filtering so when matching revisions to tag, includes all
preceding revisions, not just tag revision itself
* lib/viewcvs.py
(_sticky_vars):
'only_with_tag' is gone, so change this back into a list with no
span-roots values
(request.run_viewcvs):
read new 'pathrev' parameter and use it when calling repos.itemtype
(request.get_link):
add 'pathrev' parameter to urls, restore update _sticky_vars loop
(_legal_params, prep_tags, build_commit):
replace 'only_with_tag' with 'pathrev'
(_orig_path):
new function
(nav_path, common_template_data):
stop adding 'rev' parameters to links
removed unused 'roots_href' template variable
(nav_header_data):
add new 'revision_href', 'orig_path', 'orig_href' template variables
for use in markup and annotate views
(view_markup, view_checkout, view_annotate, setup_diff, generate_tarball,
download_tarball):
use 'pathrev' when looking up file revision
(view_directory):
use 'pathrev' when looking up directory revisions instead of 'rev'.
stop adding 'rev' to links.
add template variables: pathrev, pathrev_action, pathrev_hidden_values.
remove unused template variables: num_files, rev, view_tag, has_tags,
main_href, jump_rev_action, jump_rev_hidden_values, row.show_log.
(view_log):
use 'pathrev' to retrieve log information instead of 'rev'.
stop linking to original paths of copied files.
add template variables: entry.orig_path, entry.orig_href, default_branch,
pathrev, pathrev_action, pathrev_hidden_values, branch_tags, plain_tags.
remove template variables: entry.filename, entry.prev_path,
branch, path_selected, view_tag, branch_names, branch_select_action,
branch_select_hidden_values.
(view_cvsgraph):
use common_template_data instead of nav_header_data, 'pathrev' instead
of 'only_with tag'
(view_diff):
use common_template_data instead of nav_header_data
add template variables: path_left, path_right
(view_revision):
use 'pathrev' instead of 'rev' in links
* templates/include/dir_header.ezt
rearrange header and add sticky tag/revision row
* templates/include/dir_footer.ezt
remove tag selector
* templates/include/pathrev_form.ezt
new, sticky tag/revision selector form based on code from
dir_footer.ezt
* templates/include/branch.ezt
* templates/include/branch_form.ezt
* templates/include/view_tag.ezt
removed
* templates/include/log_header.ezt
new, based on branch.ezt and view_tag.ezt
* templates/include/log_footer.ezt
new
* templates/include/log.ezt
* templates/include/log_table.ezt
include log_header.ezt and log_footer.ezt
* templates/include/annotate.ezt
* templates/include/diff.ezt
* templates/include/markup.ezt
show original paths and add view_revision links
* cvsgraph.conf.dist
replace only_with_tag parameter with pathrev
* website/template-authoring-guide.html
update template variable information
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@1145 8cb11bc2-c004-0410-86c3-e597b4017df7
2005-11-03 16:31:02 +03:00
|
|
|
[is pathtype "file"]
|
2004-05-10 19:37:11 +04:00
|
|
|
[# if you don't want to allow select for diffs then remove this section]
|
|
|
|
[is entries.rev rev_selected]
|
2005-09-28 21:06:16 +04:00
|
|
|
- <strong>[[]selected]</strong>
|
2004-05-10 19:37:11 +04:00
|
|
|
[else]
|
2004-07-23 15:28:30 +04:00
|
|
|
- <a href="[entries.sel_for_diff_href]">[[]select for diffs]</a>
|
2004-05-10 19:37:11 +04:00
|
|
|
[end]
|
2001-10-21 10:54:51 +04:00
|
|
|
[end]
|
|
|
|
[end]
|
|
|
|
|
|
|
|
[if-any entries.vendor_branch]
|
2005-09-28 21:06:16 +04:00
|
|
|
<em>(vendor branch)</em>
|
2001-10-21 10:54:51 +04:00
|
|
|
[end]
|
|
|
|
|
2005-09-28 21:06:16 +04:00
|
|
|
<br />
|
2003-07-03 10:20:24 +04:00
|
|
|
|
|
|
|
[is roottype "svn"]
|
2003-10-17 21:56:44 +04:00
|
|
|
[if-index entries last]Added[else]Modified[end]
|
2003-07-03 10:20:24 +04:00
|
|
|
[end]
|
|
|
|
|
2005-10-17 23:50:20 +04:00
|
|
|
<em>[entries.date]</em> ([entries.ago] ago) by <em>[entries.author]</em>
|
2001-10-21 10:54:51 +04:00
|
|
|
|
New URL scheme for Subversion. The problem with the old scheme is it
doesn't have a concept of a "sticky" revision. So if you are looking
at version 10 of a directory, and click to view a file inside which
was last modified in version 6, the fact you were looking at version 10
of the parent directory is not recorded anywhere, and the "Parent Directory"
links on the markup page will take you to a version 6 directory listing
instead of the listing you came from. This problem exists all over
ViewCVS, not just in directory listings, and the result of it is that when
you browse a repository by following the provided links you get sent further
and further back into the history, all the while seeing incomplete log pages
and outdated directory listings which you never asked for.
The new URL scheme works by introducing a new 'pathrev' sticky variable and
is described in detail in a comment in the _orig_path function in
lib/viewcvs.py. The scheme is not backwards compatabile with all (or
maybe even most) old subversion URLs. Specifically, any old URL referring
to a path that no longer exists in the HEAD will not work. Other subversion
URLs will still work.
It is still possible to add backwards compatibility. We'd have to rename
the rev parameter to something else, so we could know that all URLs with
'rev' in them are old style URLs which need to be redirected. I don't know
if it's worth doing this though.
This is not an isolated change. I've tried to unite the Subversion "sticky
revision" with the present "only_with_tag" logic for CVS. And since I had
to go over viewcvs.py with a fine-toothed comb implementing these things,
there are also some miscellaneous cleanups there.
* lib/vclib/bincvs/__init__.py
(_file_log):
change filtering so when matching revisions to tag, includes all
preceding revisions, not just tag revision itself
* lib/viewcvs.py
(_sticky_vars):
'only_with_tag' is gone, so change this back into a list with no
span-roots values
(request.run_viewcvs):
read new 'pathrev' parameter and use it when calling repos.itemtype
(request.get_link):
add 'pathrev' parameter to urls, restore update _sticky_vars loop
(_legal_params, prep_tags, build_commit):
replace 'only_with_tag' with 'pathrev'
(_orig_path):
new function
(nav_path, common_template_data):
stop adding 'rev' parameters to links
removed unused 'roots_href' template variable
(nav_header_data):
add new 'revision_href', 'orig_path', 'orig_href' template variables
for use in markup and annotate views
(view_markup, view_checkout, view_annotate, setup_diff, generate_tarball,
download_tarball):
use 'pathrev' when looking up file revision
(view_directory):
use 'pathrev' when looking up directory revisions instead of 'rev'.
stop adding 'rev' to links.
add template variables: pathrev, pathrev_action, pathrev_hidden_values.
remove unused template variables: num_files, rev, view_tag, has_tags,
main_href, jump_rev_action, jump_rev_hidden_values, row.show_log.
(view_log):
use 'pathrev' to retrieve log information instead of 'rev'.
stop linking to original paths of copied files.
add template variables: entry.orig_path, entry.orig_href, default_branch,
pathrev, pathrev_action, pathrev_hidden_values, branch_tags, plain_tags.
remove template variables: entry.filename, entry.prev_path,
branch, path_selected, view_tag, branch_names, branch_select_action,
branch_select_hidden_values.
(view_cvsgraph):
use common_template_data instead of nav_header_data, 'pathrev' instead
of 'only_with tag'
(view_diff):
use common_template_data instead of nav_header_data
add template variables: path_left, path_right
(view_revision):
use 'pathrev' instead of 'rev' in links
* templates/include/dir_header.ezt
rearrange header and add sticky tag/revision row
* templates/include/dir_footer.ezt
remove tag selector
* templates/include/pathrev_form.ezt
new, sticky tag/revision selector form based on code from
dir_footer.ezt
* templates/include/branch.ezt
* templates/include/branch_form.ezt
* templates/include/view_tag.ezt
removed
* templates/include/log_header.ezt
new, based on branch.ezt and view_tag.ezt
* templates/include/log_footer.ezt
new
* templates/include/log.ezt
* templates/include/log_table.ezt
include log_header.ezt and log_footer.ezt
* templates/include/annotate.ezt
* templates/include/diff.ezt
* templates/include/markup.ezt
show original paths and add view_revision links
* cvsgraph.conf.dist
replace only_with_tag parameter with pathrev
* website/template-authoring-guide.html
update template variable information
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@1145 8cb11bc2-c004-0410-86c3-e597b4017df7
2005-11-03 16:31:02 +03:00
|
|
|
[if-any entries.orig_path]
|
2005-11-03 16:33:56 +03:00
|
|
|
<br />Original Path: <a href="[entries.orig_href]"><em>[entries.orig_path]</em></a>
|
New URL scheme for Subversion. The problem with the old scheme is it
doesn't have a concept of a "sticky" revision. So if you are looking
at version 10 of a directory, and click to view a file inside which
was last modified in version 6, the fact you were looking at version 10
of the parent directory is not recorded anywhere, and the "Parent Directory"
links on the markup page will take you to a version 6 directory listing
instead of the listing you came from. This problem exists all over
ViewCVS, not just in directory listings, and the result of it is that when
you browse a repository by following the provided links you get sent further
and further back into the history, all the while seeing incomplete log pages
and outdated directory listings which you never asked for.
The new URL scheme works by introducing a new 'pathrev' sticky variable and
is described in detail in a comment in the _orig_path function in
lib/viewcvs.py. The scheme is not backwards compatabile with all (or
maybe even most) old subversion URLs. Specifically, any old URL referring
to a path that no longer exists in the HEAD will not work. Other subversion
URLs will still work.
It is still possible to add backwards compatibility. We'd have to rename
the rev parameter to something else, so we could know that all URLs with
'rev' in them are old style URLs which need to be redirected. I don't know
if it's worth doing this though.
This is not an isolated change. I've tried to unite the Subversion "sticky
revision" with the present "only_with_tag" logic for CVS. And since I had
to go over viewcvs.py with a fine-toothed comb implementing these things,
there are also some miscellaneous cleanups there.
* lib/vclib/bincvs/__init__.py
(_file_log):
change filtering so when matching revisions to tag, includes all
preceding revisions, not just tag revision itself
* lib/viewcvs.py
(_sticky_vars):
'only_with_tag' is gone, so change this back into a list with no
span-roots values
(request.run_viewcvs):
read new 'pathrev' parameter and use it when calling repos.itemtype
(request.get_link):
add 'pathrev' parameter to urls, restore update _sticky_vars loop
(_legal_params, prep_tags, build_commit):
replace 'only_with_tag' with 'pathrev'
(_orig_path):
new function
(nav_path, common_template_data):
stop adding 'rev' parameters to links
removed unused 'roots_href' template variable
(nav_header_data):
add new 'revision_href', 'orig_path', 'orig_href' template variables
for use in markup and annotate views
(view_markup, view_checkout, view_annotate, setup_diff, generate_tarball,
download_tarball):
use 'pathrev' when looking up file revision
(view_directory):
use 'pathrev' when looking up directory revisions instead of 'rev'.
stop adding 'rev' to links.
add template variables: pathrev, pathrev_action, pathrev_hidden_values.
remove unused template variables: num_files, rev, view_tag, has_tags,
main_href, jump_rev_action, jump_rev_hidden_values, row.show_log.
(view_log):
use 'pathrev' to retrieve log information instead of 'rev'.
stop linking to original paths of copied files.
add template variables: entry.orig_path, entry.orig_href, default_branch,
pathrev, pathrev_action, pathrev_hidden_values, branch_tags, plain_tags.
remove template variables: entry.filename, entry.prev_path,
branch, path_selected, view_tag, branch_names, branch_select_action,
branch_select_hidden_values.
(view_cvsgraph):
use common_template_data instead of nav_header_data, 'pathrev' instead
of 'only_with tag'
(view_diff):
use common_template_data instead of nav_header_data
add template variables: path_left, path_right
(view_revision):
use 'pathrev' instead of 'rev' in links
* templates/include/dir_header.ezt
rearrange header and add sticky tag/revision row
* templates/include/dir_footer.ezt
remove tag selector
* templates/include/pathrev_form.ezt
new, sticky tag/revision selector form based on code from
dir_footer.ezt
* templates/include/branch.ezt
* templates/include/branch_form.ezt
* templates/include/view_tag.ezt
removed
* templates/include/log_header.ezt
new, based on branch.ezt and view_tag.ezt
* templates/include/log_footer.ezt
new
* templates/include/log.ezt
* templates/include/log_table.ezt
include log_header.ezt and log_footer.ezt
* templates/include/annotate.ezt
* templates/include/diff.ezt
* templates/include/markup.ezt
show original paths and add view_revision links
* cvsgraph.conf.dist
replace only_with_tag parameter with pathrev
* website/template-authoring-guide.html
update template variable information
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@1145 8cb11bc2-c004-0410-86c3-e597b4017df7
2005-11-03 16:31:02 +03:00
|
|
|
[end]
|
|
|
|
|
2001-10-21 10:54:51 +04:00
|
|
|
[if-any entries.branches]
|
2005-09-28 21:06:16 +04:00
|
|
|
<br />Branch:
|
2001-10-21 10:54:51 +04:00
|
|
|
[for entries.branches]
|
2005-09-28 21:06:16 +04:00
|
|
|
<a href="[entries.branches.href]"><strong>[entries.branches.name]</strong></a>[if-index entries.branches last][else],[end]
|
2001-10-21 10:54:51 +04:00
|
|
|
[end]
|
|
|
|
[end]
|
|
|
|
|
|
|
|
[if-any entries.tags]
|
2005-09-28 21:06:16 +04:00
|
|
|
<br />CVS Tags:
|
2001-10-21 10:54:51 +04:00
|
|
|
[for entries.tags]
|
2005-09-28 21:06:16 +04:00
|
|
|
<a href="[entries.tags.href]"><strong>[entries.tags.name]</strong></a>[if-index entries.tags last][else],[end]
|
2001-10-21 10:54:51 +04:00
|
|
|
[end]
|
|
|
|
[end]
|
|
|
|
|
|
|
|
[if-any entries.branch_points]
|
2005-09-28 21:06:16 +04:00
|
|
|
<br />Branch point for:
|
2001-10-21 10:54:51 +04:00
|
|
|
[for entries.branch_points]
|
2005-09-28 21:06:16 +04:00
|
|
|
<a href="[entries.branch_points.href]"><strong>[entries.branch_points.name]</strong></a>[if-index entries.branch_points last][else],[end]
|
2001-10-21 10:54:51 +04:00
|
|
|
[end]
|
|
|
|
[end]
|
|
|
|
|
|
|
|
[if-any entries.prev]
|
|
|
|
[if-any entries.changed]
|
2003-04-30 00:32:51 +04:00
|
|
|
[is roottype "cvs"]
|
2005-09-28 21:06:16 +04:00
|
|
|
<br />Changes since <strong>[entries.prev]: [entries.changed] lines</strong>
|
2003-04-30 00:32:51 +04:00
|
|
|
[end]
|
2001-10-21 10:54:51 +04:00
|
|
|
[end]
|
|
|
|
[end]
|
|
|
|
|
2003-06-26 23:54:13 +04:00
|
|
|
[is roottype "svn"]
|
|
|
|
[if-any entries.size]
|
2005-09-28 21:06:16 +04:00
|
|
|
<br />File length: [entries.size] byte(s)
|
2003-06-26 23:54:13 +04:00
|
|
|
[end]
|
2003-07-03 10:20:24 +04:00
|
|
|
|
|
|
|
[if-any entries.copy_path]
|
2005-11-03 16:33:56 +03:00
|
|
|
<br />Copied from: <a href="[entries.copy_href]"><em>[entries.copy_path]</em></a> revision [entries.copy_rev]
|
2003-07-03 10:20:24 +04:00
|
|
|
[end]
|
2003-06-26 23:54:13 +04:00
|
|
|
[end]
|
|
|
|
|
2001-10-21 10:54:51 +04:00
|
|
|
[is entries.state "dead"]
|
2005-09-28 21:06:16 +04:00
|
|
|
<br /><strong><em>FILE REMOVED</em></strong>
|
2001-10-21 10:54:51 +04:00
|
|
|
[else]
|
2004-05-10 19:37:11 +04:00
|
|
|
[is pathtype "file"]
|
2001-10-21 10:54:51 +04:00
|
|
|
[if-any entries.prev]
|
2005-09-28 21:06:16 +04:00
|
|
|
<br />Diff to <a href="[entries.diff_to_prev_href]">previous [entries.prev]</a>
|
2001-10-21 10:54:51 +04:00
|
|
|
[if-any human_readable]
|
|
|
|
[else]
|
2004-07-24 20:34:04 +04:00
|
|
|
(<a href="[entries.diff_to_prev_href]&diff_format=h">colored</a>)
|
2001-10-21 10:54:51 +04:00
|
|
|
[end]
|
|
|
|
[end]
|
|
|
|
|
2003-10-15 20:42:02 +04:00
|
|
|
[is roottype "cvs"]
|
|
|
|
[if-any entries.branch_point]
|
2004-07-23 15:28:30 +04:00
|
|
|
, to <a href="[entries.diff_to_branch_href]">branch point [entries.branch_point]</a>
|
2003-10-15 20:42:02 +04:00
|
|
|
[if-any human_readable]
|
|
|
|
[else]
|
2004-07-24 20:34:04 +04:00
|
|
|
(<a href="[entries.diff_to_branch_href]&diff_format=h">colored</a>)
|
2003-10-15 20:42:02 +04:00
|
|
|
[end]
|
2001-10-21 10:54:51 +04:00
|
|
|
[end]
|
2003-10-15 20:42:02 +04:00
|
|
|
|
|
|
|
[if-any entries.next_main]
|
2004-07-23 15:28:30 +04:00
|
|
|
, to <a href="[entries.diff_to_main_href]">next main [entries.next_main]</a>
|
2003-10-15 20:42:02 +04:00
|
|
|
[if-any human_readable]
|
|
|
|
[else]
|
2004-07-24 20:34:04 +04:00
|
|
|
(<a href="[entries.diff_to_main_href]&diff_format=h">colored</a>)
|
2003-10-15 20:42:02 +04:00
|
|
|
[end]
|
2001-11-18 14:30:27 +03:00
|
|
|
[end]
|
|
|
|
[end]
|
2001-10-21 10:54:51 +04:00
|
|
|
|
2004-07-23 15:28:30 +04:00
|
|
|
[if-any entries.diff_to_sel_href]
|
2005-09-28 21:06:16 +04:00
|
|
|
[if-any entries.prev], [else]<br />Diff[end]
|
2004-07-23 15:28:30 +04:00
|
|
|
to <a href="[entries.diff_to_sel_href]">selected [rev_selected]</a>
|
2001-10-21 10:54:51 +04:00
|
|
|
[if-any human_readable]
|
|
|
|
[else]
|
2004-07-24 20:34:04 +04:00
|
|
|
(<a href="[entries.diff_to_sel_href]&diff_format=h">colored</a>)
|
2001-10-21 10:54:51 +04:00
|
|
|
[end]
|
|
|
|
[end]
|
2004-05-10 19:37:11 +04:00
|
|
|
[end]
|
2001-10-21 10:54:51 +04:00
|
|
|
[end]
|
|
|
|
|
2005-12-08 21:18:08 +03:00
|
|
|
<pre class="vc_log">[entries.log]</pre>
|
2005-09-28 21:06:16 +04:00
|
|
|
</div>
|
2001-10-21 10:54:51 +04:00
|
|
|
[end]
|
2001-10-21 15:06:25 +04:00
|
|
|
|
New URL scheme for Subversion. The problem with the old scheme is it
doesn't have a concept of a "sticky" revision. So if you are looking
at version 10 of a directory, and click to view a file inside which
was last modified in version 6, the fact you were looking at version 10
of the parent directory is not recorded anywhere, and the "Parent Directory"
links on the markup page will take you to a version 6 directory listing
instead of the listing you came from. This problem exists all over
ViewCVS, not just in directory listings, and the result of it is that when
you browse a repository by following the provided links you get sent further
and further back into the history, all the while seeing incomplete log pages
and outdated directory listings which you never asked for.
The new URL scheme works by introducing a new 'pathrev' sticky variable and
is described in detail in a comment in the _orig_path function in
lib/viewcvs.py. The scheme is not backwards compatabile with all (or
maybe even most) old subversion URLs. Specifically, any old URL referring
to a path that no longer exists in the HEAD will not work. Other subversion
URLs will still work.
It is still possible to add backwards compatibility. We'd have to rename
the rev parameter to something else, so we could know that all URLs with
'rev' in them are old style URLs which need to be redirected. I don't know
if it's worth doing this though.
This is not an isolated change. I've tried to unite the Subversion "sticky
revision" with the present "only_with_tag" logic for CVS. And since I had
to go over viewcvs.py with a fine-toothed comb implementing these things,
there are also some miscellaneous cleanups there.
* lib/vclib/bincvs/__init__.py
(_file_log):
change filtering so when matching revisions to tag, includes all
preceding revisions, not just tag revision itself
* lib/viewcvs.py
(_sticky_vars):
'only_with_tag' is gone, so change this back into a list with no
span-roots values
(request.run_viewcvs):
read new 'pathrev' parameter and use it when calling repos.itemtype
(request.get_link):
add 'pathrev' parameter to urls, restore update _sticky_vars loop
(_legal_params, prep_tags, build_commit):
replace 'only_with_tag' with 'pathrev'
(_orig_path):
new function
(nav_path, common_template_data):
stop adding 'rev' parameters to links
removed unused 'roots_href' template variable
(nav_header_data):
add new 'revision_href', 'orig_path', 'orig_href' template variables
for use in markup and annotate views
(view_markup, view_checkout, view_annotate, setup_diff, generate_tarball,
download_tarball):
use 'pathrev' when looking up file revision
(view_directory):
use 'pathrev' when looking up directory revisions instead of 'rev'.
stop adding 'rev' to links.
add template variables: pathrev, pathrev_action, pathrev_hidden_values.
remove unused template variables: num_files, rev, view_tag, has_tags,
main_href, jump_rev_action, jump_rev_hidden_values, row.show_log.
(view_log):
use 'pathrev' to retrieve log information instead of 'rev'.
stop linking to original paths of copied files.
add template variables: entry.orig_path, entry.orig_href, default_branch,
pathrev, pathrev_action, pathrev_hidden_values, branch_tags, plain_tags.
remove template variables: entry.filename, entry.prev_path,
branch, path_selected, view_tag, branch_names, branch_select_action,
branch_select_hidden_values.
(view_cvsgraph):
use common_template_data instead of nav_header_data, 'pathrev' instead
of 'only_with tag'
(view_diff):
use common_template_data instead of nav_header_data
add template variables: path_left, path_right
(view_revision):
use 'pathrev' instead of 'rev' in links
* templates/include/dir_header.ezt
rearrange header and add sticky tag/revision row
* templates/include/dir_footer.ezt
remove tag selector
* templates/include/pathrev_form.ezt
new, sticky tag/revision selector form based on code from
dir_footer.ezt
* templates/include/branch.ezt
* templates/include/branch_form.ezt
* templates/include/view_tag.ezt
removed
* templates/include/log_header.ezt
new, based on branch.ezt and view_tag.ezt
* templates/include/log_footer.ezt
new
* templates/include/log.ezt
* templates/include/log_table.ezt
include log_header.ezt and log_footer.ezt
* templates/include/annotate.ezt
* templates/include/diff.ezt
* templates/include/markup.ezt
show original paths and add view_revision links
* cvsgraph.conf.dist
replace only_with_tag parameter with pathrev
* website/template-authoring-guide.html
update template variable information
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@1145 8cb11bc2-c004-0410-86c3-e597b4017df7
2005-11-03 16:31:02 +03:00
|
|
|
[include "include/log_footer.ezt"]
|