From 8cd98ef6c1d0e6399528bc1302bb290f9a0307d0 Mon Sep 17 00:00:00 2001 From: Alan Knowles Date: Sun, 9 May 2010 08:49:07 +0800 Subject: [PATCH] sync --- File.js | 32 ++++++++++++++++++++++---------- 1 file changed, 22 insertions(+), 10 deletions(-) diff --git a/File.js b/File.js index f82bd6a..a704c9e 100755 --- a/File.js +++ b/File.js @@ -138,20 +138,32 @@ var File = { * */ silentRecursiveCopy : function (fromDir, toDir, opts) { + var filesToCopy = File.recursiveListing(fromDir); var srcPath, destPath, src, dest; - + if (typeof(opts) =='undefined') { + opts = Gio.FileCopyFlags.NONE; + } + for (var index in filesToCopy) { - srcPath = File.join(String(fromDir), filesToCopy[index]); - destPath = File.join(String(toDir), filesToCopy[index]); + srcPath = File.join(String(fromDir), filesToCopy[index]); + destPath = File.join(String(toDir), filesToCopy[index]); - if (File.isFile(srcPath) && !File.isFile(destPath)) { + if (File.isDirectory(srcPath) && !File.isDirectory(destPath)) { + File.mkdir(destPath); + continue; + } + // source is not file..?!?!? + if (!File.isFile(srcPath)) { + continue; + } + if (File.isFile(destPath) && opts == Gio.FileCopyFlags.NONE) { + // do not overwrite.. - if file exists and we are not flaged to overwrite. + continue; + } + File.copyFile(srcPath, destPath, opts); - } - else if (File.isDirectory(srcPath) && !File.isDirectory(destPath)) { - File.mkdir(destPath); - } - + } }, @@ -173,7 +185,7 @@ var File = { */ copyFile : function (srcPath, destPath, opts) { if (typeof(opts) =='undefined') { - opts = Gio.FileCopyFlags.NONE + opts = Gio.FileCopyFlags.NONE; } var dest = Gio.file_new_for_path(String(destPath)); var src = Gio.file_new_for_path(String(srcPath)); -- 2.39.2