http://defect.opensolaris.org/bz/show_bug.cgi?id=19221
--- Comment #10 from Vladimir Kotal <[email protected]> 2012-07-10 12:45:27 UTC --- (In reply to comment #9) <snip> > It contains 'foo:bar' with the colon already encoded. However, the colon which > is part of the Merucial changeset ID is not encoded. The encoding (done when > hitting the Compare button ?) converts the percent character to '%25' and > leaves the '3A' intact, hence resulting in 'foo%253Abar'. Assuming the chages to PageConfig.java are reverted to state before changeset 1401:4bad063b48d3 I think the fix should look like this: diff --git a/web/history.jsp b/web/history.jsp --- a/web/history.jsp +++ b/web/history.jsp @@ -133,13 +133,13 @@ } else if (count == 1) { %> checked="checked"<% } - %> name="r1" value="<%= rp %>@<%= rev%>"/> + %> name="r1" value="<%= path %>@<%= rev%>"/> <input type="radio" name="r2"<% if (count == 0) { %> checked="checked"<% } - %> value="<%= rp %>@<%= rev %>"/></td><% + %> value="<%= path %>@<%= rev %>"/></td><% } else { striked = true; %> However, this is not a end of all troubles. There is a corner case bug which prevents this from working for the first changeset of the file. I've recreated the test repository again so that the PlainAnalyzer will pick up the file (match on file suffix): $ mkdir colon-test $ hg init $ echo "blah" foo:bar.txt $ hg add foo:bar $ hg commit -m "first" $ echo "hah" > foo\:bar $ hg commit -m "second" $ echo "ugh" > foo\:bar $ hg commit -m "third" With above fix in history.jsp this works fine when diffing the 2nd and 3rd changeset. Howerver, it does not work when diffing 1st and 2nd changeset (or 1st and 3rd), resulting in the 'Diffs for binary files cannot be displayed!' error message. Also, clicking on the revision ID displays the file contents for 2nd and 3rd changeset but not the 1st, resulting in 'Binary file [Click here to download]' (which is moreover badly formatted because it is actually displayed below the footer). I added couple of additional changesets to make sure it is indeed just the 1st one which taints everything. -- Configure bugmail: http://defect.opensolaris.org/bz/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug. _______________________________________________ opengrok-dev mailing list [email protected] http://mail.opensolaris.org/mailman/listinfo/opengrok-dev
