Dies ist der Befehl aecp, der beim kostenlosen Hosting-Anbieter OnWorks mit einer unserer zahlreichen kostenlosen Online-Workstations wie Ubuntu Online, Fedora Online, dem Windows-Online-Emulator oder dem MAC OS-Online-Emulator ausgeführt werden kann
PROGRAMM:
NAME/FUNKTION
Aegis-Datei kopieren – Kopieren Sie eine Datei in eine Änderung
ZUSAMMENFASSUNG
Ägide -Datei kopieren [ zu erhalten... ] Dateinamen...
Ägide -Datei kopieren -Unabhängig [ zu erhalten... ] Dateinamen...
Ägide -Datei kopieren -Aufführen [ zu erhalten... ]
Ägide -Datei kopieren -Hilfe
BESCHREIBUNG
Die Ägide -Datei kopieren Der Befehl wird verwendet, um eine Datei in eine Änderung zu kopieren. Die genannten Dateien werden
von der Baseline in das Entwicklungsverzeichnis kopiert und zur Liste hinzugefügt werden
Dateien in der Änderung. Die Version der von der Baseline kopierten Dateien wird gespeichert.
Mit diesem Befehl können Tests in eine Änderung kopiert werden, nicht nur in Quelldateien. Tests sind
werden wie jede andere Quelldatei behandelt und unterliegen demselben Prozess.
Warnung: Wenn sich im Entwicklungsverzeichnis Dateien mit demselben Namen befinden, sind dies der Fall
durch diesen Befehl überschrieben.
Sie können Verzeichnisse auch benennen. Alle Quelldateien in den genannten Verzeichnissen und alle
Verzeichnisse darunter, werden von der Baseline in das Entwicklungsverzeichnis kopiert,
und zur Liste der Dateien in der Änderung hinzugefügt.
Beim expliziten Kopieren von Dateien ist es ein Fehler, wenn die Datei bereits Teil der Änderung ist.
Wenn Sie ein Verzeichnis benennen, werden alle Quelldateien im Projekt unterhalb dieses Verzeichnisses angezeigt
werden kopiert, mit Ausnahme derjenigen, die bereits in der Änderung enthalten sind. Es ist ein Fehler, wenn nichts davon vorliegt
Es können Dateien verwendet werden, die implizit durch das Verzeichnis benannt sind.
Wenn Sie eine kopierte Quelldatei so ändern möchten, dass sie ausführbar ist (z. B. Shell-Skripte)
dann nutzt du einfach das Normale chmod(1) Befehl; umgekehrt, um es nicht ausführbar zu machen.
Wenn eines der ausführbaren Bits der Datei auf gesetzt ist aede(1) Zeitpunkt, zu dem die Datei gespeichert wird
ausführbare Datei und alle Ausführungsbits (abzüglich der umask des Projekts) werden durch nachfolgende festgelegt
aecp(1) Befehle.
Reichen Sie das Name Dolmetschen
Das Programm aegis versucht, die Projektdateinamen aus den Dateinamen zu ermitteln
auf der Kommandozeile angegeben. Alle Dateinamen werden innerhalb von aegis-Projekten als relativ gespeichert
zum Stamm des Basisverzeichnisbaums. Das Entwicklungsverzeichnis und die
Integrationsverzeichnis sind Schatten dieses Basisverzeichnisses, daher diese relativen Namen
auch hier bewerben. In der Befehlszeile benannte Dateien werden zuerst in absolute Pfade konvertiert
Falls benötigt. Sie werden dann mit dem Baseline-Pfad, dem Entwicklungsverzeichnis, verglichen
path und den Integrationsverzeichnispfad, um einen baselinerelativen Namen zu bestimmen. es ist
ein Fehler, wenn sich die benannte Datei außerhalb einer dieser Verzeichnisbäume befindet.
Die -BAse_RElativ Option kann verwendet werden, um relative Dateinamen zu interpretieren als
relativ zum Basislinienpfad; absolute Dateinamen werden trotzdem mit den verschiedenen verglichen
Pfade, um einen baseline-relativen Namen zu ermitteln.
Die relativer_dateiname_präferenz in der Benutzerkonfigurationsdatei kann zum Ändern verwendet werden
dieses Standardverhalten. Sehen euconf(5) für weitere Informationen.
Prozess Seite Effekte
Dieser Befehl bricht alle Build- oder Testregistrierungen ab, da eine weitere Datei hinzugefügt wird
macht sie logischerweise ungültig. Wenn die Projektkonfigurationsdatei hinzugefügt wurde, werden alle Unterschiede angezeigt
die Anmeldung wird ebenfalls storniert.
Wenn die Änderungsdateien aufgelistet sind (Ägide -Aufführen Change_Files -Knapp) Die kopierten Dateien werden
in der Auflistung erscheinen. Wenn die Projektdateien mit einer expliziten Änderungsnummer aufgelistet werden
(Ägide -Aufführen Projekt_Dateien -Knapp -Veränderung N) keine der Dateien der Änderung, einschließlich der
Kopierte Dateien werden in der Kurzauflistung angezeigt. Diese beiden Funktionen sind sehr hilfreich, wenn
Aufruf von Aegis aus einem DMT heraus, um die Liste der Quelldateien zu generieren.
BASISLINIE LOCK
Die Baseline-Sperre wird verwendet, um sicherzustellen, dass die Baseline in einem konsistenten Zustand bleibt
die Dauer von Befehlen, die den Inhalt von Dateien in der Baseline lesen müssen.
Die Befehle, die eine konsistente Grundlinie erfordern (dazu gehören die aeb(1)
aecp(1) und aed(1) Befehle) nehmen eine Grundlinie lesen sperren. Dies ist also eine nicht-exklusive Sperre
die gleichzeitige Entwicklung von Veränderungen wird nicht behindert.
Der Befehl, der die Grundlinie ändert, aeipass(1) nimmt eine Grundlinie schreiben sperren. Das
ist eine exklusive Sperre, die erzwingt aeipass(1) Blockieren, bis keine aktiven Baseline-Lesevorgänge mehr vorhanden sind
Schlösser.
Es ist möglich, dass einer der oben genannten Entwicklungsbefehle blockiert, bis er ausgeführt wird
Ägide -Integrate_PASS vervollständigt. Dies ist in der Regel während der Projektlaufzeit von kurzer Dauer
Der Verlauf wird aktualisiert. Die Verzögerung ist wichtig, damit diese Befehle konsistent empfangen werden
Blick auf die Grundlinie. Kein anderer Integrationsbefehl wird die obige Entwicklung verursachen
Befehle zum Blockieren.
Wenn die Branch-Funktionalität von Aegis verwendet wird, wird eine Lesesperre (nicht exklusiv) für die verwendet
Zweig-Baseline und auch jede der „übergeordneten“ Baselines. Allerdings eine Grundlinie schreiben
(exklusive) Sperre wird nur auf der Zweigbasislinie angewendet; die „übergeordneten“ Grundlinien sind nur
lesbar (nicht exklusiv) gesperrt.
TESTEN ZUSAMMENHANG
Der Befehl „aegis -Test -SUGgest“ kann verwendet werden, damit Aegis eine geeignete Regression vorschlägt
Tests für Ihre Änderung, basierend auf den Quelldateien in Ihrer Änderung. Dies automatisch
Konzentriert den Testaufwand auf relevante Tests und reduziert so die Anzahl der Regressionstests
Sie müssen sicher sein, dass Sie keinen Fehler eingeführt haben.
Die Testkorrelationen werden durch den Befehl „aegis -Integrate_Pass“ generiert, der
Ordnet jeden Test in der Änderung jeder Quelldatei in der Änderung zu. Also jeder
Die Quelldatei sammelt eine Liste von Tests, die ihr in der Vergangenheit zugeordnet wurden.
Dies ist nicht so genau wie die Codeabdeckungsanalyse, stellt aber eine vernünftige Annäherung dar
trainieren.
Die aecp(1) und aenf(1) Befehle werden verwendet, um Dateien einer Änderung zuzuordnen. Während sie
Führen Sie die Zuordnung nicht aktiv durch. Dies sind die Dateien, die von verwendet werden aeipass(1) und
aet(1) um zu bestimmen, welche Quelldateien mit welchen Tests verknüpft sind.
Test Korrelation Genauigkeit
Vorausgesetzt, dass die Testkorrelationen korrekt und die Tests gleichmäßig sind
Über den Veranstaltungsraum verteilt entsteht ein Kleiner als 1/Anzahl Chance, dass a
Der relevante Test wurde nicht von „aegis -Test -SUGgest“ ausgeführt Anzahl" Befehl. Ein kleines
Der Testgewichtung wird eine Menge Rauschen hinzugefügt, so dass es manchmal zu unerwarteten Dingen kommt
getestet und es werden nicht jedes Mal dieselben Tests durchgeführt.
Die Genauigkeit der Testkorrelation kann verbessert werden, indem Folgendes sichergestellt wird:
· Jede Änderung sollte stark fokussiert sein und keine unnötigen Dateieinschlüsse enthalten. Das
vermeidet falsche Korrelationen.
· Jedes Element neuer Funktionalität sollte in einer einzelnen Änderung hinzugefügt werden, anstatt
mehrere zusammen. Dies korreliert Tests stark mit der Funktionalität.
· Jeder Fehler sollte in einer einzelnen Änderung behoben werden und nicht in mehreren zusammen. Das
korreliert Tests stark mit der Funktionalität.
· Testkorrelationen gehen verloren, wenn Dateien verschoben werden. Dies liegt daran, dass Korrelationen durch sind
Namen.
Die beste Möglichkeit für Tests, genau mit den Quelldateien zu korrelieren, ist eine Änderung
enthält einen Test und genau die Dateien, die sich auf die zu testende Funktionalität beziehen. Zu
Viele falsche Dateien schwächen den Nutzen der Testkorrelationen.
Benachrichtigung
Die copy_file_command im Projekt Config Datei wird ausgeführt, falls gesetzt. Die project_file_‐
Befehl wird ebenfalls ausgeführt, wenn dies festgelegt ist und kürzlich eine Integration stattgefunden hat. Sehen
aepconf(5) für weitere Informationen.
Reichen Sie das Action Einstellung
Wenn dieser Befehl ausgeführt wird, werden zunächst die Änderungsdateien mit den Projektdateien verglichen. Wenn
Sollte es zu Inkonsistenzen kommen, werden die Dateiaktionen wie folgt angepasst:
create Wenn eine Datei erstellt wird, aber ein anderer Änderungssatz integriert ist, der ebenfalls
Wenn die Datei erstellt wird, wird die Dateiaktion im noch zu entwickelnden Änderungssatz ausgeführt
angepasst auf „ändern“.
modifizieren Wenn eine Datei geändert wird, aber ein anderer Änderungssatz integriert ist, der entfernt wird
In der Datei wird die Dateiaktion im Änderungssatz noch entwickelt
angepasst auf „erstellen“.
entfernen Wenn eine Datei entfernt wird, aber ein anderer Änderungssatz integriert ist, der entfernt wird
Wenn Sie die Datei löschen, wird die Datei aus dem Änderungssatz gelöscht, der noch entwickelt wird.
OPTIONAL
Folgende Optionen werden verstanden:
-BAse_RElativ
Diese Option kann verwendet werden, um relative Dateinamen als relativ zu zu betrachten
die Basis des Quellbaums. Sehen euconf(5) für den entsprechenden Benutzer
Präferenz.
-CUrrent_RElative
Diese Option kann verwendet werden, um relative Dateinamen als relativ zu zu betrachten
das aktuelle Verzeichnis. Dies ist normalerweise die Standardeinstellung. Sehen euconf(5) für die
entsprechende Benutzerpräferenz.
-Zweig Anzahl
Diese Option kann verwendet werden, um einen anderen Zweig für die Ursprungsdatei anzugeben
als die Grundlinie. (Siehe auch -Stamm Möglichkeit. Bitte beachten: die -Zweig zu erhalten
nimmt keinen Projektnamen an, sondern nur das Suffix der Zweigstellennummer.
-Großelternteil
Diese Option kann verwendet werden, um den Großeltern-Zweig anzugeben (einer höher als der
current Branch) für die Ursprungsdatei und nicht für die Baseline. (Die -Großeltern
Option ist die gleiche wie die Option "-branch ..".)
-Veränderung Anzahl
Diese Option kann verwendet werden, um eine bestimmte Änderung innerhalb eines Projekts anzugeben. Sehen
Ägide(1) für eine vollständige Beschreibung dieser Option.
-Delta Anzahl
Diese Option kann verwendet werden, um ein bestimmtes Delta in der Projekthistorie anzugeben, um
kopieren Sie die Datei von, anstatt die aktuellste Version. Wenn das Delta war
einen Namen gegeben (siehe aedn(1) wie) Sie können einen Delta-Namen anstelle eines Deltas verwenden
Nummer. Es ist ein Fehler, wenn das angegebene Delta nicht existiert. Delta-Zahlen
mit 1 beginnen und erhöhen; Delta 0 ist ein Sonderfall und bedeutet „wenn die Verzweigung“
gestartet".
-DELta_Datum Schnur
Diese Option kann verwendet werden, um ein bestimmtes Datum und eine bestimmte Uhrzeit in der Projektdatei anzugeben
Verlauf, aus dem die Datei kopiert werden soll, und nicht die aktuellste Version. Es ist ein
Fehler, wenn die angegebene Zeichenfolge nicht als gültiges Datum und Uhrzeit interpretiert werden kann.
Geben Sie die Zeichenfolge an, wenn Sie Leerzeichen verwenden müssen.
-DELta_From_Change Anzahl
Diese Option kann verwendet werden, um ein bestimmtes Projekt-Delta aus seiner Änderung anzugeben
Anzahl.
-Hilfe
Diese Option kann verwendet werden, um weitere Informationen zur Verwendung des Ägide
-Unabhängig
Mit dieser Option wird angegeben, dass die Kopie unabhängig von anderen ausgeführt werden soll
besondere Veränderung. Die Dateien werden relativ zum aktuellen Verzeichnis kopiert.
-Halten
Diese Option kann verwendet werden, um Dateien und/oder Verzeichnisse aufzubewahren, die normalerweise gelöscht werden oder
durch den Befehl ersetzt. Standardmäßig die des Benutzers delete_file_preference wenn nicht
angegeben, siehe euconf(5) für weitere Informationen.
-Nein_Keep
Diese Option kann verwendet werden, um sicherzustellen, dass die Dateien und/oder Verzeichnisse gelöscht werden
oder durch den Befehl ersetzt. Standardmäßig die des Benutzers delete_file_preference wenn nicht
angegeben, siehe euconf(5) für weitere Informationen.
-Aufführen
Diese Option kann verwendet werden, um eine Liste geeigneter Themen für diesen Befehl zu erhalten.
Die Liste ist möglicherweise allgemeiner als erwartet.
-Not_Logging
Diese Option kann verwendet werden, um die automatische Protokollierung von Ausgaben und Fehlern zu deaktivieren
eine Datei. Dies ist oft nützlich, wenn mehrere aegis-Befehle in einer Shell zusammengefasst sind
Skripte.
-Ausgabe Dateinamen
Diese Option kann verwendet werden, um eine Ausgabedatei einer Datei anzugeben, die von kopiert wird
Grundlinie. Bei Verwendung dieser Option darf nur eine Baselinedatei benannt werden. Der
Unter dem Dateinamen „-“ versteht man die Standardausgabe. Bei dieser Option ist dies nicht der Fall
Fügen Sie die Datei zum Satz der Änderungsdateien hinzu. Nein Schlösser werden genommen, wenn diese Option ist
verwendet, nicht einmal die Baseline-Lesesperre.
-Überschreiben
Diese Option kann verwendet werden, um das Überschreiben von Dateien zu erzwingen. Die Standardaktion ist zu
einen Fehler ausgeben, wenn eine vorhandene Datei überschrieben würde.
-Projekt Name
Diese Option kann verwendet werden, um das gewünschte Projekt auszuwählen. Wenn nein -Projekt
Option angegeben ist, die AEGIS_PROJEKT Umgebungsvariable wird konsultiert. Wenn
die nicht existiert, die des Benutzers $HOME/.aegisrc Datei wird auf einen Standard untersucht
Projektfeld (siehe euconf(5) für weitere Informationen). Wenn das nicht existiert,
Wenn der Benutzer nur an Änderungen innerhalb eines einzelnen Projekts arbeitet, wird das Projekt
Der Name ist standardmäßig auf dieses Projekt eingestellt. Andernfalls handelt es sich um einen Fehler.
-Schreibgeschützt
Mit dieser Option kann angegeben werden, dass die Datei zum Isolieren verwendet werden soll
Veränderung gegenüber der Grundlinie. Der Benutzer beabsichtigt nicht, die Datei zu bearbeiten. Diese
Dateien müssen entkopiert werden, bevor die Entwicklung beendet werden kann.
-REScind
Diese Option kann verwendet werden, um eine abgeschlossene Änderung rückgängig zu machen (zurückzusetzen). Der Wechsel zu
rescind (zurückrollen) wird auf die übliche Weise angegeben, mit einem der --delta
Optionen.
-Knapp
Diese Option kann verwendet werden, um zu veranlassen, dass Listings das absolute Minimum an
Information. Es ist normalerweise für Shell-Skripte nützlich.
-Stamm
Diese Option kann verwendet werden, um den Projektstamm für die Ursprungsdatei anzugeben
als die Grundlinie. (Siehe auch -Zweig Option, die Option -trunk ist die gleiche wie
die Option "-zweig -".)
-Ausführlich
Diese Option kann verwendet werden, um aegis zu veranlassen, mehr Ausgabe zu erzeugen. Standardmäßig aegis
erzeugt nur bei Fehlern eine Ausgabe. Bei Verwendung mit dem -Aufführen Option diese Option
bewirkt, dass Spaltenüberschriften hinzugefügt werden.
-Warten Diese Option kann verwendet werden, um zu verlangen, dass Aegis-Befehle auf Zugriffssperren warten, wenn
sie sind nicht sofort erhältlich. Standardmäßig die des Benutzers lock_wait_preference
wenn nicht angegeben, siehe euconf(5) für weitere Informationen.
-Nein_Warten
Diese Option kann verwendet werden, um zu verlangen, dass Aegis-Befehle einen schwerwiegenden Fehler ausgeben, wenn Zugriff
Schlösser sind nicht sofort erhältlich. Standardmäßig die des Benutzers
lock_wait_preference wenn nicht angegeben, siehe euconf(5) für weitere Informationen.
[VORLÄUFIGE VOLLAUTOMATISCHE TEXTÜBERSETZUNG - muss noch überarbeitet werden. Wir bitten um Ihr Verständnis.] Ägide(1) für Optionen, die allen aegis-Befehlen gemeinsam sind.
Alle Optionen können abgekürzt werden; die Abkürzung wird als Großbuchstaben dokumentiert,
alle Kleinbuchstaben und Unterstriche (_) sind optional. Sie müssen aufeinanderfolgend verwenden
Folgen von optionalen Buchstaben.
Bei allen Optionen wird die Groß-/Kleinschreibung nicht beachtet, Sie können sie in Groß- oder Kleinschreibung oder a . eingeben
Kombination von beiden, Groß-/Kleinschreibung ist nicht wichtig.
Zum Beispiel: Die Argumente "-project, "-PROJ" und "-p" werden alle so interpretiert, dass sie die
-Projekt Möglichkeit. Das Argument "-prj" wird nicht verstanden, da aufeinanderfolgend
optionale Zeichen wurden nicht angegeben.
Optionen und andere Befehlszeilenargumente können auf der Befehlszeile beliebig gemischt werden,
nach den Funktionswählern.
Die langen Optionsnamen von GNU werden verstanden. Da alle Optionsnamen für Ägide sind lang,
Dies bedeutet, dass das zusätzliche führende '-' ignoriert wird. Die "--zu erhalten=Wert"Konvention ist auch
verstanden.
EMPFOHLEN ALIAS
Der empfohlene Alias für diesen Befehl ist
csh% alias aecp 'aegis -cp \!* -v'
sh$ aecp(){aegis -cp "$@" -v}
FEHLER
Es ist ein Fehler, wenn die Änderung nicht im Sein entwickelt Zustand.
Es ist ein Fehler, wenn die Änderung nicht dem aktuellen Benutzer zugewiesen ist.
Es handelt sich um einen Fehler, wenn sich die Datei bereits in der Änderung befindet und die -Überschreiben Option ist nicht
spezifiziert.
EXIT STATUS
Die Ägide Der Befehl wird bei jedem Fehler mit dem Status 1 beendet. Die Ägide Befehl wird nur
mit dem Status 0 beenden, wenn keine Fehler vorliegen.
VARIABLEN
See Ägide(1) für eine Liste von Umgebungsvariablen, die diesen Befehl beeinflussen können. Sehen
aepconf(5) für die Projektkonfigurationsdatei projektspezifisch Feld für die Einstellung
Umgebungsvariablen für alle von Aegis ausgeführten Befehle.
Beispiele:
Hier sind einige einfache Beispiele. Denken Sie daran, dass die meisten Befehle relativ zum aktuellen Befehl sind
Verzeichnis, auch wenn diese Beispiele davon ausgehen, dass Sie sich am Anfang der Entwicklung befinden
Verzeichnisbaum.
Kopieren Ganze PROJEKT
Um das gesamte Projekt in Ihre Änderung zu kopieren, verwenden Sie den Befehl
aecp .
Der abschließende Punkt ist Teil des Befehls und bedeutet „das aktuelle Verzeichnis und alles“.
darunter". Dies funktioniert für jedes Verzeichnis in Ihrem Projektquellbaum, wenn Sie möchten
selektiver.
Produzieren Früher PROJEKT Version
Sie möchten die Quellen einer früheren Version Ihres Projekts exakt reproduzieren,
Sie müssen die Edelta-Nummer kennen (verwenden Sie ael Projektgeschichte es zu finden). Dann nutzen Sie dieses
Befehl:
aecp -delta n .
woher n ist die Deltazahl aus der Projekthistorie. Auch hier ist der abschließende Punkt Teil von
der Befehl. Durch die Verwendung der $ version Substitution (vgl aesub(5) für weitere Informationen) Sie
Sie können diese Delta-Nummer in Ihr Programm einbetten, bevor Sie es verteilen.
Es ist auch möglich, stattdessen eine vorherige Änderungsnummer anzugeben, indem Sie diesen Befehl verwenden:
aecp -delta-from-change n .
woher n ist die interessierende Änderungszahl. Auch hier ist der abschließende Punkt Teil des
Befehl.
Aufheben a Change
Wenn Sie eine abgeschlossene Änderung rückgängig machen (zurückziehen) müssen, handelt es sich wahrscheinlich um einige
Daher müssen Sie die Delta- oder Änderungsnummer kennen. Verwenden Sie diesen Befehl:
aecp -delta n - zurücktreten.
woher n ist die interessierende Delta-Zahl. Alle anderen -Delta-Varianten funktionieren also auch
Wenn Sie die Änderungsnummer kennen, können Sie gezielter auswählen, welche Dateien kopiert werden sollen:
aecp -delta-from-change n `aegis -l cf -ter -c n`
woher n ist die interessierende Änderungszahl. Dadurch werden nur die Dateien kopiert, die sich in der befanden
beleidigende Veränderung.
Verwenden Sie aecp online über die Dienste von onworks.net