【发布时间】:2020-02-04 18:16:32
【问题描述】:
我将 Banana Pi 设置为 Mercurial 服务器。它适用于我的软件,因为一般来说我有固件,这就是我的存储库中的内容。我可以从世界任何地方通过开放式 VPN 访问它。然而,我现在也开始对我的 PCB 文件使用版本控制,因为新的 CAD 系统使我旧的、粗糙但有效的 PCB 存档和备份方式变得复杂。 (此外,我的新 CAD 系统中的所有内容,所有 PCB 和图表,都是文本文件,可以很好地进行版本控制。)
所以,我开始使用 Mercurial,就像我使用软件一样,为我正在为客户更新的一块电路板创建一个新的 PCB 存储库,并立即遇到了一个 svn 似乎可以轻松应对的问题,并且我想知道 Mercurial 是否可以做到这一点。
我有我的 BH0001 项目存储库,其中包含所有嵌入式 C,我已经开始创建使用 C 代码的 PCB 的新问题。我必须创建一个名为 BH0001_pcb 的新 Mercurial 存储库来区分代码和 PCB。使用 svn,您可以在项目编号中拥有一个项目 repo,然后是硬件和软件目录,但仍然能够独立地将两种不同类型的文件检出到不同的位置。
当然,我可以将 BH0001 软件存储库克隆到本地计算机,将 PCB 信息添加到本地 Mercurial 存储库的新文件夹中,然后将其全部发送回服务器,它会非常高兴。然后在检查时出现问题,因为当我可能只需要一个或另一个时,我会将固件和 PCB 克隆到机器上。
此外,这与我在本地存储内容的方式背道而驰。在我的 /username/home 目录中,我有一个 Software 目录和一个 CAD 目录,其中我有项目。所以我会:
主页/CAD/客户名称/BH0001
和
home/Software/CustomerName/BH0001.
如果我要继续使用我目前的方法,我必须:
- 将我的本地目录结构更改为:
主页/项目/客户名称/BH0001/CAD
和
主页/项目/客户名称/BH0001/软件
收起它并使用 ProjectName_pcb 之类的东西作为单独的存储库。
我想不出/找不到/不知道的其他方式?例如有一种方法可以将 Mercurial 存储库的一部分检出到一个目录,并将 repo 的不同部分检出到另一个目录。
如果我真的想继续我的工作,我应该只使用 svn 吗?
【问题讨论】:
标签: mercurial