开发者

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

开发者 https://www.devze.com 2023-03-11 08:06 出处:网络
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

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

精彩评论

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