代码之家  ›  专栏  ›  技术社区  ›  Jay Sidri

trac:更改svn存储库路径后丢失的变更集

  •  0
  • Jay Sidri  · 技术社区  · 16 年前

    昨晚我对代码库做了一些整理工作——基本上把代码从/repo/trunk移到了/repo/projectname/trunk。

    我更改了trac.ini上的repo路径,之后trac抱怨需要重新同步存储库。于是我跑了起来:

    trac-admin /var/trac/projectname resync
    

    一切都很好。

    然后我对照票据检查变更集,发现trac不再有一个链接来显示针对变更集的代码-说“在存储库中没有变更集xxx”。

    这里有没有人和他们解决的问题一样?我需要修复到变更集的断开的链接。

    谢谢你

    1 回复  |  直到 16 年前
        1
  •  2
  •   retracile    16 年前

    听上去像是你:

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

    然后改变 trac.ini

    repository_dir = /path/to/repo
    

    repository_dir = /path/to/repo/projectname
    

    你所做的就是把特蕾克指向 子集 你的仓库…也就是说,只有影响 projectname 存储库的子目录。这通常称为“作用域”存储库。

    你有两个选择:

    1. 你可以改变 repository_dir 回到过去,您将看到所有的变更集,并将看到整个reorg的历史。简单固定。
    2. 你可以使用 svndumptool.py 将所有变更集追溯移动到projectname下,而不是存储库的根目录下,并保留原来的存储库目录。更难解决的问题,甚至可能不是你想要的。