🎨 数据同步增量索引
This commit is contained in:
parent
2bd1505641
commit
35b21f03b8
3 changed files with 22 additions and 9 deletions
|
@ -37,6 +37,7 @@ import (
|
|||
"github.com/siyuan-note/logging"
|
||||
"github.com/siyuan-note/siyuan/kernel/cache"
|
||||
"github.com/siyuan-note/siyuan/kernel/sql"
|
||||
"github.com/siyuan-note/siyuan/kernel/treenode"
|
||||
"github.com/siyuan-note/siyuan/kernel/util"
|
||||
)
|
||||
|
||||
|
@ -520,16 +521,25 @@ func syncRepo(boot, exit, byHand bool) {
|
|||
for _, file := range mergeResult.Removes {
|
||||
removes = append(removes, file.Path)
|
||||
}
|
||||
incReindex(upserts, removes)
|
||||
cache.ClearDocsIAL()
|
||||
|
||||
// 刷新界面
|
||||
util.ReloadUI()
|
||||
if boot && gulu.File.IsExist(util.BlockTreePath) {
|
||||
treenode.InitBlockTree()
|
||||
}
|
||||
|
||||
incReindex(upserts, removes)
|
||||
cache.ClearDocsIAL() // 同步后文档树文档图标没有更新 https://github.com/siyuan-note/siyuan/issues/4939
|
||||
|
||||
if !boot && !exit {
|
||||
util.ReloadUI()
|
||||
}
|
||||
|
||||
elapsed = time.Since(start)
|
||||
go func() {
|
||||
time.Sleep(2 * time.Second)
|
||||
util.PushStatusBar(fmt.Sprintf(Conf.Language(149), elapsed.Seconds()))
|
||||
}()
|
||||
if !exit {
|
||||
go func() {
|
||||
time.Sleep(2 * time.Second)
|
||||
util.PushStatusBar(fmt.Sprintf(Conf.Language(149), elapsed.Seconds()))
|
||||
}()
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
|
|
|
@ -123,6 +123,7 @@ func SyncData(boot, exit, byHand bool) {
|
|||
|
||||
// incReindex 增量重建索引。
|
||||
func incReindex(upserts, removes []string) {
|
||||
util.IncBootProgress(3, "Sync reindexing...")
|
||||
needPushRemoveProgress := 32 < len(removes)
|
||||
needPushUpsertProgress := 32 < len(upserts)
|
||||
msg := fmt.Sprintf(Conf.Language(35))
|
||||
|
@ -141,6 +142,7 @@ func incReindex(upserts, removes []string) {
|
|||
id := strings.TrimSuffix(filepath.Base(removeFile), ".sy")
|
||||
block := treenode.GetBlockTree(id)
|
||||
if nil != block {
|
||||
util.SetBootDetails("Sync remove tree " + block.Path)
|
||||
treenode.RemoveBlockTreesByRootID(block.RootID)
|
||||
sql.RemoveTreeQueue(block.BoxID, block.RootID)
|
||||
msg = fmt.Sprintf(Conf.Language(39), block.RootID)
|
||||
|
@ -156,7 +158,6 @@ func incReindex(upserts, removes []string) {
|
|||
if needPushRemoveProgress || needPushUpsertProgress {
|
||||
util.PushEndlessProgress(msg)
|
||||
}
|
||||
sql.WaitForWritingDatabase()
|
||||
|
||||
for _, upsertFile := range upserts {
|
||||
if !strings.HasSuffix(upsertFile, ".sy") {
|
||||
|
@ -175,6 +176,7 @@ func incReindex(upserts, removes []string) {
|
|||
|
||||
box := upsertFile[:idx]
|
||||
p := strings.TrimPrefix(upsertFile, box)
|
||||
util.SetBootDetails("Sync upsert tree " + p)
|
||||
tree, err0 := LoadTree(box, p)
|
||||
if nil != err0 {
|
||||
continue
|
||||
|
|
|
@ -302,6 +302,7 @@ func initPathDir() {
|
|||
}
|
||||
}
|
||||
|
||||
// TODO: v2.2.0 移除
|
||||
func cleanOld() {
|
||||
dirs, _ := os.ReadDir(WorkingDir)
|
||||
for _, dir := range dirs {
|
||||
|
|
Loading…
Add table
Reference in a new issue