The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Quiq::Cascm - Schnittstelle zu CA Harvest SCM

BASE CLASS

Quiq::Hash

DESCRIPTION

Ein Objekt der Klasse stellt eine Schnittstelle zu einem CA Harvest SCM Server zur Verfügung.

Begriffe

Workspace

Lokales Verzeichnis mit (Kopien von) Repository-Dateien. Der Pfad wird "Clientpath" genannt, Option -cp´, z.B. ~/var/workspace.

METHODS

Konstruktor

new() - Instantiiere Objekt

Synopsis

    $scm = $class->new(@attVal);

Arguments

@attVal

Liste von Attribut-Wert-Paaren.

Returns

Objekt

Description

Instantiiere ein Objekt der Klasse und liefere eine Referenz auf dieses Objekt zurück.

Externe Dateien

putFiles() - Füge Dateien zum Repository hinzu

Synopsis

    $scm->putFiles($package,$repoDir,@files);

Arguments

$packge

Package, dem die Dateien innerhalb von CASCM zugeordnet werden.

$repoDir

Zielverzeichnis innerhalb des Workspace, in das die Dateien kopiert werden. Dies ist ein relativer Pfad.

@files

Liste von Dateien außerhalb des Workspace.

Returns

nichts

Description

Kopiere die Dateien @files in das Workspace-Verzeichnis $repoDir und checke sie anschließend ein, d.h. füge sie zum Repository hinzu. Eine Datei, die im Workspace-Verzeichnis schon vorhanden ist, wird zuvor ausgecheckt.

Mit dieser Methode ist es möglich, sowohl neue Dateien zum Workspace hinzuzufügen als auch bereits existierende Dateien im Workspace zu aktualisieren. Dies geschieht für den Aufrufer transparent, er braucht sich um die Unterscheidung nicht zu kümmern.

Workspace-Dateien

checkout() - Checke Repository-Dateien aus

Synopsis

    $scm->checkout($package,@repoFiles);

Arguments

$package

Package, dem die ausgecheckte Datei (mit reservierter Version) zugeordnet wird.

@repoFiles

Liste von Workspace-Dateien, die ausgecheckt werden.

Returns

nichts

Description

Checke die Workspace-Dateien @repoFiles aus.

checkin() - Checke Workspace-Datei ein

Synopsis

    $scm->checkin($package,$repoFile);

Arguments

$package

Package, dem die neue Version der Datei zugeordnet wird.

$repoFile

Datei innerhalb des Workspace. Der Dateipfad ist ein relativer Pfad.

Returns

nichts

Description

Checke die Workspace-Datei $repoFile ein, d.h. übertrage ihren Stand als neue Version ins Repository und ordne diese dem Package $package zu.

version() - Versionsnummer Repository-Datei

Synopsis

    $version = $scm->version($repoFile);

Arguments

$repoFile

Repository-Datei

Returns

Versionsnummer (String)

listVersion() - Versionsinformation zu Repository-Datei

Synopsis

    $info = $scm->listVersion($repoFile);

Arguments

$repoFile

Der Pfad der Repository-Datei.

Returns

Informations-Text (String)

Description

Ermittele die Versionsinformation über Datei $repoFile und liefere diese zurück.

deleteVersion() - Lösche Repository-Datei

Synopsis

    $scm->deleteVersion($repoFile);

Arguments

$repoFile

Der Pfad der zu löschenden Repository-Datei.

Returns

Nichts

Packages

createPackage() - Erzeuge Package

Synopsis

    $scm->createPackage($package);

Arguments

$packge

Name des Package, das erzeugt werden soll.

Returns

nichts

Description

Erzeuge Package $package.

deletePackage() - Lösche Package

Synopsis

    $scm->deletePackage($package);

Arguments

$packge

Name des Package, das gelöscht werden soll.

Returns

nichts

Description

Lösche Package $package.

renamePackage() - Benenne Package um

Synopsis

    $scm->renamePackage($oldName,$newName);

Arguments

$oldName

Bisheriger Name des Package.

$newName

Zukünftiger Name des Package.

Returns

nichts

Description

Benenne Package $oldName in $newName um.

promotePackage() - Promote Package

Synopsis

    $scm->promotePackage($package,$state);

Arguments

$packge

Package, das promotet werden soll.

$state

Stufe, auf dem sich das Package befindet.

Returns

nichts

Description

promote Package $package, das sich auf Stufe $state befindet (befinden muss) auf die darüberliegende Stufe. Befindet sich das Package auf einer anderen Stufe, schlägt das Kommando fehl.

demotePackage() - Demote Package

Synopsis

    $scm->demotePackage($package,$state);

Arguments

$packge

Package, das demotet werden soll.

$state

Stufe, auf dem sich das Package befindet.

Returns

nichts

Description

Demote Package $package, das sich auf Stufe $state befindet (befinden muss) auf die darunterliegende Stufe. Befindet sich das Package auf einer anderen Stufe, schlägt das Kommando fehl.

Workspace

sync() - Synchronisiere Workspace mit Repository

Synopsis

    $scm->sync;

Description

Bringe den Workspace auf den Stand des Repository.

Privat

credentialOptions() - Liste der Credential-Optionen

Synopsis

    @arr = $scm->credentialOptions;

run() - Führe CA Harvest SCM Kommando aus

Synopsis

    $output = $scm->run($scmCmd,$c);

Description

Führe das CA Harvest SCM Kommando $scmCmd mit den Optionen des Kommandozeilenobjekts $c aus und liefere die Ausgabe des Kommandos zurück.

writeOutput() - Schreibe Kommando-Ausgabe

Synopsis

    $scm->writeOutput($output);

VERSION

1.133

AUTHOR

Frank Seitz, http://fseitz.de/

COPYRIGHT

Copyright (C) 2019 Frank Seitz

LICENSE

This code is free software; you can redistribute it and/or modify it under the same terms as Perl itself.