Monday, March 28, 2016

branched development merge for Nuttx 15.7

With a recent update of Nuttx 15.7
https://groups.yahoo.com/neo/groups/nuttx/conversations/messages/11496
https://sourceforge.net/projects/nuttx/files/nuttx/nuttx-7.15/

I needed to merge the udpates into my bitbucket.org fork.
https://bitbucket.org/nuttx/ - previously I had forked from here, and now need to merge those updates into it.
Nuttx has 4 repositories - that all need to be individually updated.
There may be a script to do this - but right now bitbucket offers a button to sync the fork with the upstream. Its positioned on the far right and only exists if this fork is behind.



For _nuttx fork


Press the sync now - then repeat with  forks  _configs (upstream is called nuttx/boards)


_arch

 and apps.


Now on the build machine - in this case an Ubuntu I step into my development  git directory "git/nwwk2"
and then step through apps  nuttx   nuttx/configs & nuttix/arch to update all the modules.
My development branch is "work-modbus".

A little trick I learn't, that as branching is easy/quick, and to be able to easily manage (not commit if necessary) the master merge,  I create a temporary branch "work-modbus-merge" and do all the work/conflict resolution on that first.
When complete its an easy step to merge "work-modbus-merge" into "work-modbus"
git checkout master
git update   # this brings in the udpate
git checkout work-modbus
git checkout -b work-modbus-merge
git merge master   #this does the actual merging from the master
… review new code - in this case no conflicts
git checkout work-modbus
git merge work-modbus-merge
git branch -d work-modbus-merge  #deletes the -merge branch
git merge master  #should be no items
git status  #should say uptodate
git commit -m "merged with Nuttx 7.15 "
git push origin work-modbus    # final upstream update to my 

Then this step is repeated for nuttx, _configs, _arch

Enjoy the merge - when it works its very easy.!!!



No comments:

Post a Comment