Edgewall Software
Modify

Ticket #7744 (new defect)

Opened 3 years ago

Last modified 13 days ago

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

Reported by: cboos Owned by: cboos
Priority: high Milestone: next-major-0.1X
Component: version control/browser Version: 0.11-stable
Severity: minor Keywords: svn newcache
Cc: itamarost@…
Release Notes:
API Changes:

Description

... 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

Change History

comment:1 Changed 3 years ago by cboos

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

comment:2 follow-up: Changed 3 years ago by cboos

  • Priority changed from normal to high

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

comment:3 Changed 3 years ago by cboos

  • Milestone changed from 0.12.1 to 0.12

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:

source:/branches/0.11-stable/contrib/bugzilla2trac.py@6820#L824

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 Changed 2 years ago by cboos

  • Milestone changed from 0.12 to next-minor-0.12.x

comment:5 in reply to: ↑ 2 Changed 2 years ago by cboos

Replying to cboos:

Another related bug ...

This particular issue was fixed by [8797].

comment:6 Changed 22 months ago by itamaro

  • Cc itamarost@… added

comment:7 Changed 13 days ago by cboos

  • Keywords newcache added
  • Milestone changed from next-minor-0.12.x to next-major-0.1X
View

Add a comment

Modify Ticket

Change Properties
<Author field>
Action
as new
as The resolution will be set. Next status will be 'closed'
to The owner will be changed from cboos. Next status will be 'new'
The owner will be changed from cboos to anonymous. Next status will be 'assigned'
Author


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

 
Note: See TracTickets for help on using tickets.