ePages 6.10 - DE_EPAGES/Installer/API/XML/PatchExportDriver.pm

Package DE_EPAGES::XML::API::XML::PatchExportDriver

This module implements a SAX2 driver to export patch.xml

Example
use DE_EPAGES::XML::API::XML::PatchExportDriver qw (ExportPatch);
ExportPatch({'Cartridge'   => 'DE_EPAGES::Cartridge',
             'CVSPath'     => 'epages/epages5/AllOS/Cartridges',
             'OldRelease'  => 'release_2005_01_06',
             'NewRelease'  => 'release_2005_01_13',
            });

Package DE_EPAGES::Installer::API::XML::PatchExportDriver

@EXPORT_OK
ExportPatch

Functions

ExportPatch
getFiles

ExportPatch

makes the cvs diff, gets the oldversion, proposes new version, creates $ENV{'EPAGES_CARTRIDGES'}/$CartridgePath/Patches/Patch_$oldversion/patch.xml It is called by DE_EPAGES::Installer::Scripts::create_patch.pl. Before creating the patch.xml, you have to set a CVSROOT environment and call cvs login.

Syntax
ExportPatch($hData);
Example
use DE_EPAGES::XML::API::XML::PatchExportDriver qw (ExportPatch);
ExportPatch({'Cartridge'   => 'DE_EPAGES::Cartridge',
             'CVSPath'     => 'epages/epages5/AllOS/Cartridges',
             'OldRelease'  => 'release_2005_01_06',
             'NewRelease'  => 'release_2005_01_13',
            });
Input
$hData (ref.hash.*)
patch parameters, keys are
  • Cartridge - Cartridge Package - string
  • CVSPath - cvs repository to Cartridges - string
  • OldRelease - cvs label from old release - string
  • NewRelease - cvs label to new release - string

getFiles

Get a subset of cartridge files.

Syntax
$aLines = $self->getFiles($What, $Type, $SubType);
Input
$What (string)
required status (Removed|Changed|New)
Return
$Type (string)
(Database|Cartridge)
$SubType (string)
(SQL|Hooks|Forms|Standards|Dependencies|Objects|Directory|Files)
$aLines (ref.array.string)
list of file names with status, for example:
File RND/.../Dojo/Data/Public/FontChoice.js is new; current revision 1.1.2.1
File RND/.../Dojo/Data/Public/commands.js changed from revision 1.1.1.1.4.1 to 1.1.1.1.4.3
File RND/.../Dojo/Data/Public/dijit-all_ROOT.js is removed; not included in release tag release_6_0_6