dle 0.1.1 → 0.1.2
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/VERSION +1 -1
- data/lib/dle/application/dispatch.rb +1 -1
- data/lib/dle/filesystem.rb +32 -26
- data/lib/dle/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 4e626d98336ab00f1eba38cdb2ac2c8ece8d117d
|
4
|
+
data.tar.gz: ad3b0e3b3957594f672b015138c8bfbf2559399a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8cd1db20c569827e03f16e675bfd91792b6320b0552c3b3db16539fc453eac678fa9e665274fd4dab144af89535b8001702524b093d82f1e07f9de9c5cc2ac4b
|
7
|
+
data.tar.gz: 799f52f04be31a2ff9ff45fa5c6ee71b029a899e271f301c6405607f38042788c339057450d181128e8ebab81c690964695ae85ef874c618af236f4803b0095f
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.1.
|
1
|
+
0.1.2
|
@@ -88,7 +88,6 @@ module Dle
|
|
88
88
|
end
|
89
89
|
end.perform do
|
90
90
|
@fs.reindex!
|
91
|
-
@fs.opts[:verbose] = false
|
92
91
|
end
|
93
92
|
end
|
94
93
|
abort("Base directory is empty or not readable", 1) if @fs.index.empty?
|
@@ -158,6 +157,7 @@ module Dle
|
|
158
157
|
|
159
158
|
# apply changes
|
160
159
|
log "#{@opts[:simulate] ? "Simulating" : "Applying"} changes..."
|
160
|
+
@fs.opts[:verbose] = false
|
161
161
|
total_actions = @delta.map{|_, nodes| nodes.count }.inject(&:+)
|
162
162
|
actions_performed = 0
|
163
163
|
begin
|
data/lib/dle/filesystem.rb
CHANGED
@@ -63,32 +63,38 @@ module Dle
|
|
63
63
|
logger.ensure_prefix c("[dFS]\t", :magenta) do
|
64
64
|
log "HD-BASE is " << c(dlfile[:HD_BASE], :magenta)
|
65
65
|
dlfile.each do |ino, snode|
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
66
|
+
begin
|
67
|
+
next if ino == :HD_BASE || ino == :HD_DOTFILES
|
68
|
+
node = @index[ino]
|
69
|
+
unless node
|
70
|
+
warn("INODE " << c(ino, :magenta) << c(" not found, ignore...", :red))
|
71
|
+
next
|
72
|
+
end
|
73
|
+
|
74
|
+
# flagged for removal
|
75
|
+
if %w[del delr delf delrf].include?(snode.mode)
|
76
|
+
r[:rm] << Softnode.new(node: node, snode: snode, is: node.relative_path)
|
77
|
+
next
|
78
|
+
end
|
79
|
+
|
80
|
+
# mode changed
|
81
|
+
if "#{snode.mode}".present? && "#{snode.mode}" != "cp" && "#{node.mode}" != "#{snode.mode}"
|
82
|
+
r[:chmod] << Softnode.new(node: node, snode: snode, is: node.mode, should: snode.mode)
|
83
|
+
end
|
84
|
+
|
85
|
+
# uid/gid changed
|
86
|
+
if "#{node.owngrp}" != "#{snode.uid}:#{snode.gid}"
|
87
|
+
r[:chown] << Softnode.new(node: node, snode: snode, is: node.owngrp, should: "#{snode.uid}:#{snode.gid}")
|
88
|
+
end
|
89
|
+
|
90
|
+
# path changed
|
91
|
+
if "#{node.relative_path}" != "#{snode.relative_path}"
|
92
|
+
r[snode.mode == "cp" ? :cp : :mv] << Softnode.new(node: node, snode: snode, is: node.relative_path, should: snode.relative_path)
|
93
|
+
end
|
94
|
+
rescue Errno::EPERM
|
95
|
+
warn "Operation not permitted - #{snode.relative_path}" if @opts[:verbose]
|
96
|
+
rescue Errno::ENOENT
|
97
|
+
warn "No such file or directory - #{snode.relative_path}" if @opts[:verbose]
|
92
98
|
end
|
93
99
|
end
|
94
100
|
end
|
data/lib/dle/version.rb
CHANGED