开发者

Best way to perform version control on an embedded linux project?

I'm starting work on a new embedded Linux project. The project will consist of an embedded board running Linux, some drivers (possibly some custom drivers), and an application on top. I am working with another person and we need a way to put the project under version control.

I have used git for many projects before and I find it great, but I'm wondering what the best way would be to put this project into git; do I create separate repositories for the OS, drivers, and application? Do I put everything into one giant r开发者_运维问答epository? Do I not put the OS under version control, but just the application?

Another question: do I put just the Linux source that we've used under version control, or the end product? What about the whole filesystem that will be running on the board?

I would appreciate any thoughts on this.

Thanks!

Marlon


Regarding Git:

  • putting everything under one giant repo is generally a bad idea (especially when you need to clone said "giant" repo around)
  • you should put under version control what needs to have a source code history: if you don't intend to actually modify the Linux kernel source (but just reference the exact version of said kernel you are using for a particular version of your project), then the OS needs to be stored elsewhere (an artifact repository like Nexus for instance).
  • Same goes for the drivers: if you change their source codes, put them in their own Git repo and reference them as submmodules (you would be using a "source dependency").
    If you don't change their sources but use directly a binary, store it in an artifact repository (you would use them as a "binary dependency", which usually isn't stored in a VCS).
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜