Edgewall Software

Opened 15 years ago

Last modified 3 years ago

#7744 new defect

source:path@rev targeting a file below a copied dir may fail

Reported by: Christian Boos Owned by:
Priority: high Milestone: next-major-releases
Component: version control/browser Version: 0.11-stable
Severity: minor Keywords: svn newcache
Cc: itamarost@… Branch:
Release Notes:
API Changes:
Internal Changes:


… when the file has not been modified since the copy and rev predates the copy operation itself.

e.g. source:/branches/0.11-stable/contrib/bugzilla2trac.py@6820#L824 leads to:

No node /branches/0.11-stable/contrib/bugzilla2trac.py at revision 6820

Looking at source:/branches/0.11-stable/contrib/bugzilla2trac.py (without revision spec) works, and indeed shows a revision of r6820 for this file.

This is happening because at r6820, there was no branches/0.11-stable. This behavior is actually "correct" if …@6820 is supposed to be a peg revision in Subversion terminology, but it's annoying nonetheless, as the TracLinks syntax doesn't allow an alternative way of specifying the revision(*) and anyway I don't think it's a good idea to expose the peg revision vs. operative revision subtleties in Trac (http://svnbook.red-bean.com/en/1.5/svn.advanced.pegrevs.html).

(*) well it does, but source:/branches/0.11-stable/contrib/bugzilla2trac.py?rev=6820 has the same problem

Attachments (0)

Change History (9)

comment:1 by Christian Boos, 15 years ago

This also happens for restricted changesets, see for example ticket:7648#comment:3.

comment:2 by Christian Boos, 14 years ago

Priority: normalhigh

Another related bug - annotate links don't work either, even when not specifying the version:

comment:3 by Christian Boos, 14 years ago


Related to #3340, there might be another way to think about requested (path, rev) vs. (created_path, created_rev): we could introduce the (origin_path, origin_rev), which would correspond to earliest path and revision in which the requested (path, rev) appeared on that path (see fs.closest_copy usage in r8332).

In the example of this ticket, the link:


would remain incorrect, but one wouldn't be lured into creating such links as the web interface would never show a path like /branches/0.11-stable/contrib/bugzilla2trac.py with a revision in which that path doesn't exist (here r6820). Instead, it would display the revision in which that path first appeared (here r6940, the creation of the 0.11-stable branch).

comment:4 by Christian Boos, 14 years ago

Milestone: 0.12next-minor-0.12.x

in reply to:  2 comment:5 by Christian Boos, 14 years ago

Replying to cboos:

Another related bug …

This particular issue was fixed by [8797].

comment:6 by Itamar Ostricher, 13 years ago

Cc: itamarost@… added

comment:7 by Christian Boos, 11 years ago

Keywords: newcache added
Milestone: next-minor-0.12.xnext-major-0.1X

comment:8 by Christian Boos, 9 years ago

#11408 was closed as duplicate.

comment:9 by Ryan J Ollos, 8 years ago

Owner: Christian Boos removed

Modify Ticket

Change Properties
Set your email in Preferences
as new The ticket will remain with no owner.
The ticket will be disowned.
as The resolution will be set. Next status will be 'closed'.
The owner will be changed from (none) to anonymous. Next status will be 'assigned'.

Add Comment

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