Trac:更改SVN存储库路径后丢失的变更集

时间:2010-03-16 04:57:33

标签: svn trac

昨晚我在代码库上做了一些内务处理 - 基本上将代码从/ repo / trunk移到/ repo / projectname / trunk。

我更改了我的trac.ini上的repo路径 - 之后trac抱怨需要重新存储的存储库。所以我跑了:

trac-admin /var/trac/projectname resync

一切都很顺利。

然后我根据故障单检查了变更集,发现trac不再有一个链接来显示针对变更集的代码 - 说“存储库中没有变更集XXX”。

这里有没有人有他们设法解决的相同问题?我需要修改变更集的断开链接。

谢谢

1 个答案:

答案 0 :(得分:2)

听起来像你一样:

svn mv <repobaseurl>/trunk <repobaseurl>/projectname/trunk

然后从

更改了trac.ini
repository_dir = /path/to/repo

repository_dir = /path/to/repo/projectname

您所做的是将Trac指向存储库的子集 ...即,只有影响存储库的projectname子目录的更改集。这通常被称为“范围”存储库。

您有几个选择:

  1. 您可以将repository_dir更改回原来的状态,您将看到所有更改集,并会看到您的重组历史记录。简单修复。
  2. 您可以使用svndumptool.py追溯性地将所有变更集移动到项目名称下,而不是存储库的根目录,并保留repository_dir。更难修复,甚至可能不是你想要的。