Edgewall Software
Modify

Opened 18 years ago

Closed 18 years ago

Last modified 10 years ago

#2955 closed defect (fixed)

unicode broke arbitrary diffs?

Reported by: eli.carter@… Owned by: Christian Boos
Priority: highest Milestone: 0.10
Component: version control Version: devel
Severity: major Keywords: svn unicode
Cc: eli.carter@… Branch:
Release Notes:
API Changes:
Internal Changes:

Description

I can do arbitrary diffs between revisions when using trac trunk revision 3022, but 3029 and 3072 give a python traceback. This error is from 3072:

Python Traceback
Traceback (most recent call last):
  File "/usr/lib/python2.4/site-packages/trac/web/main.py", line 306, in dispatch_request
    dispatcher.dispatch(req)
  File "/usr/lib/python2.4/site-packages/trac/web/main.py", line 175, in dispatch
    resp = chosen_handler.process_request(req)
  File "/usr/lib/python2.4/site-packages/trac/versioncontrol/web_ui/changeset.py", line 241, in process_request
    diff_args, diff_options)
  File "/usr/lib/python2.4/site-packages/trac/versioncontrol/web_ui/changeset.py", line 459, in _render_html
    for old_node, new_node, kind, change in get_changes():
  File "/usr/lib/python2.4/site-packages/trac/versioncontrol/web_ui/changeset.py", line 352, in get_changes
    for d in repos.get_changes(**diff):
  File "/usr/lib/python2.4/site-packages/trac/versioncontrol/svn_fs.py", line 410, in get_changes
    if self.has_node(old_path, old_rev):
  File "/usr/lib/python2.4/site-packages/trac/versioncontrol/svn_fs.py", line 262, in has_node
    node_type = fs.check_path(rev_root, self.scope + path, pool())
TypeError: argument number 3: a 'char *' is expected, 'unicode(/trunk/utils/nightly)' is received

Attachments (0)

Change History (7)

comment:1 by Christian Boos, 18 years ago

Owner: changed from Jonas Borgström to Christian Boos

Yep, I've noticed too…

comment:2 by Christian Boos, 18 years ago

Component: generalversion control
Keywords: svn unicode added
Priority: normalhighest
Severity: normalmajor

comment:3 by eli.carter@…, 18 years ago

I tried revision 3024; same traceback. So it appears that changeset [3024] broke the arbitrary diff work.

comment:4 by anonymous, 18 years ago

Cc: eli.carter@… added

comment:5 by anonymous, 18 years ago

Resolution: fixed
Status: newclosed

comment:6 by Christian Boos, 18 years ago

Don't know who closed the ticket, but yes, I believe this now works, thanks to r3090 (use consistently unicode strings on the outside of the versioncontrol.api, use consistently 'utf-8' encoded strings when dealing with the Subversion bindings) and r3092.

comment:7 by eli.carter@…, 18 years ago

I don't know who closed the ticket either…. and it looks like it was closed before the fix went in. I tried r3090 and r3099; they both seem to work. Thanks for working on it; the arbitrary diff feature is something I'll get a lot of use out of.

Modify Ticket

Change Properties
Set your email in Preferences
Action
as closed The owner will remain Christian Boos.
The resolution will be deleted. Next status will be 'reopened'.
to The owner will be changed from Christian Boos to the specified user.

Add Comment


E-mail address and name can be saved in the Preferences .
 
Note: See TracTickets for help on using tickets.