Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 07 Mar 2026 23:34:02 +0000
From:      Warner Losh <imp@FreeBSD.org>
To:        ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-main@FreeBSD.org
Subject:   git: ecc11b1dbdc2 - main - devel/ghpr: github pull request
Message-ID:  <69acb5ea.454dd.ea1d1fa@gitrepo.freebsd.org>

index | next in thread | raw e-mail

The branch main has been updated by imp:

URL: https://cgit.FreeBSD.org/ports/commit/?id=ecc11b1dbdc2ef933636e87da3c5c46b86d38b3b

commit ecc11b1dbdc2ef933636e87da3c5c46b86d38b3b
Author:     Warner Losh <imp@FreeBSD.org>
AuthorDate: 2026-03-07 22:41:56 +0000
Commit:     Warner Losh <imp@FreeBSD.org>
CommitDate: 2026-03-07 23:33:10 +0000

    devel/ghpr: github pull request
    
    Tool to help FreeBSD developers land github pull requests, initial
    version.
    
    Sponsored by:           Netflix
---
 devel/Makefile       |  1 +
 devel/ghpr/Makefile  | 30 ++++++++++++++++++++++++++++++
 devel/ghpr/distinfo  |  3 +++
 devel/ghpr/pkg-descr | 16 ++++++++++++++++
 4 files changed, 50 insertions(+)

diff --git a/devel/Makefile b/devel/Makefile
index 8b22f5a3695b..fb9937c11aea 100644
--- a/devel/Makefile
+++ b/devel/Makefile
@@ -833,6 +833,7 @@
     SUBDIR += gh
     SUBDIR += ghidra
     SUBDIR += ghostie
+    SUBDIR += ghpr
     SUBDIR += ghq
     SUBDIR += ghub
     SUBDIR += gilt
diff --git a/devel/ghpr/Makefile b/devel/ghpr/Makefile
new file mode 100644
index 000000000000..ae987c7e917e
--- /dev/null
+++ b/devel/ghpr/Makefile
@@ -0,0 +1,30 @@
+PORTNAME=	ghpr
+DISTVERSIONPREFIX=	v
+DISTVERSION=	1
+CATEGORIES=	devel python
+
+MAINTAINER=	imp@FreeBSD.org
+COMMENT=	GitHub Pull Request landing tool for FreeBSD
+WWW=		https://github.com/bsdimp/ghpr
+
+LICENSE=	BSD2CLAUSE
+
+RUN_DEPENDS=	gh:devel/gh \
+		git:devel/git
+
+USES=		python:3.8+ shebangfix
+SHEBANG_GLOB=	*.py
+USE_PYTHON=	py3kplist
+
+USE_GITHUB=	yes
+GH_ACCOUNT=	bsdimp
+
+NO_ARCH=	yes
+NO_BUILD=	yes
+
+PLIST_FILES=	bin/ghpr
+
+do-install:
+	${INSTALL_SCRIPT} ${WRKSRC}/ghpr.py ${STAGEDIR}${PREFIX}/bin/ghpr
+
+.include <bsd.port.mk>
diff --git a/devel/ghpr/distinfo b/devel/ghpr/distinfo
new file mode 100644
index 000000000000..19d7169c97d4
--- /dev/null
+++ b/devel/ghpr/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1772906313
+SHA256 (bsdimp-ghpr-v1_GH0.tar.gz) = c75e7148f0cbe965c0c7c156b3359ce85dd9920959695bb94d55fbdbcacc9881
+SIZE (bsdimp-ghpr-v1_GH0.tar.gz) = 20765
diff --git a/devel/ghpr/pkg-descr b/devel/ghpr/pkg-descr
new file mode 100644
index 000000000000..8c4ca22497a4
--- /dev/null
+++ b/devel/ghpr/pkg-descr
@@ -0,0 +1,16 @@
+ghpr is a Python-based tool to land GitHub pull requests into FreeBSD
+repositories.
+
+It streamlines the process of integrating GitHub pull requests by combining
+PR initialization, staging, and pushing into a unified command-line interface.
+
+Key features:
+- Creates and maintains a dedicated staging branch for PR integration
+- Downloads PRs and rebases them with automatic conflict detection
+- Adds appropriate commit metadata (reviewer info and PR references)
+- Tracks PR status through GitHub labels ('staged' and 'merged')
+- Pushes changes upstream while automatically closing associated PRs
+- Supports dry-run mode and verbose output for debugging
+- Handles conflict resolution workflows
+
+Requires the GitHub CLI (gh) with configured authentication.


home | help

Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?69acb5ea.454dd.ea1d1fa>