我工作的公司开发的产品需要嵌入式Linux,我们使用Buildroot以及其他许多产品。

无论如何,我都希望使用Git对项目进行源代码控制,因为它是我们对公司所有其他项目进行源代码控制的工具。问题是我不知道应将哪些文件保留在源代码管理中(因为保留整个buildroot目录似乎过分杀伤)。

最佳答案

我最近在组织中解决了同样的问题,我发现这是一个有趣的话题。我将在这里描述我们的部分解决方案:

管理您使用的buildroot版本

编辑:最近的经验为我强调了这一点。

Buildroot为每个版本的Buildroot写入不同的配置文件。为了能够共享这些内容,您需要向涉及的每个人指定您的存储库使用哪个版本的Buildroot。

  • 您可以在 repo 中包括Buildroot作为git子模块。好的,如果您的公司只有一个Buildroot项目。
  • 在README文件中指定要使用的版本,或为其编写自定义检查。

  • 建筑外的

    我强烈建议从树中构建:http://buildroot.org/downloads/manual/manual.html#_building_out_of_tree
    $ cd ~/platform/proj-arm; make O=$PWD -C path/to/buildroot
    

    将配置文件和目标覆盖添加到git

    将.config文件和子配置文件添加到git存储库。我的 repo 包含以下内容:
    .config
    README.md
    linux.config
    build/busybox-1.22.1/.config
    libdc1394.patch
    opencv_2.3.1a.patch
    target-overlay/README~
    target-overlay/etc/dropbear/dropbear_ecdsa_host_key
    target-overlay/etc/dropbear/dropbear_rsa_host_key
    target-overlay/etc/fstab
    target-overlay/etc/httpd.conf
    target-overlay/etc/init.d/S51mount_html
    target-overlay/etc/init.d/S52new_ip_address
    target-overlay/etc/init.d/S53httpd
    target-overlay/etc/network/interfaces
    target-overlay/etc/shadow
    target-overlay/etc/sshd_config
    target-overlay/lib/firmware/rtl_nic/rtl8168g-2.fw
    target-overlay/root/.ssh/authorized_keys
    

    将更改保存到buildroot作为补丁

    每当您更改buildroot存储库中的内容时,都应分支出该功能,并为其创建补丁。将补丁保存在您的存储库中,并使用README.md文件向其他人解释如何将其应用到buildroot树。

    关于git - 如何在源代码控制下获得一个buildroot项目,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21006549/

    10-13 07:15