Edgewall Software
Modify

Opened 17 years ago

Closed 17 years ago

#5901 closed defect (fixed)

History broken after rename of parent-directory

Reported by: Laurens Blanckenborg <laurens@…> Owned by: Christian Boos
Priority: highest Milestone: 0.11
Component: version control/browser Version: devel
Severity: normal Keywords:
Cc: Branch:
Release Notes:
API Changes:
Internal Changes:

Description

As I store multiple small projects in one svn-repo, the structure in my repo is as follows: "projectname\trunk\projectfiles".

After renaming the toplevel dir (projectname), the history of the projectfiles is broken. I get the error: "No node /bpd/trunk at revision 253" (which on itself is correct because before rev256 path was /bakpd/trunk) the when clicking the link "Revision log" in the upper right corner of the page. When viewing the revlog from the root, the history is shown correctly and I can also follow links to (the files in) the old dirname.

Attachments (0)

Change History (3)

comment:1 by Christian Boos, 17 years ago

Keywords: svn added
Priority: normalhighest

Right, there are still several bugs related to inconsistent handling of the rev/path vs. created_rev/created_path of a node.

comment:2 by greg.bone@…, 17 years ago

Here's a work around for SVN commands that don't understand copies/renames

svn log -v http:/servername/path/to/topleveldir

When a file or directory is copied or renamed, the Subversion repository tracks that history. Unfortunately in Subversion, the only client subcommand which actually takes advantage of this feature is svn log. A number of other commands (such as svn diff and svn cat) ought to be automatically following rename-history, but aren't doing so yet.In all of these cases, a basic workaround is to use 'svn log -v' to discover the proper path within the older revision.For example, suppose you copied /trunk to /branches/mybranch in revision 200, and then committed some changes to /branches/mybranch/foo.c in subsequent revisions. Now you'd like to compare revisions 80 and 250 of the file.If you have a working copy of the branch and run svn diff -r80:250 foo.c, you'll see an error about /branches/mybranch/foo.c not existing in revision 80. To remedy, you would run svn log -v on your branch or file to discover that it was named /trunk/foo.c prior to revision 200, and then compare the two URLs directly: $ svn diff http://.../trunk/foo.c@80 \ http://.../branches/mybranch/foo.c@200

comment:3 by Christian Boos, 17 years ago

Keywords: svn removed
Milestone: 0.11.10.11
Resolution: fixed
Status: newclosed

Fixed in r6184.

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.