代码之家  ›  专栏  ›  技术社区  ›  cringe

正在迁移Subversion

  •  0
  • cringe  · 技术社区  · 15 年前

    我想到 正在迁移Subversion 我还有很多问题要问。我希望你能帮助我:

    1. 当我 将一个巨大的目录结构迁移到多个存储库中 (因为每个目录实际上是一个单独的项目…)修订号是否仍然相同?一定有间隙,因为某些修订只会影响其他目录…
    2. 真的吗? 更多行政工作 为多个存储库设置用户和权限?
    3. 它是 更多备份工作 备份多个存储库?(不,因为最后它只有一个目录,所有存储库目录都要备份?)

    让我再问一个问题:您能为拥有多个存储库提供一些积极的结果吗?-)

    3 回复  |  直到 15 年前
        1
  •  2
  •   Martin v. Löwis    15 年前
    1. 如果使用svndump和svndumpfilter,则可以选择删除空修订,或者保留它们。我建议你先试试这个,看看哪个最适合你。
    2. 是的,您应该期待更多的管理工作,除非您设法设置一个完全自托管的服务器(在该服务器中,最终用户可以管理自己的存储库)。最大的开销是创建新的存储库(用户以前可以自己创建新文件夹)。
    3. 实际上,不,备份工作是相同的。
        2
  •  1
  •   Amber    15 年前

    与单个SVN存储库相比,多个单独的SVN存储库的优势:

    • 速度。随着Subversion存储库的增长,它们可以稍微减速,当存储库变得非常大时,这种减速会变得越来越明显。拆分回购意味着这会停留在不太明显的范围内。

    • 隔离。如果你一开始连代码都没有签出,那么很难处理你不想处理的代码,特别是偶然的。

    • 分支/标记名称没有冲突。由于您有单独的存储库,因此项目可以进行分支/标记,而不必担心其他人(例如)使用了“2.0”标记名。

    是的,管理费用会高一点。正如马丁所提到的,其中很多都将用于建立新的存储库——不过,如果只需稍加努力,您可能可以在一定程度上编写脚本,使之成为一个相当简单的过程。

        3
  •  1
  •   Marcel Jackwerth    15 年前
    • 取决于策略(不过我认为您希望保留历史记录),但是如果克隆/转储过滤它,那么修订号不应该更改。
    • 有了symlinks的强大功能(假设您的服务器操作系统是*nix),这非常容易。
    • 或者只是备份根目录,或者为此创建一个脚本。

    在一个空白的工作空间中,拥有多个repo会导致更多的初始工作。如果你有像100个项目(它们都相互依赖),这可能有点烦人。但是,这也可以通过脚本修复。

    除了隔离(可能还有速度,因为大型的SVN存储库似乎会慢下来)以及感觉一切都在正确的位置之外,没有真正的好处。