Perforce 为多个项目建立Performce仓库

Perforce 为多个项目建立Performce仓库,perforce,multiple-projects,depot,Perforce,Multiple Projects,Depot,摘要:需要帮助,了解如何设置depot和我的开发环境,以便我可以支持多个相关项目 详细信息: 到目前为止,我有一个仓库,里面只有一个项目——ProjectA——机器人版本a 我正在着手开发一个新版本(ProjectB),它在硬件I/O端口映射和定时器方面有一些不同。我想继续为这两个项目开发代码 这意味着ProjectB将与ProjectA共享一些文件,而有些文件将不同 由于差异是与硬件相关的项目,所以我想做的是创建一个公共区域,然后创建项目特定区域,其中公共区域用于设备无关代码,项目特定区域用于

摘要:需要帮助,了解如何设置depot和我的开发环境,以便我可以支持多个相关项目

详细信息: 到目前为止,我有一个仓库,里面只有一个项目——ProjectA——机器人版本a

我正在着手开发一个新版本(ProjectB),它在硬件I/O端口映射和定时器方面有一些不同。我想继续为这两个项目开发代码

这意味着ProjectB将与ProjectA共享一些文件,而有些文件将不同

由于差异是与硬件相关的项目,所以我想做的是创建一个公共区域,然后创建项目特定区域,其中公共区域用于设备无关代码,项目特定区域用于设备相关代码

差异很大,我不想在文件中使用ifdef。有些差异很简单-不同的I/O端口映射,有些则是全新的模块

为了便于维护,我希望能够比较依赖于设备的代码之间的差异,并传播选定的更改

最后,为了在比较过程中尽可能减少我的负担,我想标记我知道没有问题的差异,以便在将来的比较中它们不会出现

救命啊

你的直觉是好的——你试图不复制代码。这是优秀设计和工程的核心

至于文件布局,目录太深总是令人讨厌的,但这总比目录太浅好得多。也许:

<root>
  main/
    projects/
       robot1/...
       robot2/...
       shared1/
       shared2/
最后——如果项目真的不同,那么决定共享代码是否真的是正确的。通常是的,但一切都是一种选择。如果您希望手动“区分”您的文件以查找差异,那么实际上,您需要保持结构足够接近以区分。上面提到的“每个项目的不同
config.h
文件”想法会有所帮助


如果您使用自己的diff工具(python或其他语言),您可以使用特殊注释来标记“预期的不同行”。

听起来您需要从阅读关于版本控制的所有内容开始,然后阅读关于performe的所有内容。然后带着剩下的问题回到这里。
SetupDrivers(0x80020); // address of PIO registers