如何在本地存储库中更改minix的源代码

时间:2018-04-24 04:54:07

标签: git qemu minix

我一直想知道如何解决以下问题。我目前正在学习如何根据自己的喜好修改操作系统的源代码,工作示例是A.S.Tanenbaum的minix

假设我使用minix运行qemu并将ssh端口重定向到localhost:10022(使用-net user,hostfwd=tcp::10022-:22),以便我ssh -p 10022 user@localhost可以连接到qemuminix上运行的系统。

现在,/usr/src的源代码位于git。我希望在我的机器上本地使用此代码 - 最好在minix存储库中 - 并且能够修改它然后推送它并在虚拟机上构建。

总结一下,我想:

  • 在我的计算机上,在git存储库中获得/usr/src' git push的副本
  • 为了能够minix来自我的机器(或类似的东西),所以如果我的更改完全破坏了系统,我可以从/usr/src

我已经尝试将split(list(range(1,101)),2) # should return [[1,50],[51,100]] split(list(range(1,101)),3) # should return [[1,33],[34,66],[67,100]] split(list(range(1,6)),3) # should return [[1,2],[3,5]] # Ideally last element should merge with last if last one has no pair. 放入我可以克隆到本地计算机的git存储库中。但是,显然不推荐使用非裸存储库,并且一个不包含任何未提交文件的裸git存储库似乎不太可能。

另外,我不想通过推/拉到另一个遥控器来强制它。

我很感激有关如何设置我的存储库以创建所需工作流程的任何提示。

1 个答案:

答案 0 :(得分:1)

主机:只有一个非裸存储库(+备份)。

VM:/ usr / src中的一个裸存储库和一个非裸存储库。

初始设置:在VM中的/ usr / src中创建一个非裸存储库。添加并提交所有内容。将not-bare repo克隆到某个裸存储库。从VM的裸仓库克隆到主机上的裸机。

工作流程:在主机上编辑源,添加和提交。从主机推送到VM的裸仓库。在虚拟机上从裸机拉到裸机并编译。

可以使用"remote deploy"挂钩(接收后或更新后)自动从裸露到非裸露。