2

I am new to Yocto project and also git. I would like to manage source code by git (GUI). However, the yocto directory has too many files and the size is too big (more than 50GB). Therefore the git client (GitEye) cannot read files and be freezed.

In yocto directory, there are source, downloads, and build directories. I want to push only source and build/conf directories.

I tried to create a new git repository to yocto directory, but the git client was freezed. I just want to exclude downloads and build directories before the git client reads them so as not to be freezed.

Are there any good idea to manage yocto souce by git?

$ Environment

  • OS: Ubuntu 16.04
  • Git client: GitEye (I wasn't able to find any other good client which we can use freely in corporation)
  • Git server: GitBucket
user8257918
  • 55
  • 3
  • 13
  • Usually, we have multiple git repositories in source folders, then you can save result images/downloads in a ftp or equivalent. As handling multiple git repos is not easy, a lot of vendors/manufacturers uses Google repo tool for that. Then you can browse every separate git repos with your GUI. – Nayfe Dec 26 '17 at 10:59

2 Answers2

1
  1. Inside your sources directory every layer has the git repos so you have to go each layer create git patches and commits and push your git commits to git.
  1. change your modifications and track them using git status
  2. add modifications using git add --all .
  3. commit added things using git commit -m " support added for .." -s
  4. add url for remote repository using git remote add origin remote repository URL
  5. Push the changes using git push origin master
    for more information click: adding existing project to github

2.If you want to push build/conf/local.conf add those changes in sources/your-meta-layer/conf.

LightCC
  • 9,804
  • 5
  • 52
  • 92
yoctotutor.com
  • 5,145
  • 4
  • 26
  • 36
  • Thank you for your kind reply. You told no need to push build/conf directory, but I think I should push build/conf directory. This is because there are no build/conf/local.conf in sources directory and I should edit the local.conf file. I searched local.conf in sources direcotory but I could find only local.conf.sample under poky/meta-poky/conf. How can I manage the local.conf? – user8257918 Jan 12 '18 at 02:01
  • what ever you want to write in your conf/local.conf file you can write those modifications in your meta-layer/conf/layer.conf file then you can able to push the the data – yoctotutor.com Jan 12 '18 at 04:59
0

You don't need to push all files, the main idea is to push only additions - your own recipes and appends to already existing recipes, and configurations.

The already existing layers you should reference through repo manifest, for your additions it's better to create own layer (e.g. meta-mycooldevice, just don't forget to add it to bblayer.conf so that yocto knows that it exists). Your additions are your new recipes (<recipe name>.bb files) and modifications of already existing (<recipe name>_%.bbappend files). Just before writing new recipe, it's better to check if it's already exists in own of the layers you can reference and use: list of Yocto repos.

To better understand It's better to look at good examples. Here is some project that introduces own working layer, references some required meta repos, have own templates for local.conf and bblayers.conf and has own simple build script.

pmod
  • 10,450
  • 1
  • 37
  • 50