diff options
Diffstat (limited to 'scripts/combo-layer')
-rwxr-xr-x | scripts/combo-layer | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/scripts/combo-layer b/scripts/combo-layer index 8637addc8e..6b0c56d37e 100755 --- a/scripts/combo-layer +++ b/scripts/combo-layer @@ -586,9 +586,14 @@ def action_pull(conf, args): ldir = repo['local_repo_dir'] branch = repo.get('branch', "master") runcmd("git checkout %s" % branch, ldir) - logger.info("git pull for component repo %s in %s ..." % (name, ldir)) - output=runcmd("git pull --ff-only", ldir) - logger.info(output) + logger.info("update component repo %s in %s ..." % (name, ldir)) + if not args.hard_reset: + output=runcmd("git pull --ff-only", ldir) + logger.info(output) + else: + output=runcmd("git fetch", ldir) + logger.info(output) + runcmd("git reset --hard FETCH_HEAD", ldir) def action_update(conf, args): """ @@ -895,6 +900,10 @@ Action: parser.add_option("-n", "--no-pull", help = "skip pulling component repos during update", action = "store_true", dest = "nopull", default = False) + parser.add_option("--hard-reset", + help = "instead of pull do fetch and hard-reset in component repos", + action = "store_true", default = False) + parser.add_option("-H", "--history", help = "import full history of components during init", action = "store_true", default = False) |