fix: Git Autocommit not working if empty graph path on electron

pull/3239/head
Tienson Qin 2021-11-22 17:47:04 +08:00
parent e59c2ec71f
commit 1a388ceb9d
3 changed files with 19 additions and 11 deletions

View File

@ -11,13 +11,9 @@
(def log-error (partial (.-error logger) "[Git]"))
(defn get-graph-path
[]
(:graph/current @state/state))
(defn get-graph-git-dir
[]
(when-let [graph-path (some-> (get-graph-path)
(when-let [graph-path (some-> (state/get-graph-path)
(string/replace "/" "_")
(string/replace ":" "comma"))]
(let [dir (.join path (.homedir os) ".logseq" "git" graph-path ".git")]
@ -26,12 +22,12 @@
(defn dot-git-exists?
[]
(let [p (.join path (get-graph-path) ".git")]
(let [p (.join path (state/get-graph-path) ".git")]
(fs/existsSync p)))
(defn run-git!
[commands]
(when-let [path (get-graph-path)]
(when-let [path (state/get-graph-path)]
(when (fs/existsSync path)
(p/let [result (.exec GitProcess commands path)]
(if (zero? (gobj/get result "exitCode"))
@ -45,7 +41,7 @@
(defn git-dir-exists?
[]
(try
(let [p (.join path (get-graph-path) ".git")]
(let [p (.join path (state/get-graph-path) ".git")]
(.isDirectory (fs/statSync p)))
(catch js/Error e
nil)))
@ -53,8 +49,10 @@
(defn remove-dot-git-file!
[]
(try
(let [graph-path (get-graph-path)
_ (and (string/blank? graph-path) (throw (js/Error. "Empty graph path")))
(let [graph-path (state/get-graph-path)
_ (when (string/blank? graph-path)
(utils/send-to-renderer "getCurrentGraph" {})
(throw (js/Error. "Empty graph path")))
p (.join path graph-path ".git")]
(when (and (fs/existsSync p)
(.isFile (fs/statSync p)))

View File

@ -32,3 +32,7 @@
(defn git-auto-commit-disabled?
[]
(get-in @state [:config :git/disable-auto-commit?] true))
(defn get-graph-path
[]
(:graph/current @state))

View File

@ -67,7 +67,13 @@
(js/window.apis.on "setGitUsernameAndEmail"
(fn []
(state/pub-event! [:modal/set-git-username-and-email]))))
(state/pub-event! [:modal/set-git-username-and-email])))
(js/window.apis.on "getCurrentGraph"
(fn []
(when-let [graph (state/get-current-repo)]
(ipc/ipc "setCurrentGraph" graph)))))
(defn listen!
[]