Review Request: https://bugzilla.redhat.com/show_bug.cgi?id=1082341
There are two files within the shelljs software (cp.js and rm.js) that "adapts" some code from wrench.js.
Upstream shelljs project: https://github.com/arturadib/shelljs
The original wrench.js: http://jamielinux.fedorapeople.org/shelljs/wrench.js
== cp.js ==
This is cp.js from shelljs (in which the function "cpdirSyncRecursive" is adapted from wrench.js): http://jamielinux.fedorapeople.org/shelljs/cp.js
And here is just the "copyDirSyncRecursive" function taken from wrench.js: http://jamielinux.fedorapeople.org/shelljs/wrench-cp.js
Key differences include: Logging Parsing a "force" option Removes options for preserving timestamp Removes options for ignoring hidden files Checks if destination file exists before copying Although general flow/structure of the function is similar, the code has been refactored significantly enough to make a diff quite useless at comparing the two
== rm.js ==
This is rm.js from shelljs (in which the function "rmdirSyncRecursive" is adapted from wrench.js): http://jamielinux.fedorapeople.org/shelljs/rm.js
And here is just the "rmdirSyncRecursive" function taken from wrench.js: http://jamielinux.fedorapeople.org/shelljs/wrench-rm.js
Key differences include: Logging Parsing "force" and "recursive" options Checks if the user has write permissions before deleting Removes some difference in logic for running on Windows * Although general flow/structure of the function is similar, the code has been refactored significantly enough to make a diff quite useless at comparing the two
== Comments ==
wrench.js is a much bigger project than just the two functions that shelljs adapts from it. The changes are significant enough that likely neither project are interested in the direction that the other is going, nor is it really feasible to "push" changes upstream as their goals and scope for these functions are different.
Since these are forks you are free to use them without virtual provides.
Log in to comment on this ticket.