Restic periodically saves indexes every 10 (15?) minutes during a backup so that you won’t have to reupload the data again if your backup gets interrupted. Unfortunately restic requires a snapshot in order to skip chunking the files again. On very large backups (1-8TB) this creates quite a problem in order to successfully finish a first backup, especially with lots of small files on slower drives, etc.
It has been proposed that restic save an incremental snapshot (Save an "interrupted" snapshot when backup is interrupted by SIGINT · Issue #2960 · restic/restic · GitHub) if interrupted, but ultimately what the user didn’t understand (see the last comment) was that all that is needed after a failed backup is to start the backup again. I am not necessarily proposing incremental snapshots as the solution to speed up interrupted backups.
Restic being able to skip over files (like it would if there had been a snapshot created) would help users get the first backup, especially if the cost of re-chunking all of the initial data is high enough and the internet connection is spotty enough that the user can’t re-chunk and get back to where the backup was before in time to make additional progress before the internet cuts out or gets interrupted for other reasons.
Something that maybe hasn’t been considered before is to store the necessary data for the ‘incomplete’ snapshot locally only (don’t upload it to the backend). That would keep the complexity out of the main repository, but still enable the next backup that is started to skip re-chunking files.
Hoping to have some discussion here before attempting a PR.