epe
1
已经发生5,6次了, 不得不说下了, 不然都不敢用了.
比如, 在同一个面板里, 用左上角的←→快速切换文件, 或者搜索栏里有多个搜索结果时, 点击各搜索结果, 面板里会切换各搜索结果所在的不同文档. 不知道是不是因为切换太快了, 还是因为连续切换, 会出现a文件里的内容被b文件里的内容替换掉的情况, 导致a文件里的原内容丢失(a, b的文件名仍然维持原文件名, b文件里的内容还是原内容).
开始几次出现这种问题后, 我尽量切换文件时, 间隔一点时间切换, 但是还是时不时的出现这种情况. 因为文件众多, 大部分情况很难发现原文件内容被替换掉了, 如果过了快照设置的恢复期, 那原文件就彻底的丢失了!
因为英文不好, 没法发到英文论坛, 希望中文论坛的坛主能跟英文论坛的坛主反馈下. 不尽感谢.
epe
3
这个一般是在不经意的情况下产生的, 很难在当下马上就察觉到. 我一般是在搜索时发现不同文档竟然会有完全一模一样的重复内容时, 这才返回查看源文件, 才发现有上述问题, 然后只能到快照里恢复, 在快照里才知道何时被替换的.
如图1, 图2, 是今天发现的两个被替换的文件的快照历史记录截图(文件大小发生突变的时间点就是被替换的时间点), 其中有一个是昨天发生的, 我当时都不知道, 今天才不经意的发现. 如果是过了几个月后才发现, 那连恢复都没得恢复了(所以, 如果快照能有个不管过了多长时间, 也能至少保存前几份历史记录的功能的话, 也许会好点).
如果一定要复现的话, 可以试着弄a, b, c三个比较长的文档(长文档好像会比较容易出现这个问题), 用左上角的←→(或快捷键), 在同一个面板里非常快速的连续切换a, b, c三个文件, 或者搜索栏输入三个文档都有的关键字, 通过快速点击搜索结果, 在同一个面板里快速切换a, b, c三个文档(文档切换的间隔时间越短越好, 如果是长文档, 渲染一般需要一点时间, 在a文档还没完全渲染好就马上点击切换到b文档和c文档, 这样可能会比较容易复现)
Ryooo
(Roy)
4
快照可以设置尽可能保存的,把保存期限调长一点就行了。最保险的方法是自己为 ob 的库文件夹再套一个备份服务,比如 git,或是 Kopia (Kopia的教程见 Kopia教程—一个开源文件备份工具 )。
另外按帖子中的步骤我没法复现。 所以麻烦下次遇到问题的时候及时记录,英文论坛提 bug 是一定需要复现步骤的。
1 个赞
epe
5
非常感谢. 当然我知道修复bug需要复现,但是上述问题即使是当下就察觉到也很难再次复现的,因为这类bug有个概率的问题,不知道多少次才会出现一次,但是它又确实存在. 不知道ob是否有“日志”之类的功能,有的话我可以提供出现问题的那几篇文档的日志供以开发者参考.
epe
7
今天又发生了一次,仔细的观察了下,这次可能是光标历史记录插件navigate cursor history引起的,当a文档的光标历史记录退到最后一个记录时,如果再退一步,正文内容就会被其它文档的内容替换(打开a的面板里也有打开过其它文档的话)。
但装这个插件前似乎也有发生过,这次我把这个插件先关了,只用ob原生的快速切换功能,用一段时间看下是否还有类似的情况发生。有用那个插件的小伙伴们可能得注意下。
3 个赞
最终找到原因了吗?你说的插件,我没安装,但是也发生了几次. 看到你的贴子,才发现能够恢复.
之前的都丢了
很可惜.
cursor的插件我没有安装.
epe
9
终于找到知己了
应该不是那个插件的原因, 我后面卸了那个插件也有发生过几次
我猜的原因是, 由于软件对每条操作或命令都需要一点反应和执行的时间(即使是几秒), 如果对同一个面板在相互间隔很短的时间里进行多条操作或命令时, 特别是在同一个面板里前后操作多个不同文档时, 有可能导致命令和命令作用的对象文档发生混乱. 比如, 原本a命令是对1文档操作的, b命令是对2文档操作的, 但是由于a和b命令发出的间隔时间非常之短(短于软件需要反应和执行ab命令的时间), 又由于是在同一个面板里操作, 最终有可能导致b命令对1文档操作了
具体体现在: 比如a文档很长(特别是里面有很多query时), 加载文档是需要一点时间的(即使是几秒), 在它加载期间(或在执行其它命令时), 有时因手速快或等不急了, 在这个时候在同一面板里又给出了切换到b文档的操作(或者是其它文档的其它操作), 就有可能发生上面说的a文档的正文内容被b文档的正文内容给覆盖掉了(a文档就只剩下文件名仍保持原来的文件名, b文档没问题). 文档比较多时一般很难在当下察觉a文档被覆盖丢失了, 我一般在搜索时, 发现同一个内容在多个文档里重复出现时我才察觉到文档又被覆盖了
不过, 目前好像有很长一段时间没有出现上述情况了, 有可能是因为版本的更新, 或者主题的更新(我觉得主题好像也有点关系, 有些主题加载的比较慢), 但最重要的一点是, 我采取了打开多个面板, 在多个面板里交替操作, 尽量不在同一个面板里间隔很短时间对不同文档进行操作(我也很怕再出现上面的情况
). 如果一定要在同一个面板里对不同文档进行操作的话, 尽量在前一个命令执行完毕后再执行第二个命令. 另外, 如果可以的话, 一篇文档尽量不要太长, 尽量不要塞满很多的query(我觉得这个加载起来是最费时的, dataview我没用过, 但可能类似这种代码查询的加载起来都很费时)