OpenBMC subtree management tool ------------------------------- Quickstart ------------------------------- From whatever directory this repository was cloned to: git clone ssh://openbmc.gerrit/openbmc/openbmc scp -p -P 29418 openbmc.gerrit:hooks/commit-msg openbmc/.git/hooks ./openbmc-subtree update -c master.conf -t openbmc -sxa cd openbmc && git push origin HEAD:refs/for/master Description ------------------------------- openbmc-subtree is a combo-layer inspired tool for managing the various subtrees of the openbmc repository for the OpenBMC project. Unlike combo-layer, openbmc-subtree does not try to be a general purpose tool and drops support for things like python-in-configuration and script callbacks on patch generation. Further, support for generating combo repositories from scratch is not fully implemented and completely untested. openbmc-subtree also differs from combo-layer in that it makes use of git's subtree merge strategy to create patches instead of generating and manipulating patches directly. Finally openbmc-subtree introduces support for a "reset" usage scenario where a subtree can be completely reset - OpenBMC uses this when switching from one upstream release branch to another. Adding new subtrees ------------------------------- To add a new subtree, simply clone the subtree repository to the desired directory. Optionally check out the desired subtree repository branch. Make a note of the subtree working tree commit SHA, and then delete the subtree git repository: 'rm -r .git'. Finally, add the new subtree metadata to the configuration file, with last_revision set to the commit SHA noted previously.