[elbe-devel] [PATCH 2/2] initvmaction: Add sync action
Olivier Dion
dion at linutronix.de
Mon May 25 20:49:11 CEST 2020
The initvm sync command will synchronize the local repository with the
initvm. This does not check if there's a build in progress nor if the
files are okay. The elbe-daemon _could crash silently_.
We're excluding Git stuffs, Python bytecodes and caches, Elbe' builds,
default initvm, examples and documentations.
Signed-off-by: Olivier Dion <dion at linutronix.de>
---
elbepack/initvmaction.py | 18 ++++++++++++++++++
1 file changed, 18 insertions(+)
diff --git a/elbepack/initvmaction.py b/elbepack/initvmaction.py
index c6c1943f..9eb1aa8f 100644
--- a/elbepack/initvmaction.py
+++ b/elbepack/initvmaction.py
@@ -628,3 +628,21 @@ class SubmitAction(InitVMAction):
submit_and_dl_result(xmlfile, cdrom, opt)
+ at InitVMAction.register('sync')
+class SyncAction(InitVMAction):
+
+ def __init__(self, node):
+ super(SyncAction, self).__init__(node)
+
+ def execute(self, _initvmdir, opt, args):
+ top_dir = os.path.dirname(os.path.dirname(os.path.realpath(__file__)))
+ try:
+ system("rsync --info=name1,stats1 --archive --times "
+ "--exclude='.git*' --exclude='*.pyc' --exclude='elbe-build*' "
+ "--exclude='initvm' --exclude='__pycache__' --exclude='docs' "
+ "--exclude='examples' "
+ "--rsh='ssh -p %s' --chown=root:root "
+ "%s/ root at localhost:/var/cache/elbe/devel" %
+ (cfg["sshport"], top_dir))
+ except CommandError as E:
+ print(E)
--
2.26.2
More information about the elbe-devel
mailing list