[oe-commits] Patrick Ohly : combo-layer: init with full history

git at git.openembedded.org git at git.openembedded.org
Fri Mar 20 10:59:15 UTC 2015


Module: openembedded-core.git
Branch: master-next
Commit: ec6dcbc530938081e36d9b7027e274ff3d5cf9eb
URL:    http://git.openembedded.org/?p=openembedded-core.git&a=commit;h=ec6dcbc530938081e36d9b7027e274ff3d5cf9eb

Author: Patrick Ohly <patrick.ohly at intel.com>
Date:   Thu Mar 12 14:29:21 2015 +0100

combo-layer: init with full history

The new --history parameter enables a new mode in "combo-layer init"
where it copies the entire history of the components into the new
combined repository. This also imports merge commits.

Moving into a destination directory and applying commit hooks
is done via "git filter-branch" of the upstream branch. File
filtering uses the same code as before and just applies it
to that filtered branch to create the final commit which
then gets merged into the master branch of the new repository.

When multiple components are involved, they all get merged
into a single commit with an octopus merge. This depends
on a common ancestor, which is grafted onto the filtered
branches via .git/info/grafts.

These grafts are currently left in place. However, they do not get
pushed, so the local view on the entire history (all branches rooted
in the initial, empty commit, temporarily diverging and then
converging) is not the same as what others will see (branches starting
independently and converging). Perhaps "git replace" should be used
instead.

The final commit needs to be done manually, as before. A commit
message with some tracking information is ready for use as-is. This
information should be sufficient to implement also "combo-layer
update" using this approach, if desired. The advantage would be that
merge commits with conflict resolution would not longer break
the update.

Signed-off-by: Patrick Ohly <patrick.ohly at intel.com>
Signed-off-by: Ross Burton <ross.burton at intel.com>

---

 scripts/combo-layer | 187 ++++++++++++++++++++++++++++++++++++++++++++++++----
 1 file changed, 174 insertions(+), 13 deletions(-)

Diff:   http://git.openembedded.org/?p=openembedded-core.git/?a=commitdiff;h=ec6dcbc530938081e36d9b7027e274ff3d5cf9eb


More information about the Openembedded-commits mailing list