mirror of
https://github.com/restic/restic.git
synced 2024-12-21 23:33:03 +00:00
Issue 4433:
cmd_find: ability to define sort order for output of find command: Add option --reverse
This commit is contained in:
parent
6808004ad1
commit
12de59a55f
2 changed files with 11 additions and 0 deletions
5
changelog/unreleased/issue-4433
Normal file
5
changelog/unreleased/issue-4433
Normal file
|
@ -0,0 +1,5 @@
|
|||
Enhancement: allow to define sorting order of command restic find.
|
||||
Add option --reverse
|
||||
|
||||
https://github.com/restic/restic/issues/4433
|
||||
|
|
@ -3,6 +3,7 @@ package main
|
|||
import (
|
||||
"context"
|
||||
"encoding/json"
|
||||
"slices"
|
||||
"sort"
|
||||
"strings"
|
||||
"time"
|
||||
|
@ -56,6 +57,7 @@ type FindOptions struct {
|
|||
CaseInsensitive bool
|
||||
ListLong bool
|
||||
HumanReadable bool
|
||||
Reverse bool
|
||||
restic.SnapshotFilter
|
||||
}
|
||||
|
||||
|
@ -73,6 +75,7 @@ func init() {
|
|||
f.BoolVar(&findOptions.PackID, "pack", false, "pattern is a pack-ID")
|
||||
f.BoolVar(&findOptions.ShowPackID, "show-pack-id", false, "display the pack-ID the blobs belong to (with --blob or --tree)")
|
||||
f.BoolVarP(&findOptions.CaseInsensitive, "ignore-case", "i", false, "ignore case for pattern")
|
||||
f.BoolVarP(&findOptions.Reverse, "reverse", "R", false, "reverse sort order newest->oldest")
|
||||
f.BoolVarP(&findOptions.ListLong, "long", "l", false, "use a long listing format showing size and mode")
|
||||
f.BoolVar(&findOptions.HumanReadable, "human-readable", false, "print sizes in human readable format")
|
||||
|
||||
|
@ -628,6 +631,9 @@ func runFind(ctx context.Context, opts FindOptions, gopts GlobalOptions, args []
|
|||
sort.Slice(filteredSnapshots, func(i, j int) bool {
|
||||
return filteredSnapshots[i].Time.Before(filteredSnapshots[j].Time)
|
||||
})
|
||||
if opts.Reverse {
|
||||
slices.Reverse(filteredSnapshots)
|
||||
}
|
||||
|
||||
for _, sn := range filteredSnapshots {
|
||||
if f.blobIDs != nil || f.treeIDs != nil {
|
||||
|
|
Loading…
Reference in a new issue