DVT e Language IDE User Guide
Rev. 24.1.12, 12 June 2024

38.53 How to automatically checkout/lock files from the revision control system ?

Let's suppose your project is tracked by a revision control system, for example Perforce, DesignSync or Clearcase, that keeps non checked out files read-only. In this scenario, you can instruct DVT to perform some actions on any read-only file that gets modified by direct editing or by refactoring:

  1. Create a new run configuration, named DVT_CHECKOUT_HOOK.

  2. In the newly created run configuration, add any script or command you wish to be performed on the read-only files that get modified. The list of files is in ${selected_resources_loc} variable, by default separated by colon (:). This doesn't work with ${selected_resource_loc}, only with the plural form ${selected_resources_loc}. You can use custom separators. See the examples below, supposing the list of files is: file1.e, file2.sv, file3.vhdl.

    • ${selected_resources_loc} would expand to file1.e:file2.sv:file3.vhdl

    • ${selected_resources_loc: } would expand to file1.e file2.sv file3.vhdl

    • ${selected_resources_loc: >> } would expand to file1.e >> file2.sv >> file3.vhdl

  3. You can now use the DVT_CHECKOUT_HOOK run configuration in two ways:

    • simply start to modify a read-only file and it will get triggered automatically

    • select some files (in the Navigator) and manually launch the "DVT_CHECKOUT_HOOK" run configuration; note that you can map the run configuration to a toolbar button (see Custom Shortcut and Button for a Run Configuration)

Also, you can disable the checkout confirmation by inserting the following attribute in the DVT_CHECKOUT_HOOK run configuration file: <booleanAttribute key="ro.amiq.dvt.launch.REQUIRE_CHECKOUT_CONFIRMATION" value="false"/>