=head1 NAME VCP::Maintenance - VCP code maintenance tips & tricks =head1 SYNOPSIS VCPNODELETE=yes bin/hexdump.pl vcp revml: --dtd --save_dtd =head1 DESCRIPTION =head2 Environment Variables Some environment variables that are useful in debugging: =over =item VCPNODELETE Set this to C to tell C I to delete it's working directories. This allows you to take a look at them and see what the source and dest command lines saw. =item IPCRUNDEBUG Set this to some number from 0..10 to see how C (via L) is treating it's subprocesses. =item VCPDEBUG Set this to a regular expression to control what modules within C emit debugging messages. See also L for more details. =back In addition, both CVS and Perforce backends pay attention to the relevant environment variables. =head2 C C is useful for debugging issues involving line endings, embedded control code (esp. ^Z on Win32 and NULL on every platform, since most C programs die when encountering NULL in a text file). =head2 Updating the RevML DTD There is one command used for maintainance: C. This should not be necessary in the normal course of events; it's only needed if the RevML DTD has changed. Here's how it looks: This outputs the DTD to stdout if ChowE> is C<->, or to a file named like C if ChowE> looks like a version number (0.28 in this case), or in a module named ChowE> if ChowE> contains '::'. The generated file is placed in C<./lib/RevML/Doctype/> or C<./RevML/Doctype/> or C<./>, whichever is found first. No directories will be created. This does not update the L or L drivers to match the DTD, nor does it affect C, which is used by the test suite to build the RevML files used for testing. =head1 AUTHOR Barrie Slaymaker =head1 COPYRIGHT Copyright (c) 2000, 2001, Perforce Software, Inc. All rights reserved. See L (C) for the terms of use. =cut