Debian 13 runtime with restic 0.18.1 pinned outside the OS; restic assumptions re-proven; felhom-samba 1.2.0 (R-1105, R-972)
gates / gates (push) Successful in 49s
gates / gates (push) Successful in 49s
This commit is contained in:
@@ -82,7 +82,8 @@ var retentionPolicy = []string{"--group-by", "host,tags",
|
||||
"--keep-daily", strconv.Itoa(keepDaily), "--keep-weekly", strconv.Itoa(keepWeekly), "--keep-monthly", strconv.Itoa(keepMonthly)}
|
||||
|
||||
// calendarDaysBefore: how many calendar days s lies before now, both read in s's own zone — the zone
|
||||
// restic 0.14.0 buckets a snapshot's day in (the offset stored with the snapshot). Edge, recorded: in the
|
||||
// restic buckets a snapshot's day in (the offset stored with the snapshot; 0.14.0, and 0.18.1 gives the same plan on a
|
||||
// 502-snapshot, 230-day set made in UTC and Budapest time — R-1105). Edge, recorded: in the
|
||||
// hour after local midnight on a DST change, a box whose snapshots carry two different offsets can read one
|
||||
// day short; the guard then REFUSES (the safe direction) and the next week's window passes.
|
||||
func calendarDaysBefore(s, now time.Time) int {
|
||||
@@ -182,7 +183,9 @@ func (m *Manager) planRemovals(ctx context.Context, base, env []string) ([]guard
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("forget --dry-run: %w: %s", err, truncate(out))
|
||||
}
|
||||
// restic 0.14.0 prints the JSON array on stdout; the runner may combine stderr — take the array.
|
||||
// restic prints the JSON array on stdout; the runner may combine stderr — take the array. (R-1105: on 0.18.1 the
|
||||
// plan can be SMALLER than 0.14.0's — while a --keep-monthly window has unused slots it also keeps each group's
|
||||
// oldest snapshot. Only ever more kept; pinned by TestR1105_TheForgetPlanOnlyEverKeepsMore.)
|
||||
js := string(out)
|
||||
if i := strings.Index(js, "["); i > 0 {
|
||||
js = js[i:]
|
||||
|
||||
Reference in New Issue
Block a user