norgbackup/norg/restic/prune.nim

24 lines
876 B
Nim
Raw Normal View History

2024-08-23 11:30:36 +02:00
import ../model/config_type
import strformat
import execute
proc addPruneOptions(cmd: var string, maintenance: Maintenance) =
cmd = fmt"""{cmd} \
--keep-hourly {maintenance.keep_hourly} \
--keep-daily {maintenance.keep_daily} \
--keep-weekly {maintenance.keep_weekly} \
--keep-monthly {maintenance.keep_monthly} \
--keep-yearly {maintenance.keep_yearly} \
"""
proc pruneRepo*(nc: NorgConfig, repo: Repository): int =
2024-08-23 15:12:59 +02:00
var cmd = genCommand(cmd = "forget --prune", repo = repo.path, further_args = nc.args.further_args)
2024-08-23 11:30:36 +02:00
cmd.addPruneOptions(nc.maintenance)
return run cmd
2024-08-23 15:12:59 +02:00
proc forgetSnapshot*(nc: NorgConfig, repo: Repository): int =
var cmd = genForgetCommand(cmd = "forget", repo = repo.path, archive = nc.args.archive, further_args = nc.args.further_args)
return run cmd