V2.7.5 似自动更改块 ID ,造成已有链接失效

本贴最后更新于 429 天前,其中的信息可能已经时过境迁

发现有的块 ID 被重新命名,造成已有链接失效;甚至有的文档 ID 也被重新命名,并自动新建名为“Untitled”的空文档作为其父文档。

88250 定位到问题,下个版本进行改进 Issue #7370 · siyuan-note/siyuan

  • 思源笔记

    思源笔记是一款隐私优先的个人知识管理系统,支持完全离线使用,同时也支持端到端加密同步。

    融合块、大纲和双向链接,重构你的思维。

    18601 引用 • 69243 回帖 • 1 关注
4 操作
abc1206 在 2023-02-16 08:12:34 更新了该帖
abc1206 在 2023-02-14 17:26:33 更新了该帖
abc1206 在 2023-02-14 17:26:03 更新了该帖
abc1206 在 2023-02-14 17:17:24 更新了该帖

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...
  • 88250 3 评论

    应该只有重复的 ID 会被重置。

    2 回复
    抽查了几个被改 ID 的文档备份,同名 sy 文件都在 history 文件夹下。
    abc1206
    @abc1206 history 的路径是在笔记本下面吗?
    88250
    @88250 有的在工作空间的 history 文件夹,有的在笔记本的.siyuan\history 文件夹。
    abc1206
  • abc1206

    请问有什么方法可以恢复原来的块 ID 吗?程序自动更改索引关系的设计也许应慎重。

    1 回复
  • 这个肯定是校验时发现重复的才会进行数据订正的。

  • 谢谢,已经定位到问题了。工作空间/history/ 下面的不会有干扰,是笔记本/.siyuan/history/ 干扰了订正,这个问题下个版本改进 Issue #7370 · siyuan-note/siyuan

    笔记本/.siyuan/history/ 文件夹是很早期的历史数据(后面都统一使用工作空间/history/ 了),手动删除掉就行。

    1 回复
  • abc1206

    升级 V2.7.5 后,有些文档多了名为"Untitle"的父文档,在文档树的位置被移动;抽查了几个,发现相应 sy 文件的路径结构并没有发生变化。思源检查.rar

    1 回复
  • 请用之前的数据验证一下:把笔记本/.siyuan/history/ 都删除之后再启动。

    2 回复
  • abc1206 1

    在备份数据中删除了 data 和笔记本文件夹下的.siyuna\history 文件夹,能从 V2.6.2 升级到 V2.7.5,启动后发现有的文档在文档树显示的引用块数少了,需要重建索引,目前正常使用。

  • abc1206

    仍有问题:通过 Query 查询发现,升级 V2.7.5 时自动建立的“Untitled”空文档有 56 个,扰乱了文档树原有顺序;“Untitle”空文档的子文档是已有文档,被更改了 ID,ID 改动时间在父文档建立之前。例如:

    1、父文档,自动建立的“Untitle”空文档
    父文档.png

    2、子文档,原有文档,文档树位置被挪动
    子文档.png

    3、附上日志:systemlog1.zip

    1 回复
  • 日志上看是因为这些文档作为父文档是已经损坏的了,所以解析到子文的时候只能在损坏的父文档位置上创建 Untitled 空白文档。

    1 回复
  • abc1206 1

    问题解决了。问题出在备份文件上。数据文件用百度网盘定期备份,文档换过文件夹的,网盘在前后两个文件夹都会保留,造成备份在不同文件夹有同名 sy 文件。根据“Untitled”文档线索,把同名的 sy 旧文件删除,然后再从 V2.6.2 升级到 V2.7.5(删除.siyuan\history 文件夹),目前使用正常。

  • 防不胜防,我非常不喜欢 ID 失效,因为有有些 siyuan 链接是放在其它软件中的,这种失效会导致我的一些回链失效

    现在还有一个设计问题是,Ctrl+X,Ctrl+V 之后,块 ID 也会发生改变

    1 回复
  • Diamond 1 评论

    我手动把 D:\SiYuan\data 下的/.siyuan/history/ 都删除了(永久删除),导致现在“文档树”是空的,我应该怎么挽救啊?【我自己删错,现在差不多救回来了,打扰了】

    1 操作
    Diamond 在 2023-02-15 18:23:01 更新了该回帖
    试下重建索引。
    abc1206
  • HotCup

    同样有这个问题,我有很多块超链接是复制到其它软件里面,配合思源笔记使用的,但每次复制、剪切或者直接在思源笔记内拖拽块到其他位置,都会改变块 id,不知道是不是故意设计使然?

    2 回复
  • 拖拽应该不会,剪切、复制会,这是设计使然。

    剪切参见统一块剪切粘贴逻辑为生成新块 · Issue #6807 · siyuan-note/siyuan

请输入回帖内容 ...

推荐标签 标签

  • CentOS

    CentOS(Community Enterprise Operating System)是 Linux 发行版之一,它是来自于 Red Hat Enterprise Linux 依照开放源代码规定释出的源代码所编译而成。由于出自同样的源代码,因此有些要求高度稳定的服务器以 CentOS 替代商业版的 Red Hat Enterprise Linux 使用。两者的不同在于 CentOS 并不包含封闭源代码软件。

    238 引用 • 224 回帖 • 1 关注
  • QQ

    1999 年 2 月腾讯正式推出“腾讯 QQ”,在线用户由 1999 年的 2 人(马化腾和张志东)到现在已经发展到上亿用户了,在线人数超过一亿,是目前使用最广泛的聊天软件之一。

    45 引用 • 557 回帖 • 227 关注
  • Python

    Python 是一种面向对象、直译式电脑编程语言,具有近二十年的发展历史,成熟且稳定。它包含了一组完善而且容易理解的标准库,能够轻松完成很多常见的任务。它的语法简捷和清晰,尽量使用无异义的英语单词,与其它大多数程序设计语言使用大括号不一样,它使用缩进来定义语句块。

    535 引用 • 672 回帖 • 2 关注
  • Hadoop

    Hadoop 是由 Apache 基金会所开发的一个分布式系统基础架构。用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力进行高速运算和存储。

    82 引用 • 122 回帖 • 614 关注
  • 域名

    域名(Domain Name),简称域名、网域,是由一串用点分隔的名字组成的 Internet 上某一台计算机或计算机组的名称,用于在数据传输时标识计算机的电子方位(有时也指地理位置)。

    43 引用 • 208 回帖
  • IPFS

    IPFS(InterPlanetary File System,星际文件系统)是永久的、去中心化保存和共享文件的方法,这是一种内容可寻址、版本化、点对点超媒体的分布式协议。请浏览 IPFS 入门笔记了解更多细节。

    20 引用 • 245 回帖 • 229 关注
  • uTools

    uTools 是一个极简、插件化、跨平台的现代桌面软件。通过自由选配丰富的插件,打造你得心应手的工具集合。

    5 引用 • 13 回帖
  • SVN

    SVN 是 Subversion 的简称,是一个开放源代码的版本控制系统,相较于 RCS、CVS,它采用了分支管理系统,它的设计目标就是取代 CVS。

    29 引用 • 98 回帖 • 693 关注
  • Typecho

    Typecho 是一款博客程序,它在 GPLv2 许可证下发行,基于 PHP 构建,可以运行在各种平台上,支持多种数据库(MySQL、PostgreSQL、SQLite)。

    12 引用 • 60 回帖 • 470 关注
  • ReactiveX

    ReactiveX 是一个专注于异步编程与控制可观察数据(或者事件)流的 API。它组合了观察者模式,迭代器模式和函数式编程的优秀思想。

    1 引用 • 2 回帖 • 126 关注
  • HHKB

    HHKB 是富士通的 Happy Hacking 系列电容键盘。电容键盘即无接点静电电容式键盘(Capacitive Keyboard)。

    5 引用 • 74 回帖 • 404 关注
  • Vditor

    Vditor 是一款浏览器端的 Markdown 编辑器,支持所见即所得、即时渲染(类似 Typora)和分屏预览模式。它使用 TypeScript 实现,支持原生 JavaScript、Vue、React 和 Angular。

    311 引用 • 1666 回帖 • 1 关注
  • OAuth

    OAuth 协议为用户资源的授权提供了一个安全的、开放而又简易的标准。与以往的授权方式不同之处是 oAuth 的授权不会使第三方触及到用户的帐号信息(如用户名与密码),即第三方无需使用用户的用户名与密码就可以申请获得该用户资源的授权,因此 oAuth 是安全的。oAuth 是 Open Authorization 的简写。

    36 引用 • 103 回帖 • 7 关注
  • API

    应用程序编程接口(Application Programming Interface)是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节。

    76 引用 • 421 回帖 • 1 关注
  • Latke

    Latke 是一款以 JSON 为主的 Java Web 框架。

    70 引用 • 532 回帖 • 711 关注
  • BookxNote

    BookxNote 是一款全新的电子书学习工具,助力您的学习与思考,让您的大脑更高效的记忆。

    笔记整理交给我,一心只读圣贤书。

    1 引用 • 1 回帖 • 2 关注
  • 百度

    百度(Nasdaq:BIDU)是全球最大的中文搜索引擎、最大的中文网站。2000 年 1 月由李彦宏创立于北京中关村,致力于向人们提供“简单,可依赖”的信息获取方式。“百度”二字源于中国宋朝词人辛弃疾的《青玉案·元夕》词句“众里寻他千百度”,象征着百度对中文信息检索技术的执著追求。

    63 引用 • 785 回帖 • 251 关注
  • 游戏

    沉迷游戏伤身,强撸灰飞烟灭。

    169 引用 • 799 回帖
  • Shell

    Shell 脚本与 Windows/Dos 下的批处理相似,也就是用各类命令预先放入到一个文件中,方便一次性执行的一个程序文件,主要是方便管理员进行设置或者管理用的。但是它比 Windows 下的批处理更强大,比用其他编程程序编辑的程序效率更高,因为它使用了 Linux/Unix 下的命令。

    122 引用 • 73 回帖
  • JVM

    JVM(Java Virtual Machine)Java 虚拟机是一个微型操作系统,有自己的硬件构架体系,还有相应的指令系统。能够识别 Java 独特的 .class 文件(字节码),能够将这些文件中的信息读取出来,使得 Java 程序只需要生成 Java 虚拟机上的字节码后就能在不同操作系统平台上进行运行。

    180 引用 • 120 回帖 • 2 关注
  • IBM

    IBM(国际商业机器公司)或万国商业机器公司,简称 IBM(International Business Machines Corporation),总公司在纽约州阿蒙克市。1911 年托马斯·沃森创立于美国,是全球最大的信息技术和业务解决方案公司,拥有全球雇员 30 多万人,业务遍及 160 多个国家和地区。

    16 引用 • 53 回帖 • 118 关注
  • OpenStack

    OpenStack 是一个云操作系统,通过数据中心可控制大型的计算、存储、网络等资源池。所有的管理通过前端界面管理员就可以完成,同样也可以通过 Web 接口让最终用户部署资源。

    10 引用 • 9 关注
  • SpaceVim

    SpaceVim 是一个社区驱动的模块化 vim/neovim 配置集合,以模块的方式组织管理插件以
    及相关配置,为不同的语言开发量身定制了相关的开发模块,该模块提供代码自动补全,
    语法检查、格式化、调试、REPL 等特性。用户仅需载入相关语言的模块即可得到一个开箱
    即用的 Vim-IDE。

    3 引用 • 31 回帖 • 69 关注
  • FlowUs

    FlowUs.息流 个人及团队的新一代生产力工具。

    让复杂的信息管理更轻松、自由、充满创意。

    1 引用 • 2 关注
  • GitHub

    GitHub 于 2008 年上线,目前,除了 Git 代码仓库托管及基本的 Web 管理界面以外,还提供了订阅、讨论组、文本渲染、在线文件编辑器、协作图谱(报表)、代码片段分享(Gist)等功能。正因为这些功能所提供的便利,又经过长期的积累,GitHub 的用户活跃度很高,在开源世界里享有深远的声望,并形成了社交化编程文化(Social Coding)。

    207 引用 • 2031 回帖
  • Kotlin

    Kotlin 是一种在 Java 虚拟机上运行的静态类型编程语言,由 JetBrains 设计开发并开源。Kotlin 可以编译成 Java 字节码,也可以编译成 JavaScript,方便在没有 JVM 的设备上运行。在 Google I/O 2017 中,Google 宣布 Kotlin 成为 Android 官方开发语言。

    19 引用 • 33 回帖 • 25 关注
  • OnlyOffice
    4 引用 • 28 关注