git: 366ffdefb4c4 - main - devel/git-arc: New port for FreeBSD code reviews

From: Joseph Mingrone <jrm_at_FreeBSD.org>
Date: Mon, 20 Dec 2021 19:45:34 UTC
The branch main has been updated by jrm:

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

commit 366ffdefb4c4cae75dfaeb4d256c6c75955eabbe
Author:     Joseph Mingrone <jrm@FreeBSD.org>
AuthorDate: 2021-11-26 17:38:35 +0000
Commit:     Joseph Mingrone <jrm@FreeBSD.org>
CommitDate: 2021-12-20 19:41:06 +0000

    devel/git-arc: New port for FreeBSD code reviews
    
    FreeBSD code review with git-arc:
    https://freebsdfoundation.org/wp-content/uploads/2021/11/FreeBSD-Code-Review-with-git-arc.pdf
---
 devel/Makefile          |  1 +
 devel/git-arc/Makefile  | 38 ++++++++++++++++++++++++++++++++++++++
 devel/git-arc/distinfo  |  5 +++++
 devel/git-arc/pkg-descr | 16 ++++++++++++++++
 4 files changed, 60 insertions(+)

diff --git a/devel/Makefile b/devel/Makefile
index 4ab35e2055e3..bff4d5fcbd0a 100644
--- a/devel/Makefile
+++ b/devel/Makefile
@@ -830,6 +830,7 @@
     SUBDIR += gindent
     SUBDIR += gio-sharp
     SUBDIR += git
+    SUBDIR += git-arc
     SUBDIR += git-absorb
     SUBDIR += git-bug
     SUBDIR += git-cinnabar
diff --git a/devel/git-arc/Makefile b/devel/git-arc/Makefile
new file mode 100644
index 000000000000..ba3fdf65f006
--- /dev/null
+++ b/devel/git-arc/Makefile
@@ -0,0 +1,38 @@
+PORTNAME=	git-arc
+PORTVERSION=	20211118
+CATEGORIES=	devel
+MASTER_SITES=	https://cgit.freebsd.org/src/plain/tools/tools/git/
+DISTFILES=	${PORTNAME}.sh?id=${_REV} \
+		${PORTNAME}.1?id=${_REV}
+DIST_SUBDIR=	${PKGNAMEPREFIX}${PORTNAME}
+
+MAINTAINER=	jrm@FreeBSD.org
+COMMENT=	FreeBSD Phabricator reviews based on git commits
+
+LICENSE=	BSD2CLAUSE
+
+RUN_DEPENDS=	arc:devel/arcanist \
+		git:devel/git \
+		jq:textproc/jq
+
+EXTRACT_CMD=	${CP}
+EXTRACT_BEFORE_ARGS=	# empty
+EXTRACT_AFTER_ARGS=	.
+NO_ARCH=	yes
+NO_BUILD=	yes
+
+NO_WRKSUBDIR=	yes
+PLIST_FILES=	bin/${PORTNAME} \
+		man/man1/${PORTNAME}.1.gz
+
+_REV=		964035c409b1b7229c7bc0220e7455e4a038ed4b
+
+post-patch:
+	@${MV} ${WRKSRC}/${PORTNAME}.sh?id=* ${WRKSRC}/${PORTNAME}.sh
+	@${MV} ${WRKSRC}/${PORTNAME}.1?id=* ${WRKSRC}/${PORTNAME}.1
+
+do-install:
+	${INSTALL_SCRIPT} ${WRKSRC}/${PORTNAME}.sh ${STAGEDIR}${PREFIX}/bin/${PORTNAME}
+	${INSTALL_MAN} ${WRKSRC}/${PORTNAME}.1 ${STAGEDIR}${MAN1PREFIX}/man/man1/
+
+.include <bsd.port.mk>
diff --git a/devel/git-arc/distinfo b/devel/git-arc/distinfo
new file mode 100644
index 000000000000..de3851df59c4
--- /dev/null
+++ b/devel/git-arc/distinfo
@@ -0,0 +1,5 @@
+TIMESTAMP = 1637946965
+SHA256 (git-arc/git-arc.sh?id=964035c409b1b7229c7bc0220e7455e4a038ed4b) = 3b2f8e0a519b30063bcfee8c191e9c151ceb5422d1e4d2aa07dce43e7a290e8b
+SIZE (git-arc/git-arc.sh?id=964035c409b1b7229c7bc0220e7455e4a038ed4b) = 16149
+SHA256 (git-arc/git-arc.1?id=964035c409b1b7229c7bc0220e7455e4a038ed4b) = ff882a81081cbe12b90a8008d9be9cf6d8175e583c319240a6c76b8e17361dc0
+SIZE (git-arc/git-arc.1?id=964035c409b1b7229c7bc0220e7455e4a038ed4b) = 6609
diff --git a/devel/git-arc/pkg-descr b/devel/git-arc/pkg-descr
new file mode 100644
index 000000000000..0d40d1473097
--- /dev/null
+++ b/devel/git-arc/pkg-descr
@@ -0,0 +1,16 @@
+The git-arc utility creates and manages FreeBSD Phabricator reviews
+based on git commits.  It is a git plugin that provides a wrapper around
+arc.
+
+The arc command has a few limitations that make it awkward for FreeBSD
+development:
+
+- Arcanist uses its own commit log template with a format does not match
+  FreeBSD's template.
+
+- Arcanist presumes a model where all the commits in a development
+  branch are uploaded for review as a single Differential revision.
+  When working on a feature branch with multiple commits, it is usually
+  more efficient to review each commit individually.
+
+git-arc mitigates these limitations.