From ce77be2fb546f5bd67cc438c7dece3b10b8da056 Mon Sep 17 00:00:00 2001
From: Joel Grunbaum <joelgrun@gmail.com>
Date: Tue, 03 Mar 2026 00:09:03 +0000
Subject: [PATCH] Allow rebuilding existing repo packages

---
 src/archrepobuild/cli.py |   15 ++++++++++++---
 1 files changed, 12 insertions(+), 3 deletions(-)

diff --git a/src/archrepobuild/cli.py b/src/archrepobuild/cli.py
index 8e4337f..1941d00 100644
--- a/src/archrepobuild/cli.py
+++ b/src/archrepobuild/cli.py
@@ -117,8 +117,14 @@
 
 @cli.command()
 @click.argument("packages", nargs=-1, required=True)
+@click.option(
+    "--include-repo",
+    is_flag=True,
+    default=False,
+    help="Check managed repository for existing packages (skip if present)",
+)
 @pass_context
-def add(ctx: Context, packages: tuple[str, ...]) -> None:
+def add(ctx: Context, packages: tuple[str, ...], include_repo: bool) -> None:
     """Add and build new packages from the AUR."""
     config = ctx.config
 
@@ -129,11 +135,14 @@
                 results = []
                 for package in packages:
                     console.print(f"[bold blue]Adding package:[/] {package}")
-                    result = await builder.add_package(package)
+                    result = await builder.add_package(package, include_repo=include_repo)
                     results.append(result)
 
                     if result.status == BuildStatus.SUCCESS:
-                        console.print(f"[green]✓[/] {package} processed successfully")
+                        if len(result.artifacts) > 1:
+                            console.print(f"[green]✓[/] {package} processed successfully ({len(result.artifacts)} artifacts registered)")
+                        else:
+                            console.print(f"[green]✓[/] {package} processed successfully")
                     elif result.status == BuildStatus.SKIPPED:
                         console.print(f"[yellow]⏭[/] {package} skipped (already in managed repository)")
                     else:

--
Gitblit v1.10.0