SVK::Help::Environment - A list of svk's environment variables


A number of system environment variables influence how svk runs. Below is a complete list of variables you can use to alter svk's behavior.

All Platforms


Unless you tell it otherwise, svk stores your configuration and repository in $HOME/.svk. If you set SVKROOT to a path on disk, svk will look there instead of in $HOME/.svk.


Sometimes, svk needs to pop up a text editor. svk first tries to launch the editor specified in $SVN_EDITOR and falls back to $EDITOR if that's not defined.


If you'd prefer to use an external "diff" tool instead of svk's builtin diff library, set this variable to your tool's name or path.


svk lets you resolve conflicts, interactively, with a text editor or use an external diff tool. Out of the box, svk comes with support for the following merge tools:


If you want svk to spawn a specific merge tool, set this variable to the tool's name.


The lowest log level that svk will present to the user. The log levels are: DEBUG, INFO, WARN, ERROR and FATAL. The default log level is INFO; this includes progress messages for long-running commands (such as sync). For non-interactive use (such as for cron jobs) it might be useful to set $SVKLOGLEVEL to WARN.


If you set this variable, svk's interactive resolver will always perform the command it's set to. For more details about the commands available in svk's interactive resolver, type perldoc SVK::Resolve.


Indicates which module is used for automatically detecting the MIME types of files. Implementations included with core SVK are: "File::LibMagic", "File::MMagic", "File::Type" and "Internal". The value "Internal" means to use SVK's own internal MIME detection algorithm which requires no external modules. This poor, but fast algorithm simply assigns "application/octet-stream" to anything that looks binary. If $SVKMIME has no value, "Internal" is used.


When svk needs to pipe long output through a pager, it uses $SVKPAGER to send the output to your display. If this variable is not set or set to something that's not executable, the output will not be paged. svk ignores your $PAGER setting, so you must explicitly set $SVKPAGER if you want paging.


By specifying this variable, you change the default output filter used by the svk log command. The value of this variable can be anything that you can pass to svk log's --output option.


When you set this variable to a true value, SVK should never prompt the user for an interactive response.


By default, svk creates its local repository as a fsfs repository when running on Subversion 1.1 and newer. On Subversion 1.0, SVK defaults to bdb. To explicitly specify a repository type, set this variable to fsfs or bdb.


By default, svk tries to make use of the replay api provided by Subversion if available. You can turn this environment variable on to tell svk not to do so. svk will then use the old SVN::Mirror module to do mirroring.


(For debugging use only.) If this environment variable is set to a true value, any error message which comes from the Subversion libraries will be accompanied by a stack backtrace.


svk supports the verification of historical changesets using the Gnu Privacy Guard. Note that SVK no longer allows users to sign new changesets. By default, svk tries to run the first program called gpg in your path. To tell svk to use a specific gpg executable, set this variable to the executable's name or path.


These variables only apply to svk on Windows.


Set this variable to the directory you install programs into. It defaults to 'C:\Program Files'.