原型项目的结构
Structure of proto projects
我有多个 Webots 项目,它们在每个 git 存储库中进行管理。
如何将项目导入 git 个子模块,以便将不同类型的机器人放入一个项目中?
项目结构如下:
robotA repo
\controllers
\protos
\worlds
robotB repo
\controllers
\protos
\worlds
project repo
\controllers
\robotA -- copied from robotA repo/controllers
\robotB -- copied from robotB repo/controllers
\protos
\robotA -- copied from robotA repo/protos
\robotB -- copied from robotB repo/protos
\worlds
我正在手动导入 proto 文件和控制器,但它太容易出错并且不容易跟踪更改。
我正在尝试使用 git 子模块,但我认为 git 不支持仅导入子模块的子目录。
我可以在 Webots 项目找到原型的地方设置环境变量吗?
或者对管理多个机器人有什么建议吗?
不幸的是,git子模块确实不支持仅导入子模块的子目录。
也不可能设置环境变量来告诉 Webots 在哪里可以找到 PROTO 文件。
但这里有几种可能可以解决您的问题:
- 您可以编写一个脚本来复制PROTO文件和控制器,这样可以避免耗时且容易出错的手动复制。
- 您可以直接在
WEBOTS_HOME/projects/robots
中克隆您的 robotA 和 robotB 存储库。
- 您可以扩展 Webots 来添加这个可选的环境变量定义,PROTO 文件的列表在这里确定:https://github.com/omichel/webots/blob/master/src/webots/vrml/WbProtoList.cpp#L34
- 如果您在 Linux,您可以从
WEBOTS_HOME/projects/robots/robotA
添加软 link 到定义 robotA
原型的本地 repo 文件夹。
我有多个 Webots 项目,它们在每个 git 存储库中进行管理。
如何将项目导入 git 个子模块,以便将不同类型的机器人放入一个项目中?
项目结构如下:
robotA repo
\controllers
\protos
\worlds
robotB repo
\controllers
\protos
\worlds
project repo
\controllers
\robotA -- copied from robotA repo/controllers
\robotB -- copied from robotB repo/controllers
\protos
\robotA -- copied from robotA repo/protos
\robotB -- copied from robotB repo/protos
\worlds
我正在手动导入 proto 文件和控制器,但它太容易出错并且不容易跟踪更改。
我正在尝试使用 git 子模块,但我认为 git 不支持仅导入子模块的子目录。
我可以在 Webots 项目找到原型的地方设置环境变量吗? 或者对管理多个机器人有什么建议吗?
不幸的是,git子模块确实不支持仅导入子模块的子目录。
也不可能设置环境变量来告诉 Webots 在哪里可以找到 PROTO 文件。
但这里有几种可能可以解决您的问题:
- 您可以编写一个脚本来复制PROTO文件和控制器,这样可以避免耗时且容易出错的手动复制。
- 您可以直接在
WEBOTS_HOME/projects/robots
中克隆您的 robotA 和 robotB 存储库。 - 您可以扩展 Webots 来添加这个可选的环境变量定义,PROTO 文件的列表在这里确定:https://github.com/omichel/webots/blob/master/src/webots/vrml/WbProtoList.cpp#L34
- 如果您在 Linux,您可以从
WEBOTS_HOME/projects/robots/robotA
添加软 link 到定义robotA
原型的本地 repo 文件夹。