Configure file compression

Use compression to reduce the size of files in your Unity Version Control (UVCS) system, save storage space, and speed up data transfer.

You can use the compression.conf file on the UVCS client to select the compression type.

Find the compression.conf file in the following locations:

  • On Linux or macOS: $HOME/.plastic4.
  • On WIndows: C:\Users\user\AppData\Local\plastic4.
  • The root directory of your workspace.

Note: If you have a compression.conf file in both locations, UVCS combines the rules. If the same rule is specified with two different values, the first one to appear in the file takes precedence.

Compression methods

You can select the type of compression that UVCS uses to store a new revision of a file in your database. The following operations create new changesets, which may contain new revisions that the compression rules affect:

  • check-in
  • fast import
  • sync replication

The compression.conf file supports the following compression options:

  • None
  • .zip

If the compression.conf file doesn't exist then the compression type of any file is .zip.

compression.conf file configuration

Each line of the compression.conf file defines a compression type followed by a whitespace and a rule to match the file path. For example:

none .jpg
zip .txt

This example compression.conf file ensures that UVCS compresses all .txt files as .zip files but doesn't compress any .jpeg files.

Compression rules

You can specify different types of rules, and the following is the order of application:

  1. File path rule
  2. File name rule
  3. File extension rule
  4. Wildcard rule

For example:

  1. /dir/foo.png
  2. foo.png
  3. .png
  4. /**/foo*.???

If a file path matches with a path rule, that rule defines the compression type. If not, UVCS tries to match the file with a file name rule.

For example, if you have the following compression.conf file under the wkstest workspace and you perform a checkin on the main-test.png, user1-test.png and test-result.png files, UVCS checks in all the .png files but the /test01/main-test.png file with the .zip compression method:

zip .png
none /test01/main-test.png