snapshot_archive 0.22.0 → 0.24.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.gitignore +1 -0
- data/exe/snap +14 -1
- data/lib/snapshot_archive/cli.rb +2 -2
- data/lib/snapshot_archive/repositories.rb +5 -2
- data/lib/snapshot_archive/shell.rb +2 -2
- data/lib/snapshot_archive/version.rb +1 -1
- metadata +2 -3
- data/Gemfile.lock +0 -46
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a3540549c3bf29dc56aa3c7c8455e00233cb0fbb6c41dcc6520501059641b789
|
4
|
+
data.tar.gz: d0fb23ec4ff95d45c3e7dedba14f17de9311ca837434264bd2bf34619dceb14b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ab1279db3293e46d6e798f2229e69cf7af42f212b250a6910ea20f0b4706a58ebec75afa1c7e2b57e0b921b5f32d6fa37648ffe341dc2d042872313798ff8095
|
7
|
+
data.tar.gz: 1d2e8638e15b9d46352e74c4b9d9da92d30f28cbf4e5fb391b70eaa0c03866846da2722955dd3def39cd56d7fc00f4004e5f1c0a512079a4ee4328ea417298b8
|
data/.gitignore
CHANGED
data/exe/snap
CHANGED
@@ -98,9 +98,22 @@ module SnapshotArchive
|
|
98
98
|
command(:list) do |c|
|
99
99
|
c.syntax = "snap list"
|
100
100
|
c.description = "List available snapshots"
|
101
|
+
c.option(
|
102
|
+
"-o NUMBER_OF_DAYS",
|
103
|
+
"--older-than-days NUMBER_OF_DAYS",
|
104
|
+
Numeric,
|
105
|
+
<<~TXT
|
106
|
+
Limit the list to snapshots older than NUMBER_OF_DAYS days. This can
|
107
|
+
be useful for identifying old snapshots to delete.
|
108
|
+
|
109
|
+
Defaults to 0.
|
110
|
+
TXT
|
111
|
+
)
|
101
112
|
|
102
113
|
c.action do |_args, options|
|
103
|
-
|
114
|
+
options.default(older_than_days: 0)
|
115
|
+
|
116
|
+
SnapshotArchive::Cli.list(older_than_days: options.older_than_days)
|
104
117
|
end
|
105
118
|
end
|
106
119
|
|
data/lib/snapshot_archive/cli.rb
CHANGED
@@ -42,13 +42,16 @@ module SnapshotArchive
|
|
42
42
|
Cfg.shell.info("Restored snapshot: #{id}")
|
43
43
|
end
|
44
44
|
|
45
|
-
def list
|
45
|
+
def list(older_than_days:)
|
46
46
|
snapshots = (
|
47
47
|
Dir
|
48
48
|
.glob(File.join(path, "**/metadata.json"))
|
49
49
|
.map { |metadata| JSON.parse(File.read(metadata)) }
|
50
50
|
.sort_by { |metadata| metadata.fetch("timestamp") }
|
51
51
|
.reverse
|
52
|
+
.select { |m|
|
53
|
+
Time.parse(m.fetch("timestamp")) < (Time.now - (older_than_days.to_i * 24 * 60 * 60))
|
54
|
+
}
|
52
55
|
)
|
53
56
|
|
54
57
|
if snapshots.count > 0
|
@@ -56,7 +59,7 @@ module SnapshotArchive
|
|
56
59
|
Formatters::List.call(metadata)
|
57
60
|
end
|
58
61
|
else
|
59
|
-
Cfg.shell.info("No snapshots
|
62
|
+
Cfg.shell.info("No snapshots found")
|
60
63
|
end
|
61
64
|
end
|
62
65
|
|
@@ -16,9 +16,9 @@ module SnapshotArchive
|
|
16
16
|
def run(cmd)
|
17
17
|
debug(cmd)
|
18
18
|
|
19
|
-
`#{cmd}`
|
19
|
+
`#{cmd} 2>&1`
|
20
20
|
.split("\n")
|
21
|
-
.tap { raise CommandFailureError.new(cmd) unless $? == 0 }
|
21
|
+
.tap { raise CommandFailureError.new([cmd, _1].join("\n---\n")) unless $? == 0 }
|
22
22
|
end
|
23
23
|
|
24
24
|
def warn(msg)
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: snapshot_archive
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.24.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Pete Kinnecom
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2024-
|
11
|
+
date: 2024-04-01 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: commander
|
@@ -37,7 +37,6 @@ files:
|
|
37
37
|
- ".ruby-version"
|
38
38
|
- CODE_OF_CONDUCT.md
|
39
39
|
- Gemfile
|
40
|
-
- Gemfile.lock
|
41
40
|
- LICENSE.txt
|
42
41
|
- README.md
|
43
42
|
- Rakefile
|
data/Gemfile.lock
DELETED
@@ -1,46 +0,0 @@
|
|
1
|
-
PATH
|
2
|
-
remote: .
|
3
|
-
specs:
|
4
|
-
snapshot_archive (0.7.0)
|
5
|
-
commander (~> 4.5)
|
6
|
-
|
7
|
-
GEM
|
8
|
-
remote: https://rubygems.org/
|
9
|
-
specs:
|
10
|
-
ast (2.4.2)
|
11
|
-
commander (4.6.0)
|
12
|
-
highline (~> 2.0.0)
|
13
|
-
highline (2.0.3)
|
14
|
-
parallel (1.22.1)
|
15
|
-
parser (3.1.1.0)
|
16
|
-
ast (~> 2.4.1)
|
17
|
-
rainbow (3.1.1)
|
18
|
-
rake (13.0.6)
|
19
|
-
regexp_parser (2.3.0)
|
20
|
-
rexml (3.2.5)
|
21
|
-
rubocop (1.27.0)
|
22
|
-
parallel (~> 1.10)
|
23
|
-
parser (>= 3.1.0.0)
|
24
|
-
rainbow (>= 2.2.2, < 4.0)
|
25
|
-
regexp_parser (>= 1.8, < 3.0)
|
26
|
-
rexml
|
27
|
-
rubocop-ast (>= 1.16.0, < 2.0)
|
28
|
-
ruby-progressbar (~> 1.7)
|
29
|
-
unicode-display_width (>= 1.4.0, < 3.0)
|
30
|
-
rubocop-ast (1.16.0)
|
31
|
-
parser (>= 3.1.1.0)
|
32
|
-
ruby-progressbar (1.11.0)
|
33
|
-
unicode-display_width (2.1.0)
|
34
|
-
|
35
|
-
PLATFORMS
|
36
|
-
aarch64-linux
|
37
|
-
x86_64-darwin-19
|
38
|
-
x86_64-darwin-20
|
39
|
-
|
40
|
-
DEPENDENCIES
|
41
|
-
rake (~> 13.0)
|
42
|
-
rubocop (~> 1.7)
|
43
|
-
snapshot_archive!
|
44
|
-
|
45
|
-
BUNDLED WITH
|
46
|
-
2.2.17
|