=head1 NAME p4delta - Summarize the differences between a Perforce project and local files. =head1 SYNOPSIS B [options] [file ...] =head1 DESCRIPTION Summarizes the differences between a Perforce project and local files, showing the changes of the files themselves and of their contents. Added, changed, and deleted files are denoted with `+', `*', and `-' respectively. The number of lines are displayed. =head1 OPTIONS =over 4 =item B<-c>, B<--confirm> Confirm deleted files with the user before removing them from Perforce. The default is simply to execute the remove command for relevant files. This option is valid only with the --execute option. =item B<-e>, B<--execute> Execute the associated Perforce commands ("add", "edit", and "remove") for the added, edited and deleted files. =item B<-f>, B<--force> Compare all local files against those in Perforce. The default is to compare only the local files that are opened. =item B<-h>, B<--help> Display a help message. =item B<-q>, B<--quiet> Run with minimum output. =item B<-v>, B<--version> Display the version and exit. =item B<-V>, B<--verbose> Run with maximum output. =back =head1 ARGUMENTS Arguments may be either files or directories. =over 4 =item B If a file is provided, it is compared against the equivalent in CVS, if any. The .cvsignore files are applied, so that although the file was explicitly provided, it may be ignored. =item B Directories are processed recursively for files that are not filtered out by .cvsignore files. =back =over 4 =item B If a file is provided, it is compared against the equivalent in Perforce, if any. .p4ignore files are applied, so that although the file was explicitly provided, it may be ignored. =item B Directories are processed recursively for files that are not filtered out by .p4ignore files. =back =head1 EXAMPLES % p4delta Lists the changed files. % p4delta --execute Lists the changed files, and executes the associated add, edit and remove commands. % p4delta --execute --confirm Add, edit and remove the appropriate files, but get confirmation from the user before removing any files. =head1 ENVIRONMENT =over 4 =item B<$HOME/.p4ignore>, B<.../project/.p4ignore> Files and directories may be filtered by .p4ignore files, locate both in the user's home directory and locally, in each directory. For example: *.bak *.class *.o *.out *~ .libs logs core See http://www.loria.fr/~molli/cvs/doc/cvs_18.html#SEC170 for how this is used in CVS, from which this idea was taken. =item B<$HOME/.p4deltarc>, B<.../project/.p4deltarc> Resource files containing name/value pairs, separated by either ':' or '='. The valid fields of a .p4deltarc file are as follows, with their default values: quiet: false verbose: false execute: false force: false "yes" and "on" are synonymnous with "true". "no" and "off" signify "false". The values in the project .p4deltarc file will override those in the user's .p4deltarc file. The project .p4deltarc is searched from the current directory up through each parent directory that is in Perforce. =item B A string of whitespace-delimited options, the same as listed above. These values override those of the resource files. =back =head1 NOTES If a file exists in the Perforce project but not locally, it is assumed that the file has been deleted, not that it may have been recently added by another user. The --confirm option can be used to deal with this situation. =head1 AUTHOR Jeff Pace =head1 COPYRIGHT Copyright (c) 2002, Jeff Pace. All Rights Reserved. This module is free software. It may be used, redistributed and/or modified under the terms of the Lesser GNU Public License. See http://www.gnu.org/licenses/lgpl.html for more information. =cut