Skip to content
Snippets Groups Projects
  • Jun Wu's avatar
    c059286a
    tests: replace "cp -r" with "cp -R" · c059286a
    Jun Wu authored
    The POSIX documentation about "cp" [1] says:
    
      ....
    
      RATIONALE
        ....
        Earlier versions of this standard included support for the -r option to
        copy file hierarchies. The -r option is historical practice on BSD and
        BSD-derived systems. This option is no longer specified by POSIX.1-2008
        but may be present in some implementations. The -R option was added as a
        close synonym to the -r option, selected for consistency with all other
        options in this volume of POSIX.1-2008 that do recursive directory
        descent.
    
        The difference between -R and the removed -r option is in the treatment
        by cp of file types other than regular and directory. It was
        implementation-defined how the - option treated special files to allow
        both historical implementations and those that chose to support -r with
        the same abilities as -R defined by this volume of POSIX.1-2008. The
        original -r flag, for historic reasons, did not handle special files any
        differently from regular files, but always read the file and copied its
        contents. This had obvious problems in the presence of special file
        types; for example, character devices, FIFOs, and sockets.
        ....
    
      ....
    
      Issue 6
        The -r option is marked obsolescent.
        ....
    
      Issue 7
        ....
        The obsolescent -r option is removed.
        ....
    
      (No "Issue 8" yet)
    
    Therefore it's clear that "cp -R" is strictly better than "cp -r".
    
    The issue was discovered when running tests on OS X after 0d87b1caed92.
    
    [1]: pubs.opengroup.org/onlinepubs/9699919799/utilities/cp.html
    c059286a
    History
    tests: replace "cp -r" with "cp -R"
    Jun Wu authored
    The POSIX documentation about "cp" [1] says:
    
      ....
    
      RATIONALE
        ....
        Earlier versions of this standard included support for the -r option to
        copy file hierarchies. The -r option is historical practice on BSD and
        BSD-derived systems. This option is no longer specified by POSIX.1-2008
        but may be present in some implementations. The -R option was added as a
        close synonym to the -r option, selected for consistency with all other
        options in this volume of POSIX.1-2008 that do recursive directory
        descent.
    
        The difference between -R and the removed -r option is in the treatment
        by cp of file types other than regular and directory. It was
        implementation-defined how the - option treated special files to allow
        both historical implementations and those that chose to support -r with
        the same abilities as -R defined by this volume of POSIX.1-2008. The
        original -r flag, for historic reasons, did not handle special files any
        differently from regular files, but always read the file and copied its
        contents. This had obvious problems in the presence of special file
        types; for example, character devices, FIFOs, and sockets.
        ....
    
      ....
    
      Issue 6
        The -r option is marked obsolescent.
        ....
    
      Issue 7
        ....
        The obsolescent -r option is removed.
        ....
    
      (No "Issue 8" yet)
    
    Therefore it's clear that "cp -R" is strictly better than "cp -r".
    
    The issue was discovered when running tests on OS X after 0d87b1caed92.
    
    [1]: pubs.opengroup.org/onlinepubs/9699919799/utilities/cp.html