[oe-commits] Markus Lehtonen : combo-layer: implement --hard-reset option

git at git.openembedded.org git at git.openembedded.org
Mon Jul 20 09:42:01 UTC 2015


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

Author: Markus Lehtonen <markus.lehtonen at linux.intel.com>
Date:   Wed Jul  8 13:59:49 2015 +0300

combo-layer: implement --hard-reset option

This option causes combo-layer to do git fetch and hard reset instead of
git pull in the component repositories. This makes sure that the local
component repositories are always in sync with the remote - tolerating
force pushes and overriding any locally made changes.

Signed-off-by: Markus Lehtonen <markus.lehtonen at linux.intel.com>
Signed-off-by: Ross Burton <ross.burton at intel.com>

---

 scripts/combo-layer | 15 ++++++++++++---
 1 file changed, 12 insertions(+), 3 deletions(-)

diff --git a/scripts/combo-layer b/scripts/combo-layer
index 8637add..6b0c56d 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)
 



More information about the Openembedded-commits mailing list