如何在软件仓库中共享文件

时间:2009-10-21 15:20:43

标签: file version-control perforce structure

我们正在使用Perforce。在软件仓库中有一些项目有自己的主/分支/发布子文件夹。对于某些不同的项目,还需要(共享)一些资源文件(png,mp3等)。那些没有主/分支/结构。目前,它们存储在独立于项目的软件仓库中的seperat文件夹中。

现在我不确定如何共享项目的资源文件。我有点困惑。至少我可以说符号链接是错误的,因为如果资源文件得到更新,项目不应该自动获得更新的版本。它应该需要一个明确的步骤,因为项目可能需要适应新版本。

我能想象的是将资源文件集成到专用位置,可能使用准备好的分支视图。这样可以吗?但后来我只能想象融入主线。那么当我想在分支中编辑或添加资源文件时呢?一个将重新集成到main中的分支?我可以在那里添加一个图像并将其集成到资源文件夹中,然后再集成到其他项目中吗?如果我要编辑分支中的资源文件,那些编辑是否应该集成到资源文件文件夹中?听起来很乱。 AFIAK不应该随机整合。不是吗?我是否需要这种方式的特殊规则?或者这根本不是一个好主意?

为资源文件设置main / branches / releases文件夹会有帮助吗?也许项目具体?这是怎么回事?

感谢您的帮助! 我还可以想象不使用集成,而是要详细说明将资源文件和项目文件映射到单个本地环境的工作空间视图。但我想这肯定会引起其他一些问题。

1 个答案:

答案 0 :(得分:2)

不幸的是,Perforce不允许您在客户端视图规范中为文件指定特定修订版。

由于您希望使用资源的项目仅使用特定版本,因此您需要:

  • 为各种项目可以合并到客户端文件规范中的资源创建分支,以便他们可以从具有所需版本的分支中提取正确的版本
  • 让每个项目将他们想要的版本放入他们自己的软件仓库中,项目会在需要更新时定期更新他们自己的资源版本

这两个选项对我来说都不是很好,但如果我们只讨论几个文件,那么选项2似乎更简单。在这两种情况下,当项目需要移动到更新版本的资源时,项目需要手动更新 - 只是选项#1需要更多的工作来设置和维护事物的分支。除非您有许多文件需要从“资源文件”库/分支中提取,否则我没有看到它在选项#2上购买任何东西。

但也许其他人会有更好的第三选择。