about summary refs log tree commit homepage
path: root/lib/dtas
diff options
context:
space:
mode:
Diffstat (limited to 'lib/dtas')
-rw-r--r--lib/dtas/mlib.rb7
1 files changed, 5 insertions, 2 deletions
diff --git a/lib/dtas/mlib.rb b/lib/dtas/mlib.rb
index 3bfed8f..ffd0cc3 100644
--- a/lib/dtas/mlib.rb
+++ b/lib/dtas/mlib.rb
@@ -145,6 +145,7 @@ class DTAS::Mlib # :nodoc:
     # this generates
     opts ||= {}
     jobs = opts[:jobs] || 8
+    @force = opts[:force] || false
 
     init_suffixes
     st = File.stat(path) # we always follow the first dir even if it's a symlink
@@ -208,8 +209,10 @@ class DTAS::Mlib # :nodoc:
     return if @suffixes !~ path || st.size == 0
 
     # no-op if no change
-    if node = @db[:nodes][name: path, parent_id: parent_id]
-      return if st.ctime.to_i == node[:ctime] || node[:tlen] == DM_IGN
+    unless @force
+      if node = @db[:nodes][name: path, parent_id: parent_id]
+        return if st.ctime.to_i == node[:ctime] || node[:tlen] == DM_IGN
+      end
     end
 
     job = Job.new(@pwd, st.ctime.to_i, parent_id, path)