Package DE_EPAGES::Installer::API::CVSTagHandler
Collection of utility functions for tag process
Base |
DE_EPAGES::Core::API::CVS |
Functions
- contentChanged
- getChangedFiles
- getChangedFilesWithChangedContent
- getChangedFilesWithUnchangedContent
- getEngineerForTag
- getLatestCorrespondingHotFixTag
- getRevision
- patchAffectedFile
- removeTag
- sendPatchFileMail
- setTag
- updatePatchTag
- updateReleaseTag
contentChanged
returns true if the content changed between revisions tagged with specific tags
Syntax |
$ContentChanged = $CVSTagHandler->contentChanged( $File, $StartTag, $EndTag ); |
Input |
|
Return |
|
getChangedFiles
return the list of files that are taggt and have changed revision Optional Parameter:
- cvsdirectory - cvs directory where rdiff called, default = 'RND/epages/epages5/AllOS/Cartridges'
- verbose - flag to print messages
Syntax |
$Handler->getChangedFiles( $StartTag, $EndTag, %hOptions ); |
Example |
my $aList = $Handler->getChangedFiles( 'release_6_11_3', 'patch_6_12_0', {'cvsdirectory' => 'RND/epages/epages5/AllOS/Cartridges/Presentation'} ); |
Input |
|
Return |
|
getChangedFilesWithChangedContent
return the list of files that are taggt and have changed revisions and changed content Optional Parameter:
- cvsdirectory - cvs directory where rdiff called, default = 'RND/epages/epages5/AllOS/Cartridges'
- verbose -
Syntax |
$Handler->getChangedFilesWithChangedContent( $StartTag, $EndTag, %hOptions ); |
Example |
my $aList = $Handler->getFileListUnchangedContent( 'release_6_11_3', 'patch_6_12_0', {'cvsdirectory' => 'RND/epages/epages5/AllOS/Cartridges/Presentation'} ); |
Input |
|
Return |
|
getChangedFilesWithUnchangedContent
return the list of files that are taggt and have changed revisions but identical content Optional Parameter:
- cvsdirectory - cvs directory where rdiff called, default = 'RND/epages/epages5/AllOS/Cartridges'
- verbose -
Syntax |
$Handler->getChangedFilesWithUnchangedContent( $StartTag, $EndTag, %hOptions ); |
Example |
my $aList = $Handler->getFileListUnchangedContent( 'release_6_11_3', 'patch_6_12_0', {'cvsdirectory' => 'RND/epages/epages5/AllOS/Cartridges/Presentation'} ); |
Input |
|
Return |
|
getEngineerForTag
returns the name of the engineer that checked in the file tagged with specific tag
Syntax |
$EngineerName = $CVSTagHandler->getEngineerForTag( $File, $Tag ); |
Input |
|
Return |
|
getLatestCorrespondingHotFixTag
returns the highest hot fix tag of the file tagged with specific tag
Syntax |
$HotFixTag = $CVSTagHandler->getLatestCorrespondingHotFixTag( $File, $Tag ); |
Input |
|
Return |
|
getRevision
returns the revision of the file tagged with specific tag
Syntax |
$Revision = $CVSTagHandler->getRevision( $File, $Tag ); |
Input |
|
Return |
|
patchAffectedFile
return true if the file is patch relevant
Syntax |
$FileIsAffectedByPatch=$Handler->patchAffectedFile( $FilePath ); |
Example |
if ($Handler->patchAffectedFile('RND/epages/epages5/AllOS/Cartridges/DE_EPAGES/Object/API/Cartridge.pm')){ ... }; |
Input |
|
Return |
|
removeTag
remove a tag from file
Syntax |
$Handler->removeTag( $File, $Tag ); |
Example |
my $Message = $Handler->removeTag( 'RND/epages/epages5/AllOS/Cartridges/DE_EPAGES/Object/API/SQLCompare.pm', 'patch_6_12_1', ); |
Input |
|
Return |
|
sendPatchFileMail
send an Info Mail to the patch building engineer
Syntax |
$Handler->sendPatchFileMail( $Tag, $MailAddress, $aChangedFiles, $aDeletedFiles ); |
Example |
$Handler->sendPatchFileMail( 'patch_6_13_0', 'patch@epages.com' \@ChangedFiles, \@DeletedFiles ); |
Input |
|
setTag
set a tag on file
Syntax |
$Handler->setTag( $File, $TargetTagOrRevision, $Tag ); |
Example |
my $Message = $Handler->setTag( 'RND/epages/epages5/AllOS/Cartridges/DE_EPAGES/Object/API/SQLCompare.pm', 'release_6_12_2', 'patch_6_12_2' ); my $Message = $Handler->setTag( 'RND/epages/epages5/AllOS/Cartridges/DE_EPAGES/Object/API/SQLCompare.pm', '1.2.43.2', 'patch_6_12_2' ); |
Input |
|
Return |
|
updatePatchTag
update the patch tag for files where content changed between release tags, the release tag have to be already updated Optional Parameter:
- cvsdirectory - cvs directory where rdiff called, default = 'RND/epages/epages5/AllOS'
- verbose - show messages
Syntax |
updatePatchTag( $ReleaseOld, $ReleaseNew, $PatchNew, $hOptions ); |
Example |
$Handler->updatePatchTag( 'release_6_12_0', 'release_6_12_1', 'patch_6_12_1', { 'cvsdirectory' => 'RND/epages/epages5/AllOS/Cartridges/Presentation', 'verbose' => 1 } ); |
Input |
|
updateReleaseTag
update the patch tag for files where content changed between release tags, the release tag have to be already updated Optional Parameter:
- updatepatchtag - cvs directory where rdiff called, default = 'RND/epages/epages5/AllOS'
- verbose - show messages
Syntax |
$Handler->updateReleaseTag( $ReleaseOld, $ReleaseNew, $PatchNew, $hOptions ); |
Example |
$Handler->updateReleaseTag( 'release_6_12_0', 'release_6_12_1', 'patch_6_12_1', 'B_patch_6_12_1', { 'updatepatchtag' => '1', 'verbose' => 1 } ); |
Input |
|