Previous: Project Naming, Up: Permanent Subprojects


Command Directory

Most of the revision control systems out there can perform in any of the project's subdirectories. For that and other technical reasons, Patcher will normally execute all commands in the specified (sub)directory of the specified (sub)project. This principle does not always hold however. For example, PRCS (weird, did I mention it already?) can only work in the project's root directory.

If you want to define projects for which the revision control system can be executed in only one directory, Patcher provides you with the :command-directory project option (a string). This directory must be provided relative to the project's directory (but note that it must usually go upwards).

All commands (diff and commit ones) will be executed from there. Also, note that the command directory does not change the way you might specify files. Patcher modifies all needed paths automatically to handle the command directory properly. This means that you should continue to specify files relatively to the (sub)project's (sub)directory, regardless of the existence of a command directory.

When needed, a command directory should always be specified in a project (in which case it will most likely be the same as the project's directory) and never in subprojects. Otherwise, temporary subprojects would fail to get it.