feat: PowerShell-Skript erstellt, um geänderte Dateien zwischen zwei Git-Tags zu ermitteln und in einer ZIP-Datei zu archivieren
This commit is contained in:
54
git_diff_to_zip.ps1
Normal file
54
git_diff_to_zip.ps1
Normal file
@@ -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"
|
||||
@@ -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"
|
||||
Reference in New Issue
Block a user