[tahoe-lafs-trac-stream] [Tahoe-LAFS] #2329: cp -r stops with an exception

Tahoe-LAFS trac at tahoe-lafs.org
Tue Jan 27 08:34:53 UTC 2015


#2329: cp -r stops with an exception
-------------------------+-------------------------------------------------
     Reporter:  zooko    |      Owner:  warner
         Type:  defect   |     Status:  assigned
     Priority:  major    |  Milestone:  1.10.1
    Component:  code-    |    Version:  1.10.0
  frontend-cli           |   Keywords:  regression tahoe-cp review-needed
   Resolution:           |  release-blocker
Launchpad Bug:           |
-------------------------+-------------------------------------------------

Comment (by warner):

 I think zooko's rule in comment:20 gives us:

 * `cp -r X local/`, where `local` already exists:

 ||= X           =||= 1.10          =||= trunk(e73d76e)     =||= rule
 comment:20    =||
 || PARENTCAP/dir || (A1) local/file || (F1) local/dir/file  || (F3)
 local/dir/file  ||
 || DIRCAP        || (B1) local/file || (G1) EXCEPTION-1     || (G3)
 local/file      ||
 || DIRCAP_ALIAS: || (C1) local/file || (H1) EXCEPTION-1     || (H3)
 local/file      ||
 || -             ||                 ||                      ||
 ||
 || DIRCAP/file   || (D1) local/file || (I1) local/file      || (I3)
 local/file      ||
 || FILECAP       || (E1) ERROR-2    || (J1) ERROR-2         || (J3)
 ERROR-2         ||

 * `cp -r X local/missing`, where `local` exists but `missing` does not:

 ||= X           =||= 1.10                  =||= trunk(e73d76e)
 =||= rule comment:20            =||
 || PARENTCAP/dir || (A2) local/missing/file || (F2) local/missing/dir/file
 || (F4) local/missing/dir/file  ||
 || DIRCAP        || (B2) local/missing/file || (G2) EXCEPTION-1
 || (G4) local/missing/file      ||
 || DIRCAP_ALIAS: || (C2) local/missing/file || (H2) EXCEPTION-1
 || (H4) local/missing/file      ||
 || -             ||                         ||
 ||                              ||
 || DIRCAP/file   || (D2) local/missing/file || (I2) local/missing/file
 || (I4) local/missing           ||
 || FILECAP       || (E2) EXCEPTION-3        || (J2) EXCEPTION-3
 || (J4) local/missing           ||

 Although:

 * this doesn't cover his rule 1.a, where the source is a directory but the
 target is a pre-existing file
 * we could probably get away with saying that "cp -r" on a file source is
 an error, if it made things cleaner (in J3/J4)

 Feel free to edit the table in this comment if I interpreted your
 proposal incorrectly.

--
Ticket URL: <https://tahoe-lafs.org/trac/tahoe-lafs/ticket/2329#comment:25>
Tahoe-LAFS <https://Tahoe-LAFS.org>
secure decentralized storage


More information about the tahoe-lafs-trac-stream mailing list