Roderich Schupp > VCS-CMSynergy-1.28 > project_diff

Download:
VCS-CMSynergy-1.28.tar.gz

Annotate this POD

CPAN RT

Open  0
Report a bug
Source   Latest Release: VCS-CMSynergy-1.29

NAME ^

project_diff - show differences between two projects

SYNOPSIS ^

project_diff [options] old_project new_project

  old_project, new_project
              project specs, either in the form "proj_vers"
              or as four part objectname

  Common options:

  -D PATH | --database PATH       database path
  -H HOST | --host HOST           engine host
  -U NAME | --user NAME           user name
  -P STRING | --password STRING   user's password
  --ui_database_dir PATH          path to copy database information to

  Options:

  -t | --terse       terse diff listing (default)
  -d | --diff        produce diff listing like "diff -ur"
  -p | --patch       produce patch listing like "diff -urN"
  -h | --hide        hide contents of added/deleted subtrees (for --terse)
  -r | --recursive   recurse into sub projects

DESCRIPTION ^

project_diff shows the differences between two projects in terms of the workarea paths of the projects' members. It does not need maintained workareas, though.

--terse listing (default)

project_diff traverses both projects and outputs the differences in the following form:

  a toolkit-1.0:project:1 2002-11-26 23:26:36     released
  b toolkit-darcy:project:1       2002-12-17 01:46:21     working
  ! toolkit/editor/sources/main.c main.c-1:csrc:2 main.c-2:csrc:2
  + toolkit/guilib/includes/fonts.h fonts.h-1:incl:1
  ! toolkit/guilib/makefile makefile-1:makefile:3 makefile-2:makefile:3
  + toolkit/guilib/sources/fonts.c fonts.c-1:csrc:1
  ! toolkit/misc/readme readme-1:ascii:1 readme-2:ascii:1

After the two header lines showing information about the projects, lines start with one of +, -, or !, followed by the workarea pathname of the object in the project, followed by additional information:

+

marks an object added in new_project, its objectname is given as additional info

-

marks an object deleted from old_project, its objectname is given as additional info

!

marks an object that has a different version in old_project and new_project, the objectnames are given as additional info

All objects in a added/deleted subtree are shown. This can be suppressed with option --hide which will only show the root of such a subtree.

--diff listing

With this option the output resembles that of diff -ur:

  Only in a: vc/CMSynergy/Users.pm
  Only in a: vc/CMSynergy/users.pl
  --- a/vc/MANIFEST     2002-08-02 14:39:43.000000000 +0200
  +++ b/vc/MANIFEST     2004-05-04 17:25:15.000000000 +0200
  @@ -1,11 +1,32 @@
  -CMSynergy.pm
  -CMSynergy/Users.pm
  +lib/VCS/CMSynergy.pm
  +lib/VCS/CMSynergy/Client.pm
  ...
  Only in b: vc/META.yml
  --- a/vc/Makefile.PL  2002-08-02 14:39:43.000000000 +0200
  +++ b/vc/Makefile.PL  2004-05-03 13:35:10.000000000 +0200
  @@ -1,16 +1,110 @@
   use ExtUtils::MakeMaker;
  +use Config;
  +use strict;
  ...

Files that are only present in one project are indicated by "Only in a: ..." or "Only in b: ..." lines. Differences in directories (i.e. both objects are of cvtype "dir", but different versions) are not shown. An object that changes cvtype from "dir" to non-"dir" or vice versa is indicated by a line of the form:

  File a/foo is a regular file while file b/foo is a directory

Note that --diff implies --hide (the top of a added/deleted subtree is still indicated by a "Only in ..." line).

--patch listing

With this option the output resembles that of diff -urN. This is the same as --diff output except that "absent" objects are treated as empty files and added/deleted subtrees are not hidden. This listing is suitable to "patch up" a checked out old_project to a copy of new_project with the command:

  patch -p1 -E < project.patch

OPTIONS ^

-r, --recursive

Traverse also subprojects.

-h, --hide

Hide added/deleted subtrees in --terse output format.

CCM OPTIONS

See "GetOptions" in VCS::CMSynergy::Helper.

EXIT STATUS ^

Exit status is 0 if the projects are identical, 1 if some differences were found, 2 if some error occurred.

AUTHORS ^

Roderich Schupp, argumentum GmbH <schupp@argumentum.de>