enhance: new graph from script saves git sha in :kv/value

Also for
https://test.logseq.com/#/page/6835e455-69f6-4bbd-9865-b76fa57ce457
This commit is contained in:
Gabriel Horner
2025-05-27 12:16:15 -04:00
parent e7583b8b8c
commit 38e05aa6b8
2 changed files with 24 additions and 11 deletions

View File

@@ -163,7 +163,8 @@
db-name (if (= 1 (count init-conn-args)) (first init-conn-args) (second init-conn-args))
db-dir (if (= 1 (count init-conn-args)) (node-path/dirname (first init-conn-args)) (second init-conn-args))
file-graph' (resolve-path file-graph)
conn (apply outliner-cli/init-conn (conj init-conn-args {:classpath (cp/get-classpath)}))
conn (apply outliner-cli/init-conn (conj init-conn-args {:classpath (cp/get-classpath)
:import-type :cli/db-import}))
directory? (.isDirectory (fs/statSync file-graph'))
user-options (cond-> (merge {:all-tags false} (dissoc options :verbose :files :help :continue))
;; coerce option collection into strings

View File

@@ -1,15 +1,16 @@
(ns ^:node-only logseq.outliner.cli
"Primary ns for outliner CLI fns"
(:require [borkdude.rewrite-edn :as rewrite]
[clojure.string :as string]
[datascript.core :as d]
[logseq.db.sqlite.create-graph :as sqlite-create-graph]
[logseq.db.sqlite.build :as sqlite-build]
[logseq.db.common.sqlite-cli :as sqlite-cli]
[logseq.outliner.db-pipeline :as db-pipeline]
(:require ["child_process" :as child-process]
["fs" :as fs]
["path" :as node-path]
[logseq.common.config :as common-config]))
[borkdude.rewrite-edn :as rewrite]
[clojure.string :as string]
[datascript.core :as d]
[logseq.common.config :as common-config]
[logseq.db.common.sqlite-cli :as sqlite-cli]
[logseq.db.sqlite.build :as sqlite-build]
[logseq.db.sqlite.create-graph :as sqlite-create-graph]
[logseq.outliner.db-pipeline :as db-pipeline]))
(defn- find-on-classpath [classpath rel-path]
(some (fn [dir]
@@ -26,6 +27,14 @@
m)
str))
(defn- get-git-sha
[]
(let [res (child-process/spawnSync "git"
#js ["rev-parse" "--short" "HEAD"]
#js {})]
(when (zero? (.-status res))
(string/trim (str (.-stdout res))))))
(defn- setup-init-data
"Setup initial data same as frontend.handler.repo/create-db"
[conn {:keys [additional-config classpath import-type]
@@ -37,8 +46,11 @@
true
(common-config/create-config-for-db-graph)
additional-config
(pretty-print-merge additional-config))]
(d/transact! conn (sqlite-create-graph/build-db-initial-data config-content {:import-type import-type}))))
(pretty-print-merge additional-config))
git-sha (get-git-sha)]
(d/transact! conn (sqlite-create-graph/build-db-initial-data config-content
(merge {:import-type import-type}
(when git-sha {:graph-git-sha git-sha}))))))
(defn init-conn
"Create sqlite DB, initialize datascript connection and sync listener and then