[Trac] No changeset X in repository (reprise)

John Williams jwilliams at itee.uq.edu.au
Wed Feb 1 21:07:12 CST 2006


We are seeing a "No changeset X in repository" error using latest Trac
(from subversion head) and subversion v1.3

The problem arises if repository_dir points to a "virtual" repository
that contains a directory that was copied from somewhere "outside" this
virtual repository.

Hard to explain, easy to demonstrate - attached recipe gives minimal
reproduceable test case.

Last September, someone reported the same error:


The resulting discussion pointed to ticket #2044 but it looks like that
was a bit off the mark.  #2044 was more to do with identifying need for
resync after changing repository_dir.  resync has no effect on our error.

As a workaround we can avoid these virtual subrepos, but they are a nice
feature for having per-project Tracs.



-------------- next part --------------

# local stuff


rm -rf ${TRAC_INST} ${REPO}

svnadmin create ${REPO}

#r1 - create repo/a
svn mkdir file://${REPO}/a -m "make 'a' while the sun shines"

#r2 - create repo/a/b
svn mkdir file://${REPO}/a/b -m "make b"

#r3 - create repo/a/b/c
svn mkdir file://${REPO}/a/b/c -m "make c"

#r4 - create repo/subdir
svn mkdir file://${REPO}/subdir -m "make subdir"

#r5 - copy repo/a/b to repo/subdir
svn copy file://${REPO}/a/b file://${REPO}/subdir -m "copy repo/a/b to repo/subdir/b"

# Create a trac, with repository_dir pointing to ${REPO}/subdir
trac-admin ${TRAC_INST} initenv  sandbox sqlite:db/trac.db svn ${REPO}/subdir ${TRAC_TEMPLATES}

# start tracd etc

# Browsing to sandbox/browser/b gives "No changeset 3 in the repository"

More information about the Trac mailing list