mcthesw / game-save-manager

一个简单的游戏存档管理器
https://help.sworld.club
GNU Affero General Public License v3.0
573 stars 20 forks source link

[错误/BUG] 修改备份信息后删除存档管理失败 #132

Open Goojoe opened 2 months ago

Goojoe commented 2 months ago

image 修改了备份信息后删除存档管理就这样了,日志在哪里提供啊

mcthesw commented 2 months ago

修改备份这个功能不是我制作的,看来是有一定的问题,短期内我会将其禁用,直到我有时间把它做好或彻底删除。日志在1.3.0版本开始提供,当前还在dev分支,没有合并到master,无法查看

Goojoe commented 2 months ago

刚才又试了一下, 修改后就无法删除存档管理了

mcthesw commented 2 months ago

了解了,感谢反馈

Goojoe commented 2 months ago

这个修改功能我还是挺常用的,希望不要下架太久

mcthesw commented 2 months ago

主要问题还是修改后会导致已备份的存档和当前情况不一致,这可能会导致各种问题,因此我一直感觉不好下手。针对游戏这类,可能指定一两个文件夹、若干文件就能设定好的,我一般推荐直接新建一个存档管理。如果是更复杂的备份操作,我得慎重考虑如何支持,毕竟数据无价

Goojoe commented 2 months ago

发现新bug,如图 操作步骤如下

  1. 修改配置文件
  2. 保存到配置文件2,程序生成Backups.json文件,Backups.json内为空配置
  3. 备份配置文件2,程序会正常备份图片中文件列表,但是备份完成后备份文件会消失 image
mcthesw commented 2 months ago

收到,现在修改功能问题太多了

Goojoe commented 2 months ago

无法恢复 image image

mcthesw commented 2 months ago

如果原文件不存在,同时开启了额外备份,会导致恢复失败。关闭额外备份即可

Goojoe commented 2 months ago

关了就好了,好奇葩的逻辑。后续会改吗

mcthesw commented 2 months ago

这有什么奇葩的,额外备份无法完成本就不应该覆盖啊,之前在没有额外备份的情况下,很多用户因为误操作导致存档丢失,现阶段还有提示告知额外备份无法完成,我认为非常合理,也提供了关闭的选项。 除非你给出更好的方案,否则不会更改

mcthesw commented 2 months ago

那我优化一下提示语句好了

Goojoe commented 2 months ago

我看到这个提示的时候是没看懂的。能解释一下吗。这个额外备份是什么意思

mcthesw commented 2 months ago

本来“应用存档”会将备份的压缩文件提取到指定的位置,这个是不要求原文件存在的。 开启“额外备份”后,会在替换文件之前,先备份一次这些文件,以和普通备份相同的格式存放在extra_backup文件夹里面,额外备份完成后再进行替换。 如此一来,如果不小心覆盖了最新的存档,可以手动从extra_backup找到被覆盖的记录(默认允许存在5个)

Goojoe commented 2 months ago

我这种情况下,目标文件夹本来就没有文件给我备份。额外备份不应该跳过才对吗?

mcthesw commented 2 months ago

有两种情况:

  1. 需要备份列表中有个别不存在:这种情况下,做不到只备份存在的而忽略不存在的,因为这样会导致出现不完整的备份文件
  2. 备份列表所有文件不存在:这个情况确实可以跳过额外备份,但是如果想要实现这个,需要检查每个文件的存在情况,并且这部分复用了常规备份的逻辑,如果需要修改这些部分都要考虑变动,另外也需要将情况传递到前端供用户确认。

因此,在提示足够明了的情况下,我觉得没有必要专门为此定制一条逻辑

Goojoe commented 2 months ago

好吧,知道了