2. What changes when using CVS

When a Borges repository is integrated in a CVS environment, the bahavior of some targets is modified and some others become available. We detail this specificities in here.

Tip

If you prefer Borges not to issue any CVS command, even when you are working inside a CVS environment, add the option CVS=no to you make command lines.

2.1. Commands with Modified Behavior

Basically some commands that add new templates to the project add those new files automatically to the CVS.

Tip

If you don't want to mirror your changes on the CVS server when issuing commands locally, simply add option CVS=no to your command line when running following commands. Don't forget then to commit manually your changes to CVS afterwards.

adddoc

When adding a new document all template files created by Borges (entities, modules, image directories, etc.) are automatically added and committed to CVS. The same happens for the master.top.xml and all needed Makefiles. All this is done for all active languages.

addlang

The same occurs here, for all modules needed by all documents, as well as entities.

alltemplates

This target, executed in a super-document directory, generates all new module templates for all languages and adds them to CVS. This is useful when you just have added new modules to an existing super-document.

module.revision TYPE=pproof

When a module passes the pproof state (or whatever it is named according to step marked as 2translate) its content is copied to translation modules. Borges then automatically commits the translation modules to CVS.

module.revision

When you pass a revision on a module (even a .todo one) it is automatically committed with a standard log message indicating the task passed and the contributor. You can override this default message by providing your own changelog in the optional parameter CVSLOG.

2.2. New Useful Commands

Some new commands appear to ease the management of CVS sources from within Borges.

checkout

This target simply retrieves latest version from CVS and reconfigures the repository.

cvsinit

This target imports the current Borges repository to a CVS server. Consult Section 1, “Starting a New Project on CVS”.

master.top.commit

This target, executed in a super-document directory, will commit a modified super-document (master.top.xml) to CVS checking previously it is fully valid.

<module>.commit

This target, executed in a modules directory (moduless/en/ f.e.), will commit a modified module (<module>.xml) to CVS checking previously it is fully valid.

commit [modules="module1 module2 ..."]

This target, executed in a modules directory (moduless/en/ f.e.), will validate and commit all modified modules in current directory. Specifying the modules option will perform the action only on specified modules.

<image.ext>.commit

This target, executed in an images directory (images/en/ f.e.), will add and commit a modified image (<image.ext>) to CVS checking previously it is fully valid.

<entity>.commit

This target, executed in an entities directory (entities/en/ or manuals/My_Book/en/ f.e.), will add and commit a modified entities file (<entity>.ent) to CVS checking previously it is fully valid.

Tip

If you prefer not to provide the change log in the CVS editor (normally vi) every time you commit a file to CVS, you can provide your comments directly on the command line thanks to the CVSLOG option. For example

make mymodule.commit CVSLOG="Fixed the foo option syntax"

would directly commit changes made on module mymodule with specified chqangelog, without opening the text editor.