git-wipe-git
CLEAN
maintainer noirbizarre
0 votes
scanned 2026-08-20 00:05:13.298181
Triggered rules
Clean
AI review downgraded a static finding
llm_review
The static rules flagged this LOW, but an AI model (qwen/qwen3-235b-a22b-2507) reviewed the full PKGBUILD and judged it CLEAN (confidence 95%): The package builds from the official GitHub source, uses standard Rust/cargo build practices, and installs only the resulting binary, man pages, completions, and documentation; the SKIP'd checksum is expected for VCS packages and does not indicate risk.
1 higher static finding superseded - not the current verdict (shown for transparency)
Low
Few votes, recently uploaded
zero_votes_recent
Uploaded within the last 14 days with 2 or fewer community votes — little peer review so far.
PKGBUILD
1
# Maintainer: Axel Haustant <noirbizarre@gmail.com>
2
#
3
# VCS package: tracks the `main` branch. `pkgver` is derived by makepkg, so this
4
# PKGBUILD carries no `@VERSION@` placeholder.
5
6
pkgname=git-wipe-git
7
_pkgname=git-wipe
8
pkgver=0.5.0.r0.g873f195
9
pkgrel=1
10
pkgdesc="Wipe out merged local branches and worktrees (git)"
11
arch=('x86_64' 'aarch64')
12
url="https://github.com/noirbizarre/git-wipe"
13
license=('MIT')
14
depends=('gcc-libs' 'glibc' 'git')
15
makedepends=('cargo' 'git')
16
provides=("$_pkgname=$pkgver")
17
# `replaces`/`conflicts` on the pre-rename name so `pacman -Syu` migrates
18
# anyone still on git-synchronizer-git instead of leaving both installed.
19
conflicts=("$_pkgname" 'git-synchronizer-git')
20
replaces=('git-synchronizer-git')
21
source=("$_pkgname::git+$url.git")
22
sha256sums=('SKIP')
23
24
pkgver() {
25
cd "$_pkgname"
26
# `s/^v//` because the project tags with a `v` prefix, which pkgver forbids.
27
git describe --long --tags 2>/dev/null |
28
sed 's/^v//;s/\([^-]*-g\)/r\1/;s/-/./g' ||
29
printf "0.0.0.r%s.g%s" "$(git rev-list --count HEAD)" "$(git rev-parse --short HEAD)"
30
}
31
32
prepare() {
33
cd "$_pkgname"
34
export RUSTUP_TOOLCHAIN=stable
35
cargo fetch --locked --target "$(rustc -vV | sed -n 's/host: //p')"
36
}
37
38
build() {
39
cd "$_pkgname"
40
export RUSTUP_TOOLCHAIN=stable
41
export CARGO_TARGET_DIR=target
42
cargo build --frozen --release --all-features
43
}
44
45
check() {
46
cd "$_pkgname"
47
export RUSTUP_TOOLCHAIN=stable
48
cargo test --frozen --release --all-features
49
}
50
51
package() {
52
cd "$_pkgname"
53
54
install -Dm755 target/release/git-wipe "$pkgdir/usr/bin/git-wipe"
55
56
# build.rs writes the man pages and completions into the build script's
57
# OUT_DIR, which cargo places in a hash-suffixed directory.
58
local out
59
out=$(find target/release/build -type d -path '*git-wipe-*/out' -print -quit)
60
[ -n "$out" ] || return 1
61
62
# The man pages are not a nicety: git rewrites `git wipe --help` into
63
# `git help wipe`, which runs `man git-wipe` and fails without them.
64
install -Dm644 -t "$pkgdir/usr/share/man/man1" "$out"/man/*.1
65
66
install -Dm644 "$out/completions/git-wipe.bash" \
67
"$pkgdir/usr/share/bash-completion/completions/git-wipe"
68
install -Dm644 "$out/completions/_git-wipe" \
69
"$pkgdir/usr/share/zsh/site-functions/_git-wipe"
70
install -Dm644 "$out/completions/git-wipe.fish" \
71
"$pkgdir/usr/share/fish/vendor_completions.d/git-wipe.fish"
72
73
install -Dm644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
74
install -Dm644 README.md "$pkgdir/usr/share/doc/$pkgname/README.md"
75
}
76
Changes since previous scan
--- PKGBUILD @ 2026-08-17 00:18+++ PKGBUILD @ 2026-08-20 00:05@@ -5,7 +5,7 @@ pkgname=git-wipe-git _pkgname=git-wipe-pkgver=0.4.0.r0.gac2384c+pkgver=0.5.0.r0.g873f195 pkgrel=1 pkgdesc="Wipe out merged local branches and worktrees (git)" arch=('x86_64' 'aarch64')Scan history
| Scanned at (UTC) | Severity | Rules |
|---|---|---|
| 2026-08-20 00:05:13 | Clean | 2 |
| 2026-08-19 23:42:47 | Low | 1 |
| 2026-08-17 00:18:29 | Clean | 2 |
| 2026-08-16 09:32:18 | Low | 1 |