fix: don't delete files if it's triggered by third-party sync services

pull/3239/head
Tienson Qin 2021-11-22 18:55:34 +08:00
parent 1a388ceb9d
commit 0273a18a5f
2 changed files with 4 additions and 4 deletions

View File

@ -36,7 +36,6 @@
(not (:encryption/graph-parsing? @state/state))) (not (:encryption/graph-parsing? @state/state)))
(cond (cond
(and (= "add" type) (and (= "add" type)
(not= (string/trim content) (string/trim db-content))
(not (string/includes? path "logseq/pages-metadata.edn"))) (not (string/includes? path "logseq/pages-metadata.edn")))
(p/let [_ (file-handler/alter-file repo path content {:re-render-root? true (p/let [_ (file-handler/alter-file repo path content {:re-render-root? true
:from-disk? true})] :from-disk? true})]
@ -69,7 +68,7 @@
(db/file-exists? repo path)) (db/file-exists? repo path))
(when-let [page-name (db/get-file-page path)] (when-let [page-name (db/get-file-page path)]
(println "Delete page: " page-name ", file path: " path ".") (println "Delete page: " page-name ", file path: " path ".")
(page-handler/delete! page-name #())) (page-handler/delete! page-name #() :delete-file? false))
(contains? #{"add" "change" "unlink"} type) (contains? #{"add" "change" "unlink"} type)
nil nil

View File

@ -294,7 +294,8 @@
(config-handler/set-config! :favorites favorites)))) (config-handler/set-config! :favorites favorites))))
(defn delete! (defn delete!
[page-name ok-handler] [page-name ok-handler & {:keys [delete-file?]
:or {delete-file? true}}]
(when page-name (when page-name
(when-let [repo (state/get-current-repo)] (when-let [repo (state/get-current-repo)]
(let [page-name (string/lower-case page-name) (let [page-name (string/lower-case page-name)
@ -305,7 +306,7 @@
blocks)] blocks)]
(db/transact! tx-data) (db/transact! tx-data)
(delete-file! repo page-name) (when delete-file? (delete-file! repo page-name))
;; if other page alias this pagename, ;; if other page alias this pagename,
;; then just remove some attrs of this entity instead of retractEntity ;; then just remove some attrs of this entity instead of retractEntity