qacli config udl

Manage the User Data Location (UDL) for this installation of Helix QAC.

Usage

udl  {-S <directory>|-L|--reset|--remove} [-G] [--] [-h]

Extended Description

Helix QAC is packaged with sample projects and a sample configuration, as well as compatibility configurations for various compilers. When you start Helix QAC for the first time, a copy of this data is made in what is called the User Data Location (UDL). The default location is user dependent and is specific to your OS:

  • Windows: %LOCALAPPDATA%\Perforce\Helix-QAC-<version>
  • Linux: $HOME/.config/Perforce/Helix-QAC-<version>

It is possible to clear or move the UDL to another location, to perhaps share the UDL amongst other users.

Options

Name, shorthand Default Description
‑‑global, ‑G  

By default, the ‑‑set and ‑‑reset options work on a user UDL, which is specific to each user. Use this option to set it at a global level i.e. for all users.

Note, the OS specific folder:

  • /etc/Perforce.d
  • %PROGRAMDATA%/Perforce

must already exist and the user must have permissions to read/write and delete files/directories below it.

‑‑help, ‑h   Displays usage information and exits.
‑‑ignore‑rest, ‑‑   Ignores the rest of the labeled arguments following this flag.
‑‑list, ‑L  

Returns the current user data location and type:

  • DEFAULT: Default location set by Helix QAC.
  • VARIABLE: UDL set by environment variable.
  • USER: User specified UDL, available to current user.
  • GLOBAL: User specified UDL, available to all users.
‑‑remove  

Removes user data from the current UDL. It will be re-populated with default values when Helix QAC is next invoked.

This operation is not reversible!
‑‑reset   Resets the UDL to its default value. By default, this will change the user UDL, which is specific to each user. Use the ‑‑global option to set at a global level i.e., for all users.
‑‑set, ‑‑S   Changes the UDL to this directory. For example, to allow for a common UDL to be shared amongst users. By default, this will change the user UDL, which is specific to each user. Use the ‑‑global option to set at a global level i.e., for all users.
The UDL can be changed using the ‑‑set option or by using an environmental variable, see HELIX_QAC_UDL.

The new UDL target directory must already exist, and you must have read/write/delete permissions on it.

Initially, no files are copied from the previous UDL. When the next Helix QAC command is issued, only the default files from the installation directory will be copied. If user created files from the previous location are required, they must be copied manually.

If using a Helix QAC GUI application, you should immediately restart the application to pick up the new UDL.

Examples

Use a Non-default User Data Location

To specify a non-default location, specific to a user, use a command such as:

qacli config udl --set /home/bob/QAC

This will place the UDL below the specified directory. The next time Helix QAC is run it will create and copy the necessary files into that location – the top-level directory will be called: Helix-QAC-<version>

Checking the User Data Location

To confirm the current UDL use the ‑‑list option:

qacli config udl --list

This will show the current UDL and its type:

  • DEFAULT: Default location set by Helix QAC.
  • VARIABLE: UDL set by environment variable.
  • USER: User specified UDL, available to current user.
  • GLOBAL: User specified UDL, available to all users.

Remove Contents from the Current User Data Location

To remove the contents of the current UDL, use a command such as:

qacli config udl --remove
This operation is not reversible!

The next time Helix QAC runs, it will create and copy the necessary files into that location – the top-level directory will be called: Helix-QAC-<version>

Reset to Default User Data Location

To reset to the default location, use a command such as:

qacli config udl --reset

The contents of the old UDL will not be removed. The next time Helix QAC is run it will create and copy the necessary files into that location – the top-level directory will be called: Helix-QAC-<version>

Specifying a User Data Location Using an Environment Variable

An environmental variable can be used to specify the UDL. This should be set (and retained) before any qacli commands are issued:

export HELIX_QAC_UDL=/home/neo/qac
qacli config udl --list

Specifying a Common User Data Location for All Users

This can be done either by setting an environmental variable (as described above) or by setting a global UDL, for example:

qacli config udl --set /tmp/QAC --global

This UDL will be used by all users of Helix QAC in this machine.