"svn move" breaks changeset
|Reported by:||Owned by:|
If the subversion move command is used then changeset throws an error that it can't find the renamed file (by its old name) in the newer revision.
[In a subversion workspace]
echo blah > test.file svn add test.file svn commit svn move test.file test.file.txt svn commit
[Update the repository]
svn-admin /path/to/trac/proj repository sync MyRepoName
[In Trac repository browser, select "Last Change" link]
Error: No such node No node test.file at revision 16
This was a lot of fun (NOT!) to validate, as I needed to upgrade from 0.12 to 1.0 to verify it was actually still a bug. Only in the process, I came across another bug in the TagsPlugin module that fails on trac-admin … upgrade, which took quiet a while to tracK down (and I thought it had something with sqlite or some other library dependency).
On a side note, might I suggest adding some code to the upgrade() method in trac/env.py to log the participants during the pre-upgrade checks. Something like (and I'm not a python programmer) the lines prepended with '$':
def upgrade(self, backup=False, backup_dest=None): ... irrelevant code removed ... for participant in self.setup_participants: with self.db_query as db: $ self.log.debug("Checking %s.%s for upgrade...", $ participant.__module__, $ participant.__class__.__name__) if participant.environment_needs_upgrade(db): upgraders.append(participant)