All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 1/3] combo-layer: remove unused import
@ 2022-12-07 16:36 Ross Burton
  2022-12-07 16:36 ` [PATCH 2/3] combo-layer: dont use bb.utils.rename Ross Burton
  2022-12-07 16:36 ` [PATCH 3/3] combo-layer: add sync-revs command Ross Burton
  0 siblings, 2 replies; 3+ messages in thread
From: Ross Burton @ 2022-12-07 16:36 UTC (permalink / raw)
  To: openembedded-core; +Cc: nd

Signed-off-by: Ross Burton <ross.burton@arm.com>
---
 scripts/combo-layer | 1 -
 1 file changed, 1 deletion(-)

diff --git a/scripts/combo-layer b/scripts/combo-layer
index 045de65642b..c122f4b5e44 100755
--- a/scripts/combo-layer
+++ b/scripts/combo-layer
@@ -21,7 +21,6 @@ import re
 import copy
 import pipes
 import shutil
-from collections import OrderedDict
 from string import Template
 from functools import reduce
 
-- 
2.34.1



^ permalink raw reply related	[flat|nested] 3+ messages in thread

* [PATCH 2/3] combo-layer: dont use bb.utils.rename
  2022-12-07 16:36 [PATCH 1/3] combo-layer: remove unused import Ross Burton
@ 2022-12-07 16:36 ` Ross Burton
  2022-12-07 16:36 ` [PATCH 3/3] combo-layer: add sync-revs command Ross Burton
  1 sibling, 0 replies; 3+ messages in thread
From: Ross Burton @ 2022-12-07 16:36 UTC (permalink / raw)
  To: openembedded-core; +Cc: nd

Bitbake may not be configured, and bb isn't imported anyway.

Instead just use os.rename(), and take the filename from the file object
instead of duplicating logic.

Signed-off-by: Ross Burton <ross.burton@arm.com>
---
 scripts/combo-layer | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/scripts/combo-layer b/scripts/combo-layer
index c122f4b5e44..e467f390c1e 100755
--- a/scripts/combo-layer
+++ b/scripts/combo-layer
@@ -507,7 +507,7 @@ def check_patch(patchfile):
     f.close()
     if of:
         of.close()
-        bb.utils.rename(patchfile + '.tmp', patchfile)
+        os.rename(of.name, patchfile)
 
 def drop_to_shell(workdir=None):
     if not sys.stdin.isatty():
-- 
2.34.1



^ permalink raw reply related	[flat|nested] 3+ messages in thread

* [PATCH 3/3] combo-layer: add sync-revs command
  2022-12-07 16:36 [PATCH 1/3] combo-layer: remove unused import Ross Burton
  2022-12-07 16:36 ` [PATCH 2/3] combo-layer: dont use bb.utils.rename Ross Burton
@ 2022-12-07 16:36 ` Ross Burton
  1 sibling, 0 replies; 3+ messages in thread
From: Ross Burton @ 2022-12-07 16:36 UTC (permalink / raw)
  To: openembedded-core; +Cc: nd

When starting to use combo-layer, or if someone else is using it too,
the local last_revision may be incorrect.

This command will forcibly update the last_revision config values to the
latest SHA on the remote branch that is tracked.

Signed-off-by: Ross Burton <ross.burton@arm.com>
---
 scripts/combo-layer | 27 +++++++++++++++++++++++----
 1 file changed, 23 insertions(+), 4 deletions(-)

diff --git a/scripts/combo-layer b/scripts/combo-layer
index e467f390c1e..7f2020fca71 100755
--- a/scripts/combo-layer
+++ b/scripts/combo-layer
@@ -191,6 +191,23 @@ def runcmd(cmd,destdir=None,printerr=True,out=None,env=None):
     logger.debug("output: %s" % output.replace(chr(0), '\\0'))
     return output
 
+def action_sync_revs(conf, args):
+    """
+    Update the last_revision config option for each repo with the latest
+    revision in the remote's branch. Useful if multiple people are using
+    combo-layer.
+    """
+    repos = get_repos(conf, args[1:])
+
+    for name in repos:
+        repo = conf.repos[name]
+        ldir = repo['local_repo_dir']
+        branch = repo.get('branch', "master")
+        runcmd("git fetch", ldir)
+        lastrev = runcmd('git rev-parse origin/%s' % branch, ldir).strip()
+        print("Updating %s to %s" % (name, lastrev))
+        conf.update(name, "last_revision", lastrev)
+
 def action_init(conf, args):
     """
         Clone component repositories
@@ -1301,6 +1318,7 @@ actions = {
     "update": action_update,
     "pull": action_pull,
     "splitpatch": action_splitpatch,
+    "sync-revs": action_sync_revs,
 }
 
 def main():
@@ -1311,10 +1329,11 @@ def main():
 Create and update a combination layer repository from multiple component repositories.
 
 Action:
-  init                 initialise the combo layer repo
-  update [components]  get patches from component repos and apply them to the combo repo
-  pull [components]    just pull component repos only
-  splitpatch [commit]  generate commit patch and split per component, default commit is HEAD""")
+  init                   initialise the combo layer repo
+  update [components]    get patches from component repos and apply them to the combo repo
+  pull [components]      just pull component repos only
+  sync-revs [components] update the config file's last_revision for each repository
+  splitpatch [commit]    generate commit patch and split per component, default commit is HEAD""")
 
     parser.add_option("-c", "--conf", help = "specify the config file (conf/combo-layer.conf is the default).",
                action = "store", dest = "conffile", default = "conf/combo-layer.conf")
-- 
2.34.1



^ permalink raw reply related	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2022-12-07 16:37 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-12-07 16:36 [PATCH 1/3] combo-layer: remove unused import Ross Burton
2022-12-07 16:36 ` [PATCH 2/3] combo-layer: dont use bb.utils.rename Ross Burton
2022-12-07 16:36 ` [PATCH 3/3] combo-layer: add sync-revs command Ross Burton

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.