gsutil cp command copies entire directory path (on Windows) - bug?

user3610488 picture user3610488 · Jun 5, 2014 · Viewed 11.6k times · Source

I am having a problem where gsutil does not seem to follow the behavior described in the documentation (at least in Windows). The documentation states:


When performing recursive directory copies, object names are constructed that mirror the source directory structure starting at the point of recursive processing. For example, the command:

gsutil cp -R dir1/dir2 gs://my_bucket

will create objects named like gs://my_bucket/dir2/a/b/c, assuming dir1/dir2 contains the file a/b/c.


However, in practice I have found that it will create objects named:

gs://my_bucket/dir1/dir2/a/b/c

ie, it copies the entire directory path stated in the gsutil command, rather than "starting at the point of recursive processing" (dir2) as stated in the documentation.

Am I missing/misunderstanding something here?

Answer

JoshFire311 picture JoshFire311 · Jul 7, 2014

I noticed the same behavior when using the gsutil cp -R command with a similar directory structure. In order to copy the desired directory from within the 'dir2' level I used the command: gsutil rsync -r dir1/dir2 gs://mybucket