考虑这个SVN代码库:
/root
/OldProject
/src
/NewProject
/tags
/branches
/trunk
/src
现在,让我们假设'OldProject'是人类创造的反对软件开发的最怪异的可憎之一。 'NewProject'应该是目标实现。由于不可能进行硬切换;我们需要慢慢地从一个过渡到另一个。
我想要做的是允许开发人员继续提交到OldProject并让系统将源同步到特定目录的NewProject,从而使两棵树保持最新。我的目标是让其他开发人员不需要更改他们的系统配置。它需要是无缝的(因此SVN外部很可能不是一个好的选择)。我唯一能想到的就是为OldProject使用一个临时区域,即Jenkins CI工作区,并让它具有rsync& amp;提交到NewProject的工作区。
这似乎有效,但感觉“错了”。有一个更好的方法吗?
答案 0 :(得分:0)
它需要是无缝的(因此SVN外部很可能不是一个好的选择)
请详细说明:对于我来说,从NewProject的某些节点到OldProject 的某些节点的外部是最无缝的(和简单)解决方案
Jenkins CI工作区,用于OldProject并拥有它rsync&提交到NewProject的工作区
DRY原则是否违反(单一区别 - Jenkins而非人类)以及其他不需要的层:它可以(通过一些工作)通过repo中的post-commit钩子实现