Index: cgisetup/models/pgdb.scm ================================================================== --- cgisetup/models/pgdb.scm +++ cgisetup/models/pgdb.scm @@ -26,11 +26,11 @@ (use typed-records (prefix dbi dbi:)) ;; given a configdat lookup the connection info and open the db ;; (define (pgdb:open configdat #!key (dbname #f)) - (let ((pgconf (configf:lookup configdat "ext-sync" (or dbname "pgdb")))) + (let ((pgconf (or (configf:lookup configdat "ext-sync" (or dbname "pgdb")) (args:get-arg "-pgsync")))) (if pgconf (let* ((confdat (map (lambda (conf-item) (let ((parts (string-split conf-item ":"))) (if (> (length parts) 1) (let ((key (car parts)) Index: megatest.scm ================================================================== --- megatest.scm +++ megatest.scm @@ -288,10 +288,12 @@ "-src-target" "-src-runname" "-diff-email" "-sync-to" + "-prefix-target" + "-pgsync" "-diff-html" ) (list "-h" "-help" "--help" "-manual" "-version" Index: tasks.scm ================================================================== --- tasks.scm +++ tasks.scm @@ -616,11 +616,11 @@ (runinf (hash-table-ref/default runs-ht run-id #f))) (if runinf runinf ;; already cached (let* ((keytarg (string-intersperse (rmt:get-keys) "/")) ;; e.g. version/iteration/platform (spec-id (pgdb:get-ttype dbh keytarg)) - (target (rmt:get-target run-id)) ;; e.g. v1.63/a3e1/ubuntu + (target (if (and (args:get-arg "-sync-to") (args:get-arg "-prefix-target")) (set! target (conc (args:get-arg "-prefix-target") (rmt:get-target run-id))) (rmt:get-target run-id))) ;; e.g. v1.63/a3e1/ubuntu (run-dat (rmt:get-run-info run-id)) ;; NOTE: get-run-info returns a vector < row header > (run-name (rmt:get-run-name-from-id run-id)) (new-run-id (pgdb:get-run-id dbh spec-id target run-name)) (row (db:get-rows run-dat)) ;; yes, this returns a single row (header (db:get-header run-dat))