A flag for matching gsutil gzip file extension/mime behavior

I have been working on porting some gsutil based scripts to use rclone and have discovered a difference in behavior with .gz extension local source files being copied to a bucket.

Here is an example of the different behaviors given a test file like test.js.gz which is gzipped via gzip test.js

Copying the file with gsutil:

$ gsutil cp test.js.gz gs://remote
$ gsutil ls -L gs://remote/test.js.gz | grep -i content-type
    Content-Type:           application/javascript

Copying the file with rclone:

$ rclone copy test.js.gz :gcs:remote
$ gsutil ls -L gs://remote/test.js.gz | grep -i content-type
    Content-Type:           application/gzip

gcloud storage ... also maintains the same behavior.

So they appear to set the content type based on the local file name mime without the .gz suffix.

I was hunting around for this behavior in rclone docs but could not find anything existing that looked applicable, so felt more like a new feature discussion.

Assuming I didn't miss any pre-existing setting that enabled this, it would be very convenient for this edge case to have a rclone flag like: --gcs-content-type-without-gz that would preserve the gsutil behavior.

My versions of tools for reference:

  • rclone v1.53.3-DEV (and tested with v1.64.0)
  • gsutil 5.25

Also happy to give a PR a shot, but wanted to get feedback if it was worth pursuing first!

Check out the --gcs-decompress flag that will enable you to decompress those files transparently which might help...

This topic was automatically closed 60 days after the last reply. New replies are no longer allowed.