🎨 Sync repo

This commit is contained in:
Liang Ding 2022-07-02 12:16:50 +08:00
parent 545815134a
commit f29ad3168c
No known key found for this signature in database
GPG key ID: 136F30F901A2231D
2 changed files with 9 additions and 16 deletions

View file

@ -112,7 +112,7 @@ require (
replace github.com/mattn/go-sqlite3 => github.com/88250/go-sqlite3 v1.14.13-0.20220412041952-88c3aaa8595e
//replace github.com/siyuan-note/dejavu => D:\88250\dejavu
replace github.com/siyuan-note/dejavu => D:\88250\dejavu
//replace github.com/siyuan-note/httpclient => D:\88250\httpclient
//replace github.com/imroc/req/v3 => D:\88250\req
//replace github.com/88250/lute => D:\gogogo\src\github.com\88250\lute

View file

@ -305,7 +305,7 @@ func syncRepo() (err error) {
defer WatchAssets()
start := time.Now()
latest, fetchedFiles, err := repo.Sync(Conf.Sync.CloudName, Conf.User.UserId, Conf.User.UserToken, Conf.System.NetworkProxy.String(), util.AliyunServer, map[string]interface{}{
latest, mergeUpserts, mergeRemoves, err := repo.Sync(Conf.Sync.CloudName, Conf.User.UserId, Conf.User.UserToken, Conf.System.NetworkProxy.String(), util.AliyunServer, map[string]interface{}{
CtxPushMsg: CtxPushMsgToStatusBar,
})
elapsed := time.Since(start)
@ -316,30 +316,23 @@ func syncRepo() (err error) {
return
}
util.PushStatusBar(fmt.Sprintf(Conf.Language(149)+" [%s]", elapsed.Seconds(), latest.ID[:7]))
if 1 > len(fetchedFiles) {
// 没有下载到新文件,直接返回
return
}
// 下载到文件后,需要恢复到工作区并重建索引
upsertFiles, removeFiles, err := repo.Checkout(latest.ID, map[string]interface{}{
CtxPushMsg: CtxPushMsgToStatusBarAndProgress,
})
if nil != err {
util.PushClearProgress()
if 1 > len(mergeUpserts) && 1 > len(mergeRemoves) {
// 没有数据变更,直接返回
return
}
// 有数据变更,需要重建索引
var upserts, removes []string
for _, file := range upsertFiles {
for _, file := range mergeUpserts {
upserts = append(upserts, file.Path)
}
for _, file := range removeFiles {
for _, file := range mergeRemoves {
removes = append(removes, file.Path)
}
incReindex(upserts, removes)
cache.ClearDocsIAL()
// 刷新界面
util.ReloadUI()
elapsed = time.Since(start)
go func() {