1

考虑这个 SVN 代码库:

/root
  /OldProject
    /src
  /NewProject
    /tags
    /branches
    /trunk
      /src

现在,让我们假设“OldProject”是人类创造的对软件开发的最可怕的憎恶之一。'NewProject' 应该是目标实现。因为硬切换是不可能的;我们需要慢慢地从一个过渡到另一个。

我想做的是允许开发人员继续提交 OldProject 并让系统将源同步到 NewProject 的特定目录,从而使两棵树保持最新。我的目标是让其他开发人员不需要更改他们的系统配置。它需要是无缝的(因此 SVN 外部很可能不是一个好的选择)。我唯一能想到的是为 OldProject 使用暂存区域,即 Jenkins CI 工作区,并让它 rsync 并提交到 NewProject 的工作区。

这似乎有效,但只是感觉“错误”。有一个更好的方法吗?

4

1 回答 1

0

它需要是无缝的(所以 SVN 外部很可能不是一个好的选择)

请详细说明:对我来说,从 NewProject 的某些节点到 OldProject 的某些节点的外部是最无缝(和简单)的解决方案

Jenkins CI 工作区,用于 OldProject 并让它 rsync 并提交到 NewProject 的工作区

是否违反 DRY 原则(有单一差异 - Jenkins 而不是人类)并带有额外的不需要的层:它可以(通过一些工作)由 repo 中的 post-commit 钩子实现

于 2013-04-24T05:16:54.470 回答