🐛 Rollback document exception after moving document https://github.com/siyuan-note/siyuan/issues/14107

This commit is contained in:
Daniel 2025-02-16 12:25:21 +08:00
parent 0a8ac85d98
commit 1385870e39
No known key found for this signature in database
GPG key ID: 86211BA83DF03017

View file

@ -245,7 +245,7 @@ func RollbackDocHistory(boxID, historyPath string) (err error) {
}
}
destPath, parentHPath, err = getRollbackDockPath(boxID, historyPath)
destPath, parentHPath, err = getRollbackDockPath(boxID, workingDoc)
if err != nil {
return
}
@ -338,10 +338,15 @@ func RollbackDocHistory(boxID, historyPath string) (err error) {
return nil
}
func getRollbackDockPath(boxID, historyPath string) (destPath, parentHPath string, err error) {
baseName := filepath.Base(historyPath)
parentID := path.Base(filepath.Dir(historyPath))
parentWorkingDoc := treenode.GetBlockTree(parentID)
func getRollbackDockPath(boxID string, workingDoc *treenode.BlockTree) (destPath, parentHPath string, err error) {
var parentID, baseName string
var parentWorkingDoc *treenode.BlockTree
if nil != workingDoc {
baseName = path.Base(workingDoc.Path)
parentID = path.Base(path.Dir(workingDoc.Path))
parentWorkingDoc = treenode.GetBlockTree(parentID)
}
if nil != parentWorkingDoc {
// 父路径如果是文档,则恢复到父路径下
parentDir := strings.TrimSuffix(parentWorkingDoc.Path, ".sy")