|
|
@ -63,7 +63,8 @@ function ncp (source, dest, options, callback) { |
|
|
|
name: source, |
|
|
|
mode: stats.mode, |
|
|
|
mtime: stats.mtime, // modified time
|
|
|
|
atime: stats.atime // access time
|
|
|
|
atime: stats.atime, // access time
|
|
|
|
stats: stats // temporary
|
|
|
|
} |
|
|
|
|
|
|
|
if (stats.isDirectory()) { |
|
|
@ -110,14 +111,17 @@ function ncp (source, dest, options, callback) { |
|
|
|
} |
|
|
|
|
|
|
|
writeStream.once('finish', function () { |
|
|
|
if (preserveTimestamps) { |
|
|
|
utimes.utimesMillis(target, file.atime, file.mtime, function (err) { |
|
|
|
if (err) return onError(err) |
|
|
|
return doneOne() |
|
|
|
}) |
|
|
|
} else { |
|
|
|
doneOne() |
|
|
|
} |
|
|
|
fs.chmod(target, file.mode, function (err) { |
|
|
|
if (err) return onError(err) |
|
|
|
if (preserveTimestamps) { |
|
|
|
utimes.utimesMillis(target, file.atime, file.mtime, function (err) { |
|
|
|
if (err) return onError(err) |
|
|
|
return doneOne() |
|
|
|
}) |
|
|
|
} else { |
|
|
|
doneOne() |
|
|
|
} |
|
|
|
}) |
|
|
|
}) |
|
|
|
} |
|
|
|
|
|
|
@ -141,7 +145,12 @@ function ncp (source, dest, options, callback) { |
|
|
|
function mkDir (dir, target) { |
|
|
|
fs.mkdir(target, dir.mode, function (err) { |
|
|
|
if (err) return onError(err) |
|
|
|
copyDir(dir.name) |
|
|
|
// despite setting mode in fs.mkdir, doesn't seem to work
|
|
|
|
// so we set it here.
|
|
|
|
fs.chmod(target, dir.mode, function (err) { |
|
|
|
if (err) return onError(err) |
|
|
|
copyDir(dir.name) |
|
|
|
}) |
|
|
|
}) |
|
|
|
} |
|
|
|
|
|
|
|