TISUnion / QuickBackupM

A backup / restore plugin, with multiple backup slots
GNU General Public License v3.0
148 stars 20 forks source link

增加可配置的kept_files,用于保存ledger mod的数据库等需要持久保存的数据,但不放入备份中 #52

Closed HarukaB closed 1 year ago

HarukaB commented 1 year ago

ledger mod或者其他mod的某些文件可以非常大,如果每次都放入备份中会非常消耗磁盘空间,我增加了配置文件里的kept_files字段, 加入其中的文件将不会在备份时被加入到备份列表中,也不会在回档时被删除

Fallen-Breath commented 1 year ago
  1. 未见所述“也不会在回档时被删除”的实现
  2. 不要包含无关修改
  3. 请同步更新中英文 README,并确保语法符合 GitHub-flavored markdown
HarukaB commented 1 year ago

1."关于 '也不会在回档时被删除' 的实现,是通过在备份和回档时忽略掉 kept_files 里面的文件来实现的。kept_files 保存了需要保持的文件列表,这些文件在备份和回档时都会被忽略。关于这个功能的实现代码分布在 2b0da064209009717161c3adc13ce4de92db86e0 的多处,其中除了第141行(修改时将它修改为元组),其他相关的代码都是用于实现这个的。已经进行了实际测试,在plain模式下(Windows+Linux)都是正常的,但在tar_gz,tar,tar_xz模式下不正常(Linux),我会稍后尝试修复

2.你提到的 '无关修改',我不太明白具体是指哪些修改。如果你能指出我会尽快去除的

3.英语README已经更新

Fallen-Breath commented 1 year ago
  1. 缺失的“也不会在回档时被删除”的实现: https://github.com/TISUnion/QuickBackupM/blob/2b0da064209009717161c3adc13ce4de92db86e0/quick_backup_multi/__init__.py#L177-L191 此处代码没有被修改,导致回档删存档时依然是全部文件都被删掉,包括数据库文件
  2. 见 review comments。建议在提交 commit / PR 前,自己先检查下有没有什么意料外的改动
  3. 请确保 README 语法符合 GitHub-flavored markdown——两个段落之间需要空行。这里你也可以通过观察 https://github.com/HarukaB/QuickBackupM/tree/master 页面自行检查
HarukaB commented 1 year ago

不好意思,由于一些个人原因,我可能需要一段时间后再来处理这个PR,约3-4天后,请见谅,谢谢你的指导和耐心等待

HarukaB commented 1 year ago

代码已经准备好了,但是由于ignore_files的BUG,在tar,tar_xz,tar_gz模式下不能使用,等待上游修复后我再再次打开PR,并且整理下提交(太多低级错误了)