]> code.ossystems Code Review - openembedded-core.git/commit
combo-layer: implement "update with history"
authorPatrick Ohly <patrick.ohly@intel.com>
Mon, 2 May 2016 13:27:28 +0000 (15:27 +0200)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Mon, 9 May 2016 07:03:59 +0000 (08:03 +0100)
commit660f76b6fb0fb95738a2c8f50e0a99ffa5831c64
tree325e2ee4bf44ff7597131a76b84a871036eda482
parent0af4fadafce690fc8357196cf7247bd222c08d10
combo-layer: implement "update with history"

The core idea is that all commits get imported, including merge
commits, and joined into one big merge commit that imports the changes
from the individual components into the main branch of the combined
repository.

This is done by copying the files in each commit and removing deleted
ones, instead of trying to patch the combined repository.

The advantages of doing updates in this mode are:
- works for arbitrary upstream repos, not just those which
  support conversion into a linear set of patches
- listing history shows that commits where developed
  independently in the different components, instead of
  artificially showing them as if they had been developed
  one after the after (component "aaaa" before "bbbb", then "ccc", ...)
- bisecting becomes easier: when upstream repos only ensure consistency
  when merging into their "master" branches, then those merge
  commits are good candidates for test builds also in the combined
  repo
- more data mining can be done, for example showing who merged a commit
  and when

Selecting a subset of the files is supported, albeit with a slight
different semantic for wild card matching compared to other code paths
(/ is matched by * and ?). Empty commits get skipped because typically
they are a result of filtering (but that is not checked, so
intentionally empty commits also get skipped).

Other code paths are intentionally left unchanged, to avoid
regressions. However, the downside is that some opportunities for
refactoring (in particular regarding file filtering) were ignored.

Signed-off-by: Patrick Ohly <patrick.ohly@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
scripts/combo-layer