From 76592007acf5495d3e9489bc3253d7a4cb36b94c Mon Sep 17 00:00:00 2001 From: ISA Date: Mon, 20 Jan 2025 08:33:24 +0100 Subject: [PATCH] =?UTF-8?q?feat:=20PowerShell-Skript=20erstellt,=20um=20ge?= =?UTF-8?q?=C3=A4nderte=20Dateien=20zwischen=20zwei=20Git-Tags=20zu=20ermi?= =?UTF-8?q?tteln=20und=20in=20einer=20ZIP-Datei=20zu=20archivieren?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- git_diff_to_zip.ps1 | 54 +++++++++++++++++++++++++++++++++++++++++++ zip_changed_files.ps1 | 23 ------------------ 2 files changed, 54 insertions(+), 23 deletions(-) create mode 100644 git_diff_to_zip.ps1 delete mode 100644 zip_changed_files.ps1 diff --git a/git_diff_to_zip.ps1 b/git_diff_to_zip.ps1 new file mode 100644 index 000000000..d0d26facf --- /dev/null +++ b/git_diff_to_zip.ps1 @@ -0,0 +1,54 @@ +# Um die .ps1-Datei auszuführen, gib den folgenden Befehl ein: +# .\zip_changed_files.ps1 + +# Tags als Variablen deklarieren +# $tag1 = "v1.0.0" # Ersetze durch deinen ersten Tag +# $tag2 = "v1.1.0" # Ersetze durch deinen zweiten Tag +$tag1 = "v1.0.18.0" # Ersetze durch deinen ersten Tag +$tag2 = "v1.0.19.1" # Ersetze durch deinen zweiten Tag + +# Aktuelles Datum und Uhrzeit für den Dateinamen +$currentDateTime = (Get-Date).ToString("dd.MM.yyyy_HH_mm") + +# Name der Textdatei mit geänderten Dateien +$changedFilesList = "changed_files_$currentDateTime.txt" + +# Führe git diff aus, um die geänderten Dateien zwischen zwei Tags zu ermitteln +Write-Host "Ermittle geänderte Dateien zwischen $tag1 und $tag2..." +git diff --name-only $tag1 $tag2 > $changedFilesList + +# Überprüfe, ob die Textdatei erstellt wurde +if (-Not (Test-Path $changedFilesList)) { + Write-Host "Die Liste der geänderten Dateien konnte nicht erstellt werden. Skript wird beendet." + exit 1 +} + +Write-Host "Liste der geänderten Dateien erstellt: $changedFilesList" + +# Name der ZIP-Datei mit Datum und Uhrzeit +$zipFile = "changed_files_$currentDateTime.zip" + +# Stelle sicher, dass die ZIP-Datei nicht bereits existiert +if (Test-Path $zipFile) { + Remove-Item $zipFile +} + +# Lade die Dateien aus der Liste +$files = Get-Content $changedFilesList + +# Erstelle ein neues ZIP-Archiv +Add-Type -AssemblyName System.IO.Compression.FileSystem +$zipArchive = [System.IO.Compression.ZipFile]::Open($zipFile, 'Create') + +foreach ($file in $files) { + try { + # Absolute Pfade erstellen + $filePath = (Resolve-Path $file).Path + [System.IO.Compression.ZipFileExtensions]::CreateEntryFromFile($zipArchive, $filePath, $file) + } catch { + Write-Host "Fehler beim Hinzufügen der Datei: $file" + } +} + +$zipArchive.Dispose() +Write-Host "ZIP-Datei erstellt: $zipFile" diff --git a/zip_changed_files.ps1 b/zip_changed_files.ps1 deleted file mode 100644 index cf3985715..000000000 --- a/zip_changed_files.ps1 +++ /dev/null @@ -1,23 +0,0 @@ -# Name der ZIP-Datei -$zipFile = "changed_files.zip" - -# Stelle sicher, dass die ZIP-Datei nicht bereits existiert -if (Test-Path $zipFile) { - Remove-Item $zipFile -} - -# Lade die Dateien aus der Liste -$files = Get-Content changed_files.txt - -# Erstelle ein neues ZIP-Archiv -Add-Type -AssemblyName System.IO.Compression.FileSystem -$zipArchive = [System.IO.Compression.ZipFile]::Open($zipFile, 'Create') - -foreach ($file in $files) { - # Absolute Pfade erstellen - $filePath = (Resolve-Path $file).Path - [System.IO.Compression.ZipFileExtensions]::CreateEntryFromFile($zipArchive, $filePath, $file) -} - -$zipArchive.Dispose() -Write-Host "ZIP-Datei erstellt: $zipFile"