=head1 NAME VCP::Maintenance - VCP code maintenance tips & tricks =head1 SYNOPSIS VCPNODELETE=yes bin/hexdump.pl vcp revml: --dtd <dtd file name> --save_dtd <how> =head1 DESCRIPTION =head2 Environment Variables Some environment variables that are useful in debugging: =over =item VCPNODELETE Set this to C<yes> to tell C<vcp> I<not> 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<vcp> (via L<IPC::Run|IPC::Run>) is treating it's subprocesses. =item VCPDEBUG Set this to a regular expression to control what modules within C<VCP::*> emit debugging messages. See also L<VCP::Debug|VCP::Debug> for more details. =back In addition, both CVS and Perforce backends pay attention to the relevant environment variables. =head2 C<hexdump.pl> C<bin/hexdump.pl> 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<save_dtd>. 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 C<E<lt>howE<gt>> is C<->, or to a file named like C<v0_28.pm> if C<E<lt>howE<gt>> looks like a version number (0.28 in this case), or in a module named C<E<lt>howE<gt>> if C<E<lt>howE<gt>> 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<VCP::Source::revml|VCP::Source::revml> or L<VCP::Dest::revml|VCP::Dest::revml> drivers to match the DTD, nor does it affect C<bin/gentrevml>, which is used by the test suite to build the RevML files used for testing. =head1 AUTHOR Barrie Slaymaker <barries@slaysys.com> =head1 COPYRIGHT Copyright (c) 2000, 2001, Perforce Software, Inc. All rights reserved. See L<VCP::License|VCP::License> (C<vcp help license>) for the terms of use. =cut
# | Change | User | Description | Committed | |
---|---|---|---|---|---|
#6 | 3974 | Barrie Slaymaker | - IPC::Run no longer required | ||
#5 | 3104 | John Fetkovich |
Added handling of VCPP4LICENSE environment variable in Dest::p4.pm. If that's present and pointing to a readable file when a p4 daemon is started, a symlink will be created in the (possibly newly created) p4root directory to point to the p4 license file pointed to by VCPP4LICENSE. The 'make' target test_all_p4_versions will cycle through each version of p4 and p4d contained in the 'p4versions' directory, in both unlicensed and (if VCPP4LICENSE present) licensed mode. |
||
#4 | 2783 | John Fetkovich | Changed 'Updating the RevML DTD' section to refer to compile_dtd command. | ||
#3 | 2414 | John Fetkovich | spelling fixes | ||
#2 | 1367 | Barrie Slaymaker | lots of docco updates | ||
#1 | 1359 | Barrie Slaymaker | Revamp the help system, clean up and add POD |