From 26ddebb34c846f0ac33f09cb300de3603ed790e0 Mon Sep 17 00:00:00 2001 From: Raz Ben Aharon <181751257+razbenaharon@users.noreply.github.com> Date: Sat, 7 Nov 2026 23:41:10 +0200 Subject: [PATCH] Privacy check: skip last-commit emails in CI GitHub web merges and pull request test merges carry the account's own email, which the owner is fine to show, so every pull request failed the check. Names and messages, tracked files and local commit identities (pre-commit hook) are still checked. Co-Authored-By: Claude Opus 5.5 --- CHANGELOG.md | 1 + Test-PrivacyGuard.ps1 | 4 +++- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 2719b57..217e18c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,7 @@ ## Unreleased +- The privacy check no longer checks the email addresses on the last commit in CI. Merges made on GitHub, and the test merge GitHub builds for a pull request, carry the account's own email, so every pull request failed. Commit names and messages, every tracked file, and the identity of local commits (pre-commit hook) are still checked. - Plain copy never copies DevDriveBackup's password and recovery key folders or key files, also when one of them is itself a selected folder or file. robocopy skips folders only below the one it copies, so such a selection used to be copied as it was, readable recovery keys included. The run now names it as not copied, and names an older copy of a private folder still in the plain copy so it can be deleted. - A new source never gets the plain copy or versions folder of a removed source of the same drive. Removed sources keep their folders on the drive, but only connected drives were checked for names in use, so a folder with the same name added while the drive was unplugged wrote into the old copy, and with *Keep deleted* moved the old source's other files aside. A removed folder added again gets its own folders back, unless another source now uses its repository; then it starts with new ones. - Before a drive check asks for administrator rights, the window checks whether other accounts can change what it runs (its scripts, `smartctl` and its folder) or rename a folder above them, names those accounts and asks first; a junction or link on the way counts too. The check runs the bundled `smartctl.exe` only when its SHA-256 matches the official 7.5 build and keeps it open, readable only, while it runs; **Install health tool** keeps the installer open in the same way from its checksum check until it has run. diff --git a/Test-PrivacyGuard.ps1 b/Test-PrivacyGuard.ps1 index 9bf0b09..7408267 100644 --- a/Test-PrivacyGuard.ps1 +++ b/Test-PrivacyGuard.ps1 @@ -102,7 +102,9 @@ if($MessageFile){ Test-Text $e.Path ([Text.UTF8Encoding]::new($false).GetString($bytes)) } if($Staged){foreach($v in 'GIT_AUTHOR_IDENT','GIT_COMMITTER_IDENT'){Test-Text $v ((Invoke-Git var $v) -replace '\s+\d+\s+[+-]\d{4}$','')}} - else{& git -C $PSScriptRoot rev-parse --verify -q HEAD *>$null;if(-not $LASTEXITCODE){Test-Text 'last commit' ((Invoke-Git log -1 --format='%an <%ae>%n%cn <%ce>%n%B') -join "`n")}} + # The last commit's author and committer emails are not checked: merges on GitHub (and its pull request + # test merges) carry the account's own email, which the owner chose to show. Names and the message still are. + else{& git -C $PSScriptRoot rev-parse --verify -q HEAD *>$null;if(-not $LASTEXITCODE){Test-Text 'last commit' ((Invoke-Git log -1 --format='%an%n%cn%n%B') -join "`n")}} } if($findings.Count){