Fix inflateSymlinks flag errors for absolute symlinks

This commit is contained in:
xzyfer 2014-02-10 17:00:34 +11:00
parent 65e80e5788
commit b0455c99ba
2 changed files with 40 additions and 3 deletions

View file

@ -281,18 +281,19 @@ exports.copyDirSyncRecursive = function(sourceDir, newDirLocation, opts) {
exports.copyDirSyncRecursive(_path.join(sourceDir, files[i]), _path.join(newDirLocation, files[i]), opts);
} else if(currFile.isSymbolicLink()) {
var symlinkFull = fs.readlinkSync(_path.join(sourceDir, files[i]));
symlinkFull = _path.resolve(fs.realpathSync(sourceDir), symlinkFull);
if (typeof opts !== 'undefined' && !opts.inflateSymlinks) {
fs.symlinkSync(symlinkFull, _path.join(newDirLocation, files[i]));
continue;
}
var tmpCurrFile = fs.lstatSync(_path.join(sourceDir, symlinkFull));
var tmpCurrFile = fs.lstatSync(symlinkFull);
if (tmpCurrFile.isDirectory()) {
exports.copyDirSyncRecursive(_path.join(sourceDir, symlinkFull), _path.join(newDirLocation, files[i]), opts);
exports.copyDirSyncRecursive(symlinkFull, _path.join(newDirLocation, files[i]), opts);
} else {
/* At this point, we've hit a file actually worth copying... so copy it on over. */
fCopyFile(_path.join(sourceDir, symlinkFull), _path.join(newDirLocation, files[i]));
fCopyFile(symlinkFull, _path.join(newDirLocation, files[i]));
}
} else {
/* At this point, we've hit a file actually worth copying... so copy it on over. */