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"