Skip to content

[Feature Request] APK backup deduplication #987

@buttercookie42

Description

@buttercookie42

Guidelines

  • I have read the FAQ and it doesn't cover my request.
  • I have searched the issue tracker for open and closed issues that are similar to the feature request I want to file, without success.
  • I'm on the latest version.
  • I'm not using a test build (alpha/beta/release-candidate).
  • This issue contains only one feature request.

Problem Description

Titanium Backup had this nice feature where if you backed up the same app multiple times, it'd store the APK only once if the app version hadn't changed between backups.

With NeoBackup currently this can only be replicated in a more cumbersome manner, because while you can filter for apps that have had an update since the last backup and only trigger a full APK backup for those, while doing data-only backups for everything else, it means that if an app remains unchanged for too long and you only keep a limited number of backups, eventually the backup version containing the APK itself will be auto-deleted. (I suppose then you can try filtering for data-only backups and add an APK backup for those again, but it's rather a lot of faffing about.)

Proposed Solution

APK backups are deduplicated among backup versions, so multiple backups for the same APK version only store one copy of the APK. When cleaning up individual backup versions, the APK data only gets deleted from the backup folder once all backups pointing to that particular APK version have been deleted.

Split APKs probably make things a bit more complicated than what Titanium Backup had to handle, but as a simplification I could live with regarding an APK version as identical only if the split APK configuration is exactly the same, too. I.e. if e.g. a split APK gets subsequently changed/additionally installed while the main APK version remains unchanged, we'd still trigger a new full APK backup. (Of course if you wanted to deduplicate that case, too, that's fine by me, too, but in practice installing additional splits without affecting the main APK probably shouldn't happen that often, some on-demand features maybe, or switching to a new language, but I guess it'd be okay if that causes a new full APK backup, even at the price of still wasting some storage space in that particular case.)

Alternatives Considered

No response

Relevant information

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions