dle 0.1.1 → 0.1.2
Sign up to get free protection for your applications and to get access to all the features.
- 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