Quiq::Cascm - Schnittstelle zu CA Harvest SCM
Quiq::Hash
Ein Objekt der Klasse stellt eine Schnittstelle zu einem CA Harvest SCM Server zur Verfügung.
https://docops.ca.com/ca-harvest-scm/13-0/en
https://search.ca.com/assets/SiteAssets/TEC486141_External/TEC486141.pdf
$scm = $class->new(@attVal);
Benutzername (-usr).
Passwort (-pw).
Datei (Pfad) mit verschlüsseltem Benuternamen und Passwort (-eh). Diese Authentisierungsmethode ist gegenüber user und password aus Sicherheitsgründen vorzuziehen.
Wie credentialsFile, nur für das hsql-Kommando, falls hierfür eine andere Authentisierung nötig ist.
Name des Brokers (-b).
Name des Projektes, auch Environment genannt (-en).
Pfad im Project (-vp).
Pfad zum (lokalen) Workspace-Verzeichnis.
Liste der Stufen, bginnend mit der untersten Stufe, auf der Workspace-Dateien aus- und eingecheckt werden.
Universal Database Locator für die CASCM-Datenbank. Ist dieser definiert, wird die CASCM-Datenbank direkt zugegriffen, nicht über das Programm hsql.
Lösche Temporäre Dateien nicht.
Führe keine ändernden Kommandos aus.
Schreibe Information über die Kommandoausführung nach STDERR.
Objekt
Instantiiere ein Objekt der Klasse und liefere eine Referenz auf dieses Objekt zurück.
$output = $scm->putFiles($package,$repoDir,@files);
Package, dem die Dateien innerhalb von CASCM zugeordnet werden.
Zielverzeichnis innerhalb des Workspace, in das die Dateien kopiert werden. Dies ist ein relativer Pfad.
Liste von Dateien außerhalb des Workspace.
Konkatenierte Ausgabe der der checkout- und checkin-Kommandos (String)
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.
$output = $scm->checkout($package,@repoFiles);
Package, dem die ausgecheckte Datei (mit reservierter Version) zugeordnet wird.
Liste von Workspace-Dateien, die ausgecheckt werden.
Ausgabe des Kommandos (String)
Checke die Workspace-Dateien @repoFiles aus und liefere die Ausgabe des Kommandos zurück.
$output = $scm->checkin($package,$repoFile);
Package, dem die neue Version der Datei zugeordnet wird.
Datei innerhalb des Workspace. Der Dateipfad ist ein relativer Pfad.
Checke die Workspace-Datei $repoFile ein, d.h. übertrage ihren Stand als neue Version ins Repository, ordne diese dem Package $package zu und liefere die Ausgabe des Kommandos zurück.
$version = $scm->versionNumber($repoFile);
Repository-Datei
Versionsnummer (Integer)
$info = $scm->versionInfo($repoFile);
Der Pfad der Repository-Datei.
Ermittele die Versionsinformation über Datei $repoFile und liefere diese zurück.
$output = $scm->deleteVersion($repoFile);
Der Pfad der zu löschenden Repository-Datei.
Lösche die höchste Version der Repository-Datei (Item) $repoFile. Dies geht nur, wenn sich diese Version auf der untersten Stufe (Entwicklung) befindet.
$tab = $scm->findItem($namePattern);
Name des Item (File oder Directory), SQL-Wildcards sind erlaubt.
Ergebnismengen-Objekt.
$output = $scm->removeItems($package,@repoFile);
Die Pfade der zu löschenden Repository-Dateien.
Package, in das die Löschung eingetragen wird.
Erzeuge neue Versionen der Items @repoFiles, welche die Items als zu Löschen kennzeichnen und trage diese in das Package $package ein. Wird das Package promotet, werden die Items auf der betreffenden Stufe gelöscht.
$output = $scm->createPackage($package);
Name des Package, das erzeugt werden soll.
Erzeuge Package $package und liefere die Ausgabe des Kommandos zurück.
$scm->deletePackage($package);
Name des Package, das gelöscht werden soll.
Lösche Package $package und liefere die Ausgabe des Kommandos zurück.
$scm->renamePackage($oldName,$newName);
Bisheriger Name des Package.
Zukünftiger Name des Package.
Benenne Package $oldName in $newName um und liefere die Ausgabe des Kommandos zurück.
$output = $scm->switchPackage($stage,$fromPackage,$toPackage,@files);
Stufe (stage), auf der sich die Packete befinden.
Name des Quellpakets (from package).
Name des Zielpakets (to package).
Dateien (versions), die übertragen werden sollen.
Übertrage die Dateien @files von Paket $fromPackage in Paket $toPackage.
$scm->promote($state,@packages);
Stufe, auf dem sich die Packages befinden.
Packages, die promotet werden sollen.
Promote die Package @packages von der Stufe $state auf die darüberliegende Stufe und liefere die Ausgabe des Kommandos zurück.
$scm->demote($state,@packages);
Stufe, auf dem sich das Package befindet.
Packages, die demotet werden sollen.
Demote die Packages @packages der Stufe $state auf die darunterliegende Stufe, und liefere die Ausgabe des Kommandos zurück.
$scm->movePackage($state,$package);
Stufe, auf die das Package gebracht werden soll.
Package, das bewegt werden soll.
Bringe das Package $package von der aktuellen Stufe auf die Zielstufe $state und liefere die Ausgabe des Kommandos zurück. Liegt die Zielstufe über der aktuellen Stufe, wird das Package promotet, andernfalls demotet.
$state = $scm->packageState($package);
Package.
Stufe.
Liefere die Stufe $state, auf der sich Package $package befindet.
$tab = $scm->listPackages;
Liste aller Packages (Array of Arrays). Im Skalarkontext eine Referenz auf die Liste.
Liefere die Liste aller Packages.
$scm->sync;
Bringe den Workspace auf den Stand des Repository und liefere die Ausgabe des Kommandos zurück.
@states | $stateA = $scm->states;
$tab = $scm->sql($sql); $tab = $scm->sql($file);
SELECT-Statement.
Datei mit SELECT-Statement.
Ergebnismengen-Objekt (Quiq::Database::ResultSet::Array)
Führe ein SELECT-Statement gegen die CASCM-Datenbank aus und liefere ein Ergebnismengen-Objekt zurück. Das SELECT-Statement kann als String $sql übergeben werden oder sich in einer Datei $file befinden.
@arr = $scm->credentialsOptions;
CASCM kennt mehrere Authentisierungsmöglichkeiten, die sich durch Aufrufoptionen unterscheiden. Diese Methode liefert die passenden Optionen zu den beim Konstruktor-Aufruf angegebenen Authentisierungs-Informationen. unterschieden werden:
Authentisierung durch Datei mit verschlüsselten Credentials (-eh)
Authentisiertung durch Benutzername/Passwor (-usr, -pw)
Bevorzugt ist Methode 1, da sie sicherer ist als Methode 2.
$output = $scm->runCmd($cmd,$c);
Name des CASCM-Kommandos
Kommandozeilenobjekt mit den Optionen.
Inhalt der Ausgabedatei, die das Kommando geschrieben hat.
Führe das CA Harvest SCM Kommando $cmd mit den Optionen des Kommandozeilenobjekts $c aus und liefere den Inhalt der Ausgabedatei zurück.
$tab = $scm->runSql($sql);
SELECT-Statement, das gegen die CASCM-Datenbank abgesetzt wird.
Führe SELECT-Statement $sql auf der CASCM-Datenbank aus und liefere die Ergebnismenge zurück. Ist ein UDL definiert (s. Konstruktoraufruf) wird die Selektion direkt auf der Datenbank ausgeführt, andernfalls über das CASCM-Kommando hsql.
1.137
Frank Seitz, http://fseitz.de/
Copyright (C) 2019 Frank Seitz
This code is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
To install Quiq, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Quiq
CPAN shell
perl -MCPAN -e shell install Quiq
For more information on module installation, please visit the detailed CPAN module installation guide.