Aktuelles
Digital Eliteboard - Das Digitale Technik Forum

Registriere dich noch heute kostenlos, um Mitglied zu werden! Sobald du angemeldet bist, kannst du auf unserer Seite aktiv teilnehmen, indem du deine eigenen Themen und Beiträge erstellst und dich über deinen eigenen Posteingang mit anderen Mitgliedern unterhalten kannst! Zudem bekommst du Zutritt zu Bereichen, welche für Gäste verwehrt bleiben

Registriere dich noch heute kostenlos, um Mitglied zu werden! Sobald du angemeldet bist, kannst du auf unserer Seite aktiv teilnehmen, indem du deine eigenen Themen und Beiträge erstellst und dich über deinen eigenen Posteingang mit anderen Mitgliedern unterhalten kannst! Zudem bekommst du Zutritt zu Bereichen, welche für Gäste verwehrt bleiben

Die Informationsanzeige in der oberen rechten Ecke von Freetz

Status
Für weitere Antworten geschlossen.

prisrak

Moderator
Teammitglied
Registriert
4. Mai 2010
Beiträge
5.459
Lösungen
26
Reaktionspunkte
16.174
Punkte
413
Was wird hier gemacht und welches Ergebnis kommt am Schluss raus? Freetz-ng-24911MOA-e63341b180

Das Skript analysiert die Versions- und Änderungsinformationen eines Softwareprojekts, das entweder mit Subversion (SVN) oder Git verwaltet wird. Es gibt je nach Eingabeparameter unterschiedliche Informationen aus, etwa die aktuelle Revision, den Git-Hash, die Anzahl der Änderungen oder spezifische Attribute des Projekts.

Aufbau und Funktionsweise:​

  1. Initialisierung:
    • DIR wird auf das übergeordnete Verzeichnis des Skripts gesetzt.
  2. Parameterprüfung:
    • Wenn der Parameter $1 mit t beginnt, wird das Datum der letzten Änderung in UNIX-Zeit (Ticks) ausgegeben:
      • SVN: Das letzte Änderungsdatum.
      • Git: Der Zeitstempel des letzten Commits.
    • Das Skript beendet sich danach.
  3. Projektanalyse:
    • Falls SVN genutzt wird:
      • Es prüft die aktuelle Branch (Relative URL) und die Revision (svnversion).
      • Änderungen am Arbeitsverzeichnis werden berücksichtigt (svn status).
      • Falls kein Git-Commit verknüpft ist, markiert es die Revision als "INVALID".
    • Falls Git genutzt wird:
      • Es prüft den Branch (git rev-parse) und ob es nicht eingepflegte Änderungen gibt.
      • Es berechnet die Anzahl der Commits seit dem letzten Push.
      • Falls der aktuelle Branch HEAD oder master ist, wird die Revision entsprechend angepasst.
      • Die Kurzversion des letzten Commits (10 Zeichen) wird als Hash extrahiert.
  4. Spezielle Kennzeichen:
    • Zusatzkennzeichen wie O, F, A, S oder I werden basierend auf bestimmten Projektzuständen angehängt (z. B. benutzerdefinierte Konfigurationen, spezielle Addons, Symlinks etc.).
  5. Ausgabeformat:
    • Abhängig vom Parameter $1 gibt das Skript unterschiedliche Formate aus:
      • short: Kurze Zusammenfassung.
      • make: Ein Label in der Form Freetz-NG-Version.
      • Sonst: Detaillierte Versionsinfo (inkl. Hash, Branch und Datum).

Ergebnis:​

Das Ergebnis ist eine zusammengefasste Versionsinformation des Projekts in unterschiedlichen Formaten.

Beispielausgabe (je nach Parameter):

  • ticks: 1698643200 (Zeitstempel der letzten Änderung).
  • short: 1234-abcdef1234-trunk (Revision-Hash-Branch).
  • make: Freetz-NG 1234-abcdef1234-trunk.
  • default: 1.0.0-1234-abcdef1234 trunk 2024-11-23 (Version, Revision, Hash, Branch, Datum).

Ziel:​

Das Skript wird typischerweise in Projekten genutzt, um Versions- und Statusinformationen kompakt darzustellen, z. B. für Debugging, automatisierte Builds oder Release-Notes.
 
Status
Für weitere Antworten geschlossen.
Zurück
Oben