[OE-core] [PATCH v2 2/2] combo-layer: support updating up to arbitrary commit

Paul Eggleton paul.eggleton at linux.intel.com
Tue Jan 27 14:52:23 UTC 2015


On Tuesday 27 January 2015 16:17:33 Markus Lehtonen wrote:
> On Mon, 2015-01-12 at 11:46 +0000, Paul Eggleton wrote:
> > On Wednesday 07 January 2015 18:00:42 Markus Lehtonen wrote:
> > > Support defining the top commit up to which to update. In other words,
> > > this makes it possible to update up to certain point other than the
> > > branch head. The update point (git commitish) is given on the command
> > > line by appending the component name(s) with a colon and the commitish,
> > > e.g.
> > > 
> > >  $ combo-layer update my_component:sha1
> > > 
> > > Only the "update" action supports this.
> > > 
> > > Signed-off-by: Markus Lehtonen <markus.lehtonen at linux.intel.com>
> > > ---
> > > 
> > >  scripts/combo-layer | 22 ++++++++++++++++------
> > >  1 file changed, 16 insertions(+), 6 deletions(-)
> > > 
> > > diff --git a/scripts/combo-layer b/scripts/combo-layer
> > > index 37d1f47..851003d 100755
> > > --- a/scripts/combo-layer
> > > +++ b/scripts/combo-layer
> > > @@ -26,6 +26,7 @@ import logging
> > > 
> > >  import subprocess
> > >  import ConfigParser
> > >  import re
> > > 
> > > +from collections import OrderedDict
> > > 
> > >  __version__ = "0.2.1"
> > > 
> > > @@ -347,7 +348,13 @@ def action_update(conf, args):
> > >          generate the patch list
> > >          apply the generated patches
> > >      
> > >      """
> > > 
> > > -    repos = get_repos(conf, args[1:])
> > > +    components = [arg.split(':')[0] for arg in args[1:]]
> > > +    revisions = []
> > > +    for arg in args[1:]:
> > > +        revision= arg.split(':', 1)[1] if ':' in arg else None
> > > +        revisions.append(revision)
> > > +    # Map commitishes to repos
> > > +    repos = OrderedDict(zip(get_repos(conf, components), revisions))
> > > 
> > >      # make sure combo repo is clean
> > >      check_repo_clean(os.getcwd())
> > > 
> > > @@ -361,9 +368,9 @@ def action_update(conf, args):
> > >      if conf.nopull:
> > >          logger.info("Skipping pull (-n)")
> > >      
> > >      else:
> > > -        action_pull(conf, args)
> > > +        action_pull(conf, ['arg0'] + components)
> > 
> > What's this 'arg0' ?
> 
> It's a dummy "args[0] placeholder". Needed because action_pull() assumes
> a "full" command line args list where args[0] would contain the command
> name (which is not used for anything, though).

Right, OK - I would have used args[0] but I don't think it really matters as 
you point out. In which case:

Acked-by: Paul Eggleton <paul.eggleton at linux.intel.com>

Cheers,
Paul

-- 

Paul Eggleton
Intel Open Source Technology Centre



More information about the Openembedded-core mailing list