restic/changelog
Winfried Plappert 5148608c39 restic rewrite include - based on restic 0.18.1
cmd/restic/cmd_rewrite.go:
introduction of include filters for this command:
- add include filters, add error checking code
- add new parameter 'keepEmptyDirectoryFunc' to 'walker.NewSnapshotSizeRewriter()',
  so empty directories have to be kept to keep the directory structure intact
- add parameter 'keepEmptySnapshot' to 'filterAndReplaceSnapshot()' to keep snapshots
  intact when nothing is to be included
- introduce helper function 'gatherIncludeFilters()' and 'gatherExcludeFilters()' to
  keep code flow clean

cmd/restic/cmd_rewrite_integration_test.go:
add several new tests around the 'include' functionality

internal/filter/include.go:
this is where is include filter is defined

internal/walker/rewriter.go:
- struct RewriteOpts gains field 'KeepEmtpyDirectory', which is a 'NodeKeepEmptyDirectoryFunc()'
  which defaults to nil, so that al subdirectories are kept
- function 'NewSnapshotSizeRewriter()' gains the parameter 'keepEmptyDirecoryFilter' which
  controls the management of empty subdirectories in case of include filters active

internal/data/tree.go:
gains a function Count() for checking the number if node elements in a newly built tree

internal/walker/rewriter_test.go:
function 'NewSnapshotSizeRewriter()' gets an additional parameter nil to keeps things happy

cmd/restic/cmd_repair_snapshots.go:
function 'filterAndReplaceSnapshot()' gets an additional parameter 'keepEmptySnapshot=nil'

doc/045_working_with_repos.rst:
gets to mention include filters

changelog/unreleased/issue-4278:
the usual announcement file

git rebase master -i produced this

restic rewrite include - keep linter happy

cmd/restic/cmd_rewrite_integration_test.go:
linter likes strings.Contain() better than my strings.Index() >= 0
2026-01-31 19:42:56 +00:00
..
0.6.0_2017-05-29 Update changelog/ for new version of calens 2018-02-16 23:05:58 +01:00
0.6.1_2017-06-01 Update changelog/ for new version of calens 2018-02-16 23:05:58 +01:00
0.7.0_2017-07-01 Update changelog/ for new version of calens 2018-02-16 23:05:58 +01:00
0.7.1_2017-07-22 Fix typo in changelog 2021-08-21 12:16:04 +02:00
0.7.2_2017-09-13 Update changelog/ for new version of calens 2018-02-16 23:05:58 +01:00
0.7.3_2017-09-20 Update changelog/ for new version of calens 2018-02-16 23:05:58 +01:00
0.8.0_2017-11-26 Fix typos 2023-12-06 13:11:55 +01:00
0.8.1_2017-12-27 Update changelog/ for new version of calens 2018-02-16 23:05:58 +01:00
0.8.2_2018-02-17 Move changelog typo fixes to changelog files 2023-12-23 14:05:47 +01:00
0.8.3_2018-02-26 Fix typos 2023-12-06 13:11:55 +01:00
0.9.0_2018-05-21 Fix typos 2023-12-06 13:11:55 +01:00
0.9.1_2018-06-10 Fix changelog entry 2018-06-10 11:29:57 +02:00
0.9.2_2018-08-06 Create changelog/ release subdir for 0.9.2 2018-08-06 21:28:16 +02:00
0.9.3_2018-10-13 Fix typos 2023-12-06 13:11:55 +01:00
0.9.4_2019-01-06 Create changelog dir for 0.9.4 2019-01-06 21:39:56 +01:00
0.9.5_2019-04-23 Move changelog entry for #2179 2019-11-24 15:15:19 +01:00
0.9.6_2019-11-22 Fix typos 2023-12-06 13:11:55 +01:00
0.10.0_2020-09-19 fix some typos 2024-03-11 14:35:12 +08:00
0.11.0_2020-11-05 Move changelog typo fixes to changelog files 2023-12-23 14:05:47 +01:00
0.12.0_2021-02-14 replace all uses of target in relation to backup 2024-07-24 19:40:53 +02:00
0.12.1_2021-08-03 Prepare changelog for 0.12.1 2021-08-03 11:45:19 +02:00
0.13.0_2022-03-26 Prepare changelog for 0.13.0 2022-03-26 20:09:39 +01:00
0.14.0_2022-08-25 doc: Correct two typos 2023-10-27 19:48:00 +02:00
0.15.0_2023-01-12 Prepare changelog for 0.15.0 2023-01-12 20:50:44 +01:00
0.15.1_2023-01-30 Prepare changelog for 0.15.1 2023-01-30 20:43:15 +01:00
0.15.2_2023-04-24 Prepare changelog for 0.15.2 2023-04-24 20:28:24 +02:00
0.16.0_2023-07-31 replace all uses of target in relation to backup 2024-07-24 19:40:53 +02:00
0.16.1_2023-10-24 Prepare changelog for 0.16.1 2023-10-24 20:02:29 +02:00
0.16.2_2023-10-29 Prepare changelog for 0.16.2 2023-10-29 19:50:04 +01:00
0.16.3_2024-01-14 Prepare changelog for 0.16.3 2024-01-14 20:21:19 +01:00
0.16.4_2024-02-04 Prepare changelog for 0.16.4 2024-02-04 19:50:34 +01:00
0.16.5_2024-07-01 Prepare changelog for 0.16.5 2024-07-01 21:25:33 +02:00
0.17.0_2024-07-26 Prepare changelog for 0.17.0 2024-07-26 11:28:55 +02:00
0.17.1_2024-09-05 Prepare changelog for 0.17.1 2024-09-05 21:25:19 +02:00
0.17.2_2024-10-27 Prepare changelog for 0.17.2 2024-10-27 16:37:08 +01:00
0.17.3_2024-11-08 Prepare changelog for 0.17.3 2024-11-08 20:36:25 +01:00
0.18.0_2025-03-27 Fix release note typos 2025-09-06 21:59:11 +02:00
0.18.1_2025-09-21 Prepare changelog for 0.18.1 2025-09-21 20:03:56 +02:00
unreleased restic rewrite include - based on restic 0.18.1 2026-01-31 19:42:56 +00:00
changelog-github.tmpl Fix indentation of blockquotes in github release notes 2024-10-18 21:47:59 +02:00
CHANGELOG.tmpl cleanup changelog whitespace 2024-01-08 21:33:05 +01:00
TEMPLATE Changelogs should omit problem if it duplicates the new behavior 2024-09-14 20:54:27 +02:00