在我们的团队中,我们使用Accurev作为SCM,我们也有本地SVN设置。我们想要进行所有修改然后签入SVN然后构建并测试我们的代码。如果一切正常,我会推广相同的代码到Accurev。这里的Accurev服务器位于客户端,所以我想在将代码推广到Accurev之前仔细检查我的代码,客户可以查看我的代码。
答案 0 :(得分:1)
在正常设置中,您希望在主干线上创建开发/功能分支(在客户端的Accurev中)。这个开发/功能分支可以进行测试"使用自动或手动构建,当您觉得它足够好时,然后将其合并到主干。
如果您的标准是客户绝对看不到您正在进行的任何工作。然后,无论如何,你需要将它分开,但现在责任在于让你保持一切同步。
然而,我没有看到实际的问题。可能吗?当然,您可以根据需要复制粘贴任何内容。您是否正在寻找技术解决方案,以便由多个SCM管理单个本地工作空间?如果是这样,真的不是一个好主意。您需要告诉每个SCM排除"内部工作文件"另一个SCM。不了解有关Accurev的任何信息,但工作区中所有与SVN相关的配置都保存在本地.svn
文件夹中。如果必须告诉Accurev排除.svn
个文件夹。同样,你可以告诉SVN"忽略"来自提交的某些文件。我不知道Accurev用什么来在本地文件系统上存储它的配置。
答案 1 :(得分:0)
我不会这样做。源代码管理应该是事实的来源。如果你有两个,你不能说。你只需要一个。
使用Git,您想要做的事情很简单。您有一个主存储库和许多本地版本。
为什么不能让您的客户端访问您的存储库,即Github?
在我看来,这是一个简单的现有解决方案的简单问题。
答案 2 :(得分:0)
正如其他人所指出的那样,使用多个SCM系统是可能的,你可以编写系统之间的代码移动脚本,但是非常清楚,这是一个坏主意。
AccuRev具有流和库,可以保护用户组(或个人)的特定流,从而保护您的测试流。将其与可以阻止促销和更改流属性本身的锁相结合,只要server_admin_trig触发器支持这一点,您就可以获得相当安全的设置。