@@ -76,7 +76,7 @@ function cpdirSyncRecursive(sourceDir, destDir, opts) {
7676 fs . symlinkSync ( symlinkFull , destFile , os . platform ( ) === "win32" ? "junction" : null ) ;
7777 } else {
7878 /* At this point, we've hit a file actually worth copying... so copy it on over. */
79- if ( fs . existsSync ( destFile ) && ! opts . force ) {
79+ if ( fs . existsSync ( destFile ) && opts . no_force ) {
8080 common . log ( 'skipping existing file: ' + files [ i ] ) ;
8181 } else {
8282 copyFileSync ( srcFile , destFile ) ;
@@ -92,7 +92,8 @@ function cpdirSyncRecursive(sourceDir, destDir, opts) {
9292//@ ### cp([options,] source_array, dest)
9393//@ Available options:
9494//@
95- //@ + `-f`: force
95+ //@ + `-f`: force (default behavior)
96+ //@ + `-n`: no-clobber
9697//@ + `-r, -R`: recursive
9798//@
9899//@ Examples:
@@ -106,7 +107,8 @@ function cpdirSyncRecursive(sourceDir, destDir, opts) {
106107//@ Copies files. The wildcard `*` is accepted.
107108function _cp ( options , sources , dest ) {
108109 options = common . parseOptions ( options , {
109- 'f' : 'force' ,
110+ 'f' : '!no_force' ,
111+ 'n' : 'no_force' ,
110112 'R' : 'recursive' ,
111113 'r' : 'recursive'
112114 } ) ;
@@ -133,7 +135,7 @@ function _cp(options, sources, dest) {
133135 common . error ( 'dest is not a directory (too many sources)' ) ;
134136
135137 // Dest is an existing file, but no -f given
136- if ( exists && stats . isFile ( ) && ! options . force )
138+ if ( exists && stats . isFile ( ) && options . no_force )
137139 common . error ( 'dest file already exists: ' + dest ) ;
138140
139141 if ( options . recursive ) {
@@ -184,7 +186,7 @@ function _cp(options, sources, dest) {
184186 }
185187 }
186188
187- cpdirSyncRecursive ( src , newDest , { force : options . force } ) ;
189+ cpdirSyncRecursive ( src , newDest , { no_force : options . no_force } ) ;
188190 }
189191 return ; // done with dir
190192 }
@@ -197,7 +199,7 @@ function _cp(options, sources, dest) {
197199 if ( fs . existsSync ( dest ) && fs . statSync ( dest ) . isDirectory ( ) )
198200 thisDest = path . normalize ( dest + '/' + path . basename ( src ) ) ;
199201
200- if ( fs . existsSync ( thisDest ) && ! options . force ) {
202+ if ( fs . existsSync ( thisDest ) && options . no_force ) {
201203 common . error ( 'dest file already exists: ' + thisDest , true ) ;
202204 return ; // skip file
203205 }
0 commit comments