Modify

Opened 8 years ago

Closed 7 years ago

Last modified 4 years ago

#1284 closed task (fixed)

assertion on viewing revtree

Reported by: anonymous Owned by: eblot
Priority: high Component: QrCodePlugin
Severity: major Keywords:
Cc: Trac Release: 0.10

Description

I just got this backtrace on trying revtree:

Traceback (most recent call last):

File "/usr/lib/python2.5/site-packages/trac/web/main.py", line 387, in dispatch_request

dispatcher.dispatch(req)

File "/usr/lib/python2.5/site-packages/trac/web/main.py", line 237, in dispatch

resp = chosen_handler.process_request(req)

File "build/bdist.linux-i686/egg/revtree/web_ui.py", line 186, in process_request

return self._process_revtree(req)

File "build/bdist.linux-i686/egg/revtree/web_ui.py", line 314, in _process_revtree

repos.build(self.bcre, revrange=(self.oldest, youngest))

File "build/bdist.linux-i686/egg/revtree/model.py", line 309, in build

chgset.build(bcre)

File "build/bdist.linux-i686/egg/revtree/model.py", line 58, in build

raise AssertionError, "%s rev: %d" % (e, self.rev or 0)

AssertionError: Incoherent path [trunk] != [tags] rev: 2259

just set everything to the defaults said on the RevTree site.

Attachments (0)

Change History (11)

comment:1 Changed 8 years ago by eblot

This usually means that your revision 2259 contains changes for both /trunk and /tags branches.

The Revtree cannot render a tree when a single revision contains files spread over multiple branches.

Can you check the file changes for this revision?

comment:2 Changed 8 years ago by anonymous

I am not completely sure about that revision, it was created by cvs2svn to create a tag and it shows that tag as copied and several trunk directories as removed (although it wasnt really removed). You can have a look yourself at http://bugtrack.projectiwear.org/changeset/2259 if that is of any help. When I remove tag from the branch_re regex then I get the following error:

Traceback (most recent call last):

File "/usr/lib/python2.5/site-packages/trac/web/main.py", line 387, in dispatch_request

dispatcher.dispatch(req)

File "/usr/lib/python2.5/site-packages/trac/web/main.py", line 237, in dispatch

resp = chosen_handler.process_request(req)

File "build/bdist.linux-i686/egg/revtree/web_ui.py", line 186, in process_request

return self._process_revtree(req)

File "build/bdist.linux-i686/egg/revtree/web_ui.py", line 314, in _process_revtree

repos.build(self.bcre, revrange=(self.oldest, youngest))

File "build/bdist.linux-i686/egg/revtree/model.py", line 309, in build

chgset.build(bcre)

File "build/bdist.linux-i686/egg/revtree/model.py", line 55, in build

if not self._find_simple_branch(bcre):

File "build/bdist.linux-i686/egg/revtree/model.py", line 83, in _find_simple_branch

item = change_gen.next()

StopIteration

comment:3 Changed 8 years ago by eblot

  • Resolution set to invalid
  • Status changed from new to closed

From http://bugtrack.projectiwear.org/changeset/2259

This is the root cause: this revision contains changes in both /tags (help has been added) and /trunk (several files have been removed).

As a single revision contains modifications in several branches, no revtree can be generated with this revision.

Closing as invalid, as there is nothing the revtree can do here.

You can define the first revision to consider in the [revtree] section: revtree ignores all revisions before this revision, so you can still render new revisions as long as you comply with the "rule" (all the changes of a single revision must be commited in the same branch)

BTW: please always use {{{ }}} blocks when you quote Python traceback. Thanks

comment:4 follow-up: Changed 8 years ago by anonymous

  • Resolution invalid deleted
  • Severity changed from blocker to major
  • Status changed from closed to reopened

Maybe Im the only one but that isnt obvious to me from the backtrace, maybe it should give an explaining message instead? Anyways I doubt that there really was a change in trunk as neither http://bugtrack.projectiwear.org/log/trunk/map nor e.g. http://bugtrack.projectiwear.org/changeset?old_path=trunk%2Fmap&old=2246&new_path=trunk%2Fmap&new=2260 show changes there, and the cmd issued at that time seems to be only a standard copy for creating a tag of a subdir, maybe trac in general is confused here?

comment:5 follow-up: Changed 8 years ago by anonymous

doing a

svn log -vq -r 2259 https://svn.projectiwear.org/home/svn/iwear/src/

shows that trac gets it somehow wrong...

comment:6 in reply to: ↑ 4 ; follow-up: Changed 8 years ago by eblot

Replying to anonymous:

Maybe Im the only one but that isnt obvious to me from the backtrace, maybe it should give an explaining message instead?

Yeah, maybe the error message could be improved. The error message reports the error, not why the error has been caused.

The trouble is that I'm not sure this kind of error can only occur because of a commit spread over several branches. Reporting a more detailled message when some inconsistency is detected maybe misleading as well...

Anyways I doubt that there really was a change in trunk as neither http://bugtrack.projectiwear.org/log/trunk/map

This URL leads to a directory, I'm not sure what you wanted to show here?

comment:7 in reply to: ↑ 5 Changed 8 years ago by eblot

Replying to anonymous:

svn log -vq -r 2259 https://svn.projectiwear.org/home/svn/iwear/src/
shows that trac gets it somehow wrong...

It looks like you've bumped into the issue I got last week ;-)
Have a look at t:ticket:4900

The SVN Python wrapper do not provide enough information, so Trac cannot "guess" right.

comment:8 in reply to: ↑ 6 Changed 8 years ago by anonymous

Anyways I doubt that there really was a change in trunk as neither http://bugtrack.projectiwear.org/log/trunk/map

This URL leads to a directory, I'm not sure what you wanted to show here?

As the next comment:4 says, there is no real remove in the directory where trac thinks it is, its rather a creation of a tag in a subdirectory which is done by (cvs2)svn internally as a copy of the whole dir and then a remove of the directories which should not be in the tag.

comment:9 Changed 8 years ago by eblot

  • Priority changed from high to low
  1. About the root cause of the error: as long as the SVN wrapper do not provide enough information to analyse a changeset, there's nothing Trac or the plugin can do to obtain the proper values. This kind of issue depends on an externality, this is why I decrease the priority.
  1. About the error message itself: checkout the latest plugin release [2111]: the RevtreePlugin should now be more resilient: it simply ignores invalid changesets and resumes rendering the revtree graph.

comment:10 Changed 7 years ago by eblot

  • Resolution set to fixed
  • Status changed from reopened to closed

comment:11 Changed 4 years ago by anonymous

  • Component changed from RevtreePlugin to QrCodePlugin
  • Priority changed from low to high
  • Type changed from defect to task

Add Comment

Modify Ticket

Action
as closed .
The resolution will be deleted. Next status will be 'reopened'.
Author


E-mail address and user name can be saved in the Preferences.

 
Note: See TracTickets for help on using tickets.