mirror of
https://github.com/logseq/logseq.git
synced 2026-06-01 19:01:22 +00:00
fix: handle mirror file errors
This commit is contained in:
10
deps/common/src/logseq/common/graph.cljs
vendored
10
deps/common/src/logseq/common/graph.cljs
vendored
@@ -51,6 +51,11 @@
|
||||
(filter #(.isDirectory %))
|
||||
(map #(.-name %)))))
|
||||
|
||||
(defn- path-at-or-under?
|
||||
[path dir]
|
||||
(or (= path dir)
|
||||
(string/starts-with? path (str dir "/"))))
|
||||
|
||||
(defn ignored-path?
|
||||
"Given a graph directory and path, returns truthy value on whether the path is
|
||||
ignored. Useful for contexts like reading a graph's directory and file watcher
|
||||
@@ -73,8 +78,9 @@ Rules:
|
||||
rpath (path/trim-dir-prefix dir path)]
|
||||
(when (string? path)
|
||||
(or
|
||||
(some #(string/starts-with? rpath %)
|
||||
["." "logseq/.recycle" "logseq/bak" "logseq/version-files" "mirror/markdown"])
|
||||
(string/starts-with? rpath ".")
|
||||
(some #(path-at-or-under? rpath %)
|
||||
["logseq/.recycle" "logseq/bak" "logseq/version-files" "mirror/markdown"])
|
||||
(contains? #{"logseq/graphs-txid.edn" "logseq/pages-metadata.edn"} rpath)
|
||||
(some #(string/includes? rpath (str "/" % "/"))
|
||||
["node_modules"])
|
||||
|
||||
15
deps/common/test/logseq/common/graph_test.cljs
vendored
15
deps/common/test/logseq/common/graph_test.cljs
vendored
@@ -27,11 +27,24 @@
|
||||
;; Create files that are recognized
|
||||
(fs/writeFileSync "tmp/test-graph/pages/foo.md" "")
|
||||
(fs/writeFileSync "tmp/test-graph/journals/2023_05_09.md" "")
|
||||
(fs/mkdirSync (node-path/join "tmp/test-graph" "mirror" "markdown-notes") #js {:recursive true})
|
||||
(fs/mkdirSync (node-path/join "tmp/test-graph" "mirror" "markdown2") #js {:recursive true})
|
||||
(fs/writeFileSync "tmp/test-graph/mirror/markdown-notes/foo.md" "")
|
||||
(fs/writeFileSync "tmp/test-graph/mirror/markdown2/foo.md" "")
|
||||
;; Create files that are ignored
|
||||
(fs/mkdirSync (node-path/join "tmp/test-graph" "logseq" "bak"))
|
||||
(fs/mkdirSync (node-path/join "tmp/test-graph" "mirror" "markdown" "pages") #js {:recursive true})
|
||||
(fs/writeFileSync "tmp/test-graph/logseq/bak/baz.md" "")
|
||||
(fs/writeFileSync "tmp/test-graph/logseq/.gitignore" "")
|
||||
(fs/writeFileSync "tmp/test-graph/mirror/markdown/pages/foo.md" "")
|
||||
(is (= ["tmp/test-graph/journals/2023_05_09.md" "tmp/test-graph/pages/foo.md"]
|
||||
(is (= ["tmp/test-graph/journals/2023_05_09.md"
|
||||
"tmp/test-graph/mirror/markdown-notes/foo.md"
|
||||
"tmp/test-graph/mirror/markdown2/foo.md"
|
||||
"tmp/test-graph/pages/foo.md"]
|
||||
(common-graph/get-files "tmp/test-graph"))))
|
||||
|
||||
(deftest ignored-markdown-mirror-path-honors-directory-boundary-test
|
||||
(is (common-graph/ignored-path? "tmp/test-graph" "tmp/test-graph/mirror/markdown"))
|
||||
(is (common-graph/ignored-path? "tmp/test-graph" "tmp/test-graph/mirror/markdown/pages/foo.md"))
|
||||
(is (not (common-graph/ignored-path? "tmp/test-graph" "tmp/test-graph/mirror/markdown-notes/foo.md")))
|
||||
(is (not (common-graph/ignored-path? "tmp/test-graph" "tmp/test-graph/mirror/markdown2/foo.md"))))
|
||||
|
||||
Reference in New Issue
Block a user