git: ff5ded75bcda - main - devel/git: Split into subpackages

From: Renato Botelho <garga_at_FreeBSD.org>
Date: Tue, 12 Oct 2021 15:19:28 UTC
The branch main has been updated by garga:

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

commit ff5ded75bcda28c580623504e01f5db8eb6be9cf
Author:     Renato Botelho <garga@FreeBSD.org>
AuthorDate: 2021-10-08 11:48:52 +0000
Commit:     Renato Botelho <garga@FreeBSD.org>
CommitDate: 2021-10-12 15:18:54 +0000

    devel/git: Split into subpackages
    
    Removed CVS, GUI, PERFORCE and SUBVERSION options and also gui and svn
    FLAVORS, and create 4 new subports:
    
    devel/git-cvs
    devel/git-gui
    devel/git-p4
    devel/git-svn
    
    All these packages depend of devel/git and install only additional files
    and manpages.  This work is based on initial patch submitted by grembo@i
    at review D30238.
    
    PR:             251090
    Sponsored by:   Rubicon Communications, LLC ("Netgate")
    Differential Revision:  https://reviews.freebsd.org/D32369
---
 MOVED                          |   2 -
 UPDATING                       |  15 +++
 devel/Makefile                 |   4 +
 devel/git-cvs/Makefile         |   9 ++
 devel/git-cvs/pkg-descr        |   5 +
 devel/git-cvs/pkg-plist        |   8 ++
 devel/git-gui/Makefile         |   9 ++
 devel/git-gui/pkg-descr        |   1 +
 devel/git-gui/pkg-plist        |  78 ++++++++++++++
 devel/git-p4/Makefile          |   9 ++
 devel/git-p4/pkg-descr         |   3 +
 devel/git-p4/pkg-plist         |   2 +
 devel/git-svn/Makefile         |   9 ++
 devel/git-svn/pkg-descr        |   5 +
 devel/git-svn/pkg-plist        |   2 +
 devel/git/Makefile             | 233 +++++++++++++++++++++++++++++------------
 devel/git/files/patch-Makefile |  21 +++-
 devel/git/pkg-descr-gui        |   6 --
 devel/git/pkg-descr-lite       |   2 +
 devel/git/pkg-descr-svn        |   6 --
 devel/git/pkg-descr-tiny       |   2 +
 devel/git/pkg-plist            |  91 ----------------
 22 files changed, 346 insertions(+), 176 deletions(-)

diff --git a/MOVED b/MOVED
index 1287c0a1a27b..d51d72b9acfc 100644
--- a/MOVED
+++ b/MOVED
@@ -15420,7 +15420,6 @@ devel/cx_Freeze||2020-09-19|Has expired: Uses deprecated version of python
 devel/euca2ools||2020-09-19|Has expired: Uses deprecated version of python
 devel/evolution-gconf-tools||2020-09-19|Has expired: Uses deprecated version of python
 devel/git-bzr-ng||2020-09-19|Has expired: Uses deprecated version of python
-devel/git-cvs||2020-09-19|Has expired: Uses deprecated version of python
 devel/git-remote-hg||2020-09-19|Has expired: Uses deprecated version of python
 devel/grumpy||2020-09-19|Has expired: Uses deprecated version of python
 devel/hg-git||2020-09-19|Has expired: Uses deprecated version of python
@@ -15558,7 +15557,6 @@ lang/spidermonkey68|lang/spidermonkey78|2020-10-01|Replaced by a more recent ver
 audio/zinf||2020-10-02|Has expired: Does not build, no upstream
 emulators/qemu-sbruno|emulators/qemu|2020-10-02|Has expired: Port will be removed in favor of emulators/qemu
 dns/knot2-lib|dns/knot3-lib|2020-10-04|Replaced by a more recent version
-devel/git-gui|devel/git@gui|2020-10-12|Replaced by a flavor
 devel/git-lite|devel/git@lite|2020-10-12|Replaced by a flavor
 graphics/libxatracker|graphics/mesa-gallium-xa|2020-10-12|Rename to have all gallium driver properly named
 sysutils/gnome-mount||2020-10-12|Replaced by gio/gvfs
diff --git a/UPDATING b/UPDATING
index d3b1696e6298..5574f9d46ce6 100644
--- a/UPDATING
+++ b/UPDATING
@@ -5,6 +5,21 @@ they are unavoidable.
 You should get into the habit of checking this file for changes each time
 you update your ports collection, before attempting any port upgrades.
 
+20211012:
+  AFFECTS: users of devel/git
+  AUTHOR: garga@FreeBSD.org
+
+  devel/git port was split into multiple sub-ports that depend on devel/git
+  and install additional files:
+
+  - devel/git-cvs - CVS related scripts and man pages
+  - devel/git-gui - GUI related scripts and man pages
+  - devel/git-p4  - Perforce related scripts and man pages
+  - devel/git-svn - Subversion related scripts and man pages
+
+  Due to these changes, CVS, GUI, PERFORCE, and SUBVERSION options
+  as well as gui and svn flavors were removed from the port.
+
 20211010:
   AFFECTS: users of gtk2 flavored devel/geany*
   AUTHOR: madpilot@FreeBSD.org
diff --git a/devel/Makefile b/devel/Makefile
index 563c6d4bcc97..76d991421c39 100644
--- a/devel/Makefile
+++ b/devel/Makefile
@@ -822,15 +822,19 @@
     SUBDIR += git-cinnabar
     SUBDIR += git-codereview
     SUBDIR += git-cola
+    SUBDIR += git-cvs
     SUBDIR += git-delta
     SUBDIR += git-extras
     SUBDIR += git-filter-repo
+    SUBDIR += git-gui
     SUBDIR += git-lab
     SUBDIR += git-lfs
     SUBDIR += git-merge-changelog
     SUBDIR += git-modes
+    SUBDIR += git-p4
     SUBDIR += git-review
     SUBDIR += git-subrepo
+    SUBDIR += git-svn
     SUBDIR += git-town
     SUBDIR += gitaly
     SUBDIR += gitblit
diff --git a/devel/git-cvs/Makefile b/devel/git-cvs/Makefile
new file mode 100644
index 000000000000..c166fc07c0f3
--- /dev/null
+++ b/devel/git-cvs/Makefile
@@ -0,0 +1,9 @@
+COMMENT=	CVS emulation and import/export for git
+
+SUBPORT=	cvs
+
+MASTERDIR=	${.CURDIR}/../git
+DESCR=		${.CURDIR}/pkg-descr
+PLIST=		${.CURDIR}/pkg-plist
+
+.include "${MASTERDIR}/Makefile"
diff --git a/devel/git-cvs/pkg-descr b/devel/git-cvs/pkg-descr
new file mode 100644
index 000000000000..46a73b6df915
--- /dev/null
+++ b/devel/git-cvs/pkg-descr
@@ -0,0 +1,5 @@
+Various commands to support CVS in git:
+- git-cvsexportcommit - Export a single commit to a CVS checkout
+- git-cvsimport - Salvage your data out of another SCM people
+  love to hate
+- git-cvsserver - A CVS server emulator for Git
diff --git a/devel/git-cvs/pkg-plist b/devel/git-cvs/pkg-plist
new file mode 100644
index 000000000000..275735bb4df2
--- /dev/null
+++ b/devel/git-cvs/pkg-plist
@@ -0,0 +1,8 @@
+bin/git-cvsserver
+libexec/git-core/git-cvsexportcommit
+libexec/git-core/git-cvsimport
+libexec/git-core/git-cvsserver
+man/man1/git-cvsexportcommit.1.gz
+man/man1/git-cvsimport.1.gz
+man/man1/git-cvsserver.1.gz
+man/man7/gitcvs-migration.7.gz
diff --git a/devel/git-gui/Makefile b/devel/git-gui/Makefile
new file mode 100644
index 000000000000..e18ff84eb3b7
--- /dev/null
+++ b/devel/git-gui/Makefile
@@ -0,0 +1,9 @@
+COMMENT=	Git GUI (Graphical User Interface) components
+
+SUBPORT=	gui
+
+MASTERDIR=	${.CURDIR}/../git
+DESCR=		${.CURDIR}/pkg-descr
+PLIST=		${.CURDIR}/pkg-plist
+
+.include "${MASTERDIR}/Makefile"
diff --git a/devel/git-gui/pkg-descr b/devel/git-gui/pkg-descr
new file mode 100644
index 000000000000..99d351adc071
--- /dev/null
+++ b/devel/git-gui/pkg-descr
@@ -0,0 +1 @@
+Git GUI (Graphical User Interface) components
diff --git a/devel/git-gui/pkg-plist b/devel/git-gui/pkg-plist
new file mode 100644
index 000000000000..42ecf2cbda19
--- /dev/null
+++ b/devel/git-gui/pkg-plist
@@ -0,0 +1,78 @@
+bin/gitk
+libexec/git-core/git-citool
+libexec/git-core/git-gui
+libexec/git-core/git-gui--askpass
+man/man1/git-citool.1.gz
+man/man1/git-gui.1.gz
+man/man1/gitk.1.gz
+share/git-gui/lib/about.tcl
+share/git-gui/lib/blame.tcl
+share/git-gui/lib/branch.tcl
+share/git-gui/lib/branch_checkout.tcl
+share/git-gui/lib/branch_create.tcl
+share/git-gui/lib/branch_delete.tcl
+share/git-gui/lib/branch_rename.tcl
+share/git-gui/lib/browser.tcl
+share/git-gui/lib/checkout_op.tcl
+share/git-gui/lib/choose_font.tcl
+share/git-gui/lib/choose_repository.tcl
+share/git-gui/lib/choose_rev.tcl
+share/git-gui/lib/chord.tcl
+share/git-gui/lib/class.tcl
+share/git-gui/lib/commit.tcl
+share/git-gui/lib/console.tcl
+share/git-gui/lib/database.tcl
+share/git-gui/lib/date.tcl
+share/git-gui/lib/diff.tcl
+share/git-gui/lib/encoding.tcl
+share/git-gui/lib/error.tcl
+share/git-gui/lib/git-gui.ico
+share/git-gui/lib/index.tcl
+share/git-gui/lib/line.tcl
+share/git-gui/lib/logo.tcl
+share/git-gui/lib/merge.tcl
+share/git-gui/lib/mergetool.tcl
+share/git-gui/lib/msgs/bg.msg
+share/git-gui/lib/msgs/de.msg
+share/git-gui/lib/msgs/el.msg
+share/git-gui/lib/msgs/fr.msg
+share/git-gui/lib/msgs/hu.msg
+share/git-gui/lib/msgs/it.msg
+share/git-gui/lib/msgs/ja.msg
+share/git-gui/lib/msgs/nb.msg
+share/git-gui/lib/msgs/pt_br.msg
+share/git-gui/lib/msgs/pt_pt.msg
+share/git-gui/lib/msgs/ru.msg
+share/git-gui/lib/msgs/sv.msg
+share/git-gui/lib/msgs/vi.msg
+share/git-gui/lib/msgs/zh_cn.msg
+share/git-gui/lib/option.tcl
+share/git-gui/lib/remote.tcl
+share/git-gui/lib/remote_add.tcl
+share/git-gui/lib/remote_branch_delete.tcl
+share/git-gui/lib/search.tcl
+share/git-gui/lib/shortcut.tcl
+share/git-gui/lib/spellcheck.tcl
+share/git-gui/lib/sshkey.tcl
+share/git-gui/lib/status_bar.tcl
+share/git-gui/lib/tclIndex
+share/git-gui/lib/themed.tcl
+share/git-gui/lib/tools.tcl
+share/git-gui/lib/tools_dlg.tcl
+share/git-gui/lib/transport.tcl
+share/git-gui/lib/win32.tcl
+share/git-gui/lib/win32_shortcut.js
+share/gitk/lib/msgs/bg.msg
+share/gitk/lib/msgs/ca.msg
+share/gitk/lib/msgs/de.msg
+share/gitk/lib/msgs/es.msg
+share/gitk/lib/msgs/fr.msg
+share/gitk/lib/msgs/hu.msg
+share/gitk/lib/msgs/it.msg
+share/gitk/lib/msgs/ja.msg
+share/gitk/lib/msgs/pt_br.msg
+share/gitk/lib/msgs/pt_pt.msg
+share/gitk/lib/msgs/ru.msg
+share/gitk/lib/msgs/sv.msg
+share/gitk/lib/msgs/vi.msg
+share/gitk/lib/msgs/zh_cn.msg
diff --git a/devel/git-p4/Makefile b/devel/git-p4/Makefile
new file mode 100644
index 000000000000..ce7ce0b1ea2c
--- /dev/null
+++ b/devel/git-p4/Makefile
@@ -0,0 +1,9 @@
+COMMENT=	Import from and submit to Perforce repositories using git
+
+SUBPORT=	p4
+
+MASTERDIR=	${.CURDIR}/../git
+DESCR=		${.CURDIR}/pkg-descr
+PLIST=		${.CURDIR}/pkg-plist
+
+.include "${MASTERDIR}/Makefile"
diff --git a/devel/git-p4/pkg-descr b/devel/git-p4/pkg-descr
new file mode 100644
index 000000000000..96da0e2e4b47
--- /dev/null
+++ b/devel/git-p4/pkg-descr
@@ -0,0 +1,3 @@
+Import from and submit to Perforce repositories
+
+This command provides a way to interact with p4 repositories using Git.
diff --git a/devel/git-p4/pkg-plist b/devel/git-p4/pkg-plist
new file mode 100644
index 000000000000..54a36e31a68c
--- /dev/null
+++ b/devel/git-p4/pkg-plist
@@ -0,0 +1,2 @@
+libexec/git-core/git-p4
+man/man1/git-p4.1.gz
diff --git a/devel/git-svn/Makefile b/devel/git-svn/Makefile
new file mode 100644
index 000000000000..60d0bbe82a5d
--- /dev/null
+++ b/devel/git-svn/Makefile
@@ -0,0 +1,9 @@
+COMMENT=	Bidirectional operation between a Subversion repository and Git
+
+SUBPORT=	svn
+
+MASTERDIR=	${.CURDIR}/../git
+DESCR=		${.CURDIR}/pkg-descr
+PLIST=		${.CURDIR}/pkg-plist
+
+.include "${MASTERDIR}/Makefile"
diff --git a/devel/git-svn/pkg-descr b/devel/git-svn/pkg-descr
new file mode 100644
index 000000000000..aa716d2ea7ed
--- /dev/null
+++ b/devel/git-svn/pkg-descr
@@ -0,0 +1,5 @@
+Bidirectional operation between a Subversion repository and Git
+
+git svn is a simple conduit for changesets between Subversion and Git. It
+provides a bidirectional flow of changes between a Subversion and a Git
+repository.
diff --git a/devel/git-svn/pkg-plist b/devel/git-svn/pkg-plist
new file mode 100644
index 000000000000..783f54bf12ee
--- /dev/null
+++ b/devel/git-svn/pkg-plist
@@ -0,0 +1,2 @@
+libexec/git-core/git-svn
+man/man1/git-svn.1.gz
diff --git a/devel/git/Makefile b/devel/git/Makefile
index 0214bf520891..d0dea2ba690b 100644
--- a/devel/git/Makefile
+++ b/devel/git/Makefile
@@ -12,46 +12,51 @@ EXTRACT_ONLY=	${DISTNAME}${EXTRACT_SUFX} \
 		${PORTNAME}-manpages-${DISTVERSION}${EXTRACT_SUFX}
 
 MAINTAINER=	garga@FreeBSD.org
-COMMENT=	Distributed source code management tool ${COMMENT_${FLAVOR}}
+COMMENT?=	Distributed source code management tool ${COMMENT_${FLAVOR}}
 
 LICENSE=	GPLv2
 LICENSE_FILE=	${WRKSRC}/COPYING
 
-FLAVORS=	default gui lite svn tiny
-default_CONFLICTS_INSTALL=	git-gui git-lite git-svn git-tiny
-gui_CONFLICTS_INSTALL=		git git-lite git-svn git-tiny
-gui_DESCR=			${.CURDIR}/pkg-descr-gui
-gui_PKGNAMESUFFIX=		-gui
-lite_CONFLICTS_INSTALL=		git git-gui git-svn git-tiny
+SUBPORT?=	core
+
+.if ${SUBPORT} != core
+PKGNAMESUFFIX=	-${SUBPORT}
+.endif
+
+.if ${SUBPORT} == core
+FLAVORS=	default lite tiny
+default_CONFLICTS_INSTALL=	git-lite git-tiny
+lite_CONFLICTS_INSTALL=		git git-tiny
 lite_DESCR=			${.CURDIR}/pkg-descr-lite
 lite_PKGNAMESUFFIX=		-lite
-svn_CONFLICTS_INSTALL=		git git-gui git-lite git-tiny
-svn_DESCR=			${.CURDIR}/pkg-descr-svn
-svn_PKGNAMESUFFIX=		-svn
-tiny_CONFLICTS_INSTALL=		git git-gui git-svn git-lite
+tiny_CONFLICTS_INSTALL=		git git-lite
 tiny_DESCR=			${.CURDIR}/pkg-descr-tiny
 tiny_PKGNAMESUFFIX=		-tiny
+.endif
 
-USES=		autoreconf cpe gmake iconv shebangfix ssl tar:xz
+USES=		autoreconf gmake iconv shebangfix tar:xz
 
 CPE_VENDOR=	git-scm
 
-COMMENT_gui=	(GUI enabled flavor)
+.if ${SUBPORT} == core
+USES+=		ssl
 COMMENT_lite=	(lite flavor)
-COMMENT_svn=	(SVN enabled flavor)
 COMMENT_tiny=	(tiny flavor)
 
 USERS=		git_daemon
 GROUPS=		git_daemon
+.endif
 
 SUB_FILES=	pkg-message gitweb.conf
 
 GNU_CONFIGURE=	yes
 CPPFLAGS+=	-isystem${LOCALBASE}/include
 LDFLAGS+=	-L${LOCALBASE}/lib
-MAKE_ARGS+=	DEVELOPER=
+MAKE_ARGS=	DEVELOPER= NO_TCLTK=yes
 MAKE_ENV+=	V=1
+.if ${SUBPORT} == core
 USE_RC_SUBR=	git_daemon
+.endif
 SHEBANG_FILES=	*.perl */*.perl */*/*.perl */*.pl */*/*.pl */*/*/*.pl \
 		t/*/*/pre t/*/*/post t/Git-SVN/Utils/*.t \
 		git-p4.py \
@@ -70,30 +75,27 @@ TEST_TARGET=	test
 
 CONFIGURE_ARGS=	--enable-pthreads=-pthread ac_cv_header_libcharset_h=no
 
-OPTIONS_DEFINE=	CONTRIB CURL CVS GITWEB GUI HTMLDOCS ICONV NLS PCRE2 PERFORCE PERL \
-		SEND_EMAIL SUBTREE SUBVERSION
-OPTIONS_DEFAULT=CONTRIB CURL CVS GITWEB ICONV PCRE2 PERFORCE PERL SEND_EMAIL \
+.if ${SUBPORT} == core
+
+OPTIONS_DEFINE=	CONTRIB CURL GITWEB HTMLDOCS ICONV NLS PCRE2 PERL SEND_EMAIL \
 		SUBTREE
-.if ${FLAVOR:U} == gui
-OPTIONS_SLAVE+=		GUI
-.elif ${FLAVOR:U} == lite
-OPTIONS_EXCLUDE=	GUI SUBVERSION GITWEB CONTRIB PERFORCE CVS PERL
-.elif ${FLAVOR:U} == svn
-OPTIONS_SLAVE+=		SUBVERSION
-.elif ${FLAVOR:U} == tiny
+OPTIONS_DEFAULT=CONTRIB CURL GITWEB ICONV PCRE2 PERL SEND_EMAIL SUBTREE
+
+. if ${FLAVOR:U} == lite
+OPTIONS_EXCLUDE+=	GITWEB CONTRIB PERL
+. elif ${FLAVOR:U} == tiny
 OPTIONS_EXCLUDE:=	${OPTIONS_DEFINE:NCURL}
 OPTIONS_SLAVE=		CURL
-.endif
+. endif
 
 OPTIONS_SUB=	yes
 
-.if !empty(FLAVOR) && ${FLAVOR:U} != default
+. if !empty(FLAVOR) && ${FLAVOR:U} != default
 OPTIONS_FILE=		${PORT_DBDIR}/${OPTIONS_NAME}/${FLAVOR}-options
-.endif
+. endif
 
 CONTRIB_DESC=	Install contributed scripts
 CURL_DESC=	Install curl support (provides HTTPS transport)
-CVS_DESC=	Enable CVS support
 GITWEB_DESC=	Install gitweb
 HTMLDOCS_DESC=	Install additional documentation
 PCRE2_DESC=	Use Perl Compatible Regular Expressions (v2)
@@ -129,21 +131,34 @@ CURL_MAKE_ARGS_OFF=	NO_CURL=1 NO_EXPAT=1
 
 HTMLDOCS_DISTFILES=	${PORTNAME}-htmldocs-${DISTVERSION}${EXTRACT_SUFX}
 
-GUI_USES=		tk
-GUI_MAKE_ARGS=		TCL_PATH=${TCLSH} TCLTK_PATH=${WISH}
-GUI_MAKE_ARGS_OFF=	NO_TCLTK=yes
-
-SUBVERSION_RUN_DEPENDS=	p5-Term-ReadKey>=0:devel/p5-Term-ReadKey
-.if ${WITH_SUBVERSION_VER:U} == LTS
-SUBVERSION_RUN_DEPENDS+=	p5-subversion-lts>=0:devel/p5-subversion
-.else
-SUBVERSION_RUN_DEPENDS+=	p5-subversion>=0:devel/p5-subversion
-.endif
-
 SUBTREE_BUILD_DEPENDS=	asciidoctor:textproc/rubygem-asciidoctor\
 			xmlto:textproc/xmlto
 
-CVS_RUN_DEPENDS=	cvsps:devel/cvsps
+.else
+
+NO_ARCH=	yes
+MAKE_ENV+=	V=1
+MAKE_ARGS=	NO_GETTEXT=yes
+. if ${SUBPORT} != gui
+MAKE_ARGS+=	NO_TCLTK=yes
+. endif
+
+RUN_DEPENDS+=	git=${PKGVERSION}:devel/git
+
+. if ${SUBPORT} == cvs
+RUN_DEPENDS+=	cvsps:devel/cvsps
+. elif ${SUBPORT} == gui
+USES+=		tk
+MAKE_ARGS+=	TCL_PATH=${TCLSH} TCLTK_PATH=${WISH}
+. elif ${SUBPORT} == svn
+RUN_DEPENDS+=	p5-Term-ReadKey>=0:devel/p5-Term-ReadKey
+.  if ${WITH_SUBVERSION_VER:U} == LTS
+RUN_DEPENDS+=	p5-subversion-lts>=0:devel/p5-subversion
+.  else
+RUN_DEPENDS+=	p5-subversion>=0:devel/p5-subversion
+.  endif
+. endif
+.endif
 
 .include <bsd.port.options.mk>
 
@@ -152,24 +167,28 @@ CVS_RUN_DEPENDS=	cvsps:devel/cvsps
 ALL_TARGET=	all strip
 .endif
 
-.if ${PORT_OPTIONS:MPERFORCE} || ${PORT_OPTIONS:MCONTRIB}
+.if ${SUBPORT} == p4 || ${PORT_OPTIONS:MCONTRIB}
 USES+=		python
 CONFIGURE_ARGS+=	--with-python=${PYTHON_CMD}
 .else
 CONFIGURE_ARGS+=	--without-python
 .endif
 
-.if empty(PORT_OPTIONS:MGUI)
+.if ${SUBPORT} != gui
 RMMAN1+=	git-citool.1 \
 		git-gui.1 \
 		gitk.1
 .endif
 
-.if empty(PORT_OPTIONS:MSUBVERSION)
+.if ${SUBPORT} != p4
+RMMAN1+=	git-p4.1
+.endif
+
+.if ${SUBPORT} != svn
 RMMAN1+=	git-svn.1
 .endif
 
-.if empty(PORT_OPTIONS:MCVS)
+.if ${SUBPORT} != cvs
 RMMAN1+=	git-cvsimport.1 \
 		git-cvsexportcommit.1 \
 		git-cvsserver.1
@@ -190,42 +209,54 @@ post-patch:
 	@${RM} ${WRKDIR}/man7/${FILE}
 .endfor
 	@${REINPLACE_CMD} -e "s,%%SITE_PERL%%,${SITE_PERL},g" ${WRKSRC}/Makefile
-
-post-patch-CONTRIB-on:
-	@${REINPLACE_CMD} -e "s,/usr/bin/perl,${PERL}," \
-		${WRKSRC}/contrib/diff-highlight/Makefile
-
-post-patch-CVS-off:
+.if ${SUBPORT} != cvs
 	@${REINPLACE_CMD} -e '/git-cvsexportcommit.perl/d; \
 		/git-cvsimport.perl/d; \
 		/git-cvsserver.perl/d; \
 		/documented,gitcvs-migration/d; \
 		s/git-cvsserver//' \
 		${WRKSRC}/Makefile
-
-post-patch-SUBVERSION-off:
+.endif
+.if ${SUBPORT} != p4
+	@${REINPLACE_CMD} -e '/^SCRIPT_PYTHON += git-p4.py$$/d' \
+		${WRKSRC}/Makefile
+.endif
+.if ${SUBPORT} != svn
 	@${REINPLACE_CMD} -e '/git-svn.perl/d' ${WRKSRC}/Makefile
+.endif
+.if ${SUBPORT} == gui
+	@${REINPLACE_CMD} -e "/exec wish/s,wish,${WISH}," \
+		${WRKSRC}/gitk-git/gitk \
+		${WRKSRC}/git-gui/git-gui--askpass
+.endif
 
-post-patch-GITWEB-off:
-	@${REINPLACE_CMD} -e '/$$(MAKE) -C gitweb install/d' ${WRKSRC}/Makefile
-	@${REINPLACE_CMD} -e "s,/usr/bin/perl,${PERL}," ${WRKSRC}/t/lib-gitweb.sh
+post-patch-CONTRIB-on:
+	@${REINPLACE_CMD} -e "s,/usr/bin/perl,${PERL}," \
+		${WRKSRC}/contrib/diff-highlight/Makefile
 
-post-patch-PERFORCE-off:
-	@${REINPLACE_CMD} -e '/^SCRIPT_PYTHON += git-p4.py$$/d' ${WRKSRC}/Makefile
+post-patch-GITWEB-off:
+	@${REINPLACE_CMD} -e '/$$(MAKE) -C gitweb install/d' \
+		${WRKSRC}/Makefile
+	@${REINPLACE_CMD} -e "s,/usr/bin/perl,${PERL}," \
+		${WRKSRC}/t/lib-gitweb.sh
 
-.if ${PORT_OPTIONS:MPERFORCE} || ${PORT_OPTIONS:MCONTRIB}
+.if ${SUBPORT} == p4 || ${PORT_OPTIONS:MCONTRIB}
 post-build:
 	@${FIND} ${WRKSRC} -name "*.bak" -delete
 .endif
 
+.if ${SUBPORT} == core
 post-build-CONTRIB-on:
 	${SETENV} ${MAKE_ENV} ${MAKE_CMD} -C ${WRKSRC}/contrib/diff-highlight
 	${RM} ${WRKSRC}/contrib/diff-highlight/shebang.perl
 
 post-install:
-	(cd ${WRKDIR}/man1/ && ${COPYTREE_SHARE} . ${STAGEDIR}${MANPREFIX}/man/man1)
-	(cd ${WRKDIR}/man5/ && ${COPYTREE_SHARE} . ${STAGEDIR}${MANPREFIX}/man/man5)
-	(cd ${WRKDIR}/man7/ && ${COPYTREE_SHARE} . ${STAGEDIR}${MANPREFIX}/man/man7)
+	(cd ${WRKDIR}/man1/ && \
+		${COPYTREE_SHARE} . ${STAGEDIR}${MANPREFIX}/man/man1)
+	(cd ${WRKDIR}/man5/ && \
+		${COPYTREE_SHARE} . ${STAGEDIR}${MANPREFIX}/man/man5)
+	(cd ${WRKDIR}/man7/ && \
+		${COPYTREE_SHARE} . ${STAGEDIR}${MANPREFIX}/man/man7)
 	${MKDIR} ${STAGEDIR}${PREFIX}/share/emacs/site-lisp/git
 	${INSTALL_DATA} ${WRKSRC}/contrib/emacs/git.el \
 		${STAGEDIR}${PREFIX}/share/emacs/site-lisp/git/
@@ -247,7 +278,8 @@ post-install-HTMLDOCS-on:
 
 post-install-SUBTREE-on:
 	cd ${WRKSRC}/contrib/subtree && ${SETENV} ${MAKE_ENV} \
-		${MAKE_CMD} ${MAKE_FLAGS} Makefile USE_ASCIIDOCTOR=1 ${MAKE_ARGS} install install-doc
+		${MAKE_CMD} ${MAKE_FLAGS} Makefile USE_ASCIIDOCTOR=1 \
+		${MAKE_ARGS} install install-doc
 
 post-install-CONTRIB-on:
 	@${ECHO_MSG} "===> Installing contributed scripts"
@@ -255,12 +287,81 @@ post-install-CONTRIB-on:
 	${RM} ${WRKSRC}/contrib/credential/netrc/test.netrc.gpg
 	${CP} -R ${WRKSRC}/contrib/* ${STAGEDIR}${PREFIX}/share/git-core/contrib
 
-post-install-PERFORCE-on:
-	${INSTALL_SCRIPT} ${WRKSRC}/git-p4.py ${STAGEDIR}${PREFIX}/bin/
-
 post-install-GITWEB-on:
 	${MKDIR} ${STAGEDIR}${ETCDIR}
 	${INSTALL_DATA} ${WRKDIR}/gitweb.conf \
 		${STAGEDIR}${ETCDIR}/gitweb.conf.sample
 
+.elif ${SUBPORT} == gui
+
+do-install:
+	${MKDIR} ${STAGEDIR}${PREFIX}/libexec/git-core \
+		 ${STAGEDIR}${PREFIX}/share/git-gui/lib/msgs \
+		 ${STAGEDIR}${PREFIX}/share/gitk/lib/msgs
+	${INSTALL_SCRIPT} ${WRKSRC}/gitk-git/gitk \
+		${STAGEDIR}${PREFIX}/bin
+	${INSTALL_SCRIPT} ${WRKSRC}/git-gui/git-gui \
+		${STAGEDIR}${PREFIX}/libexec/git-core/
+	${LN} ${STAGEDIR}${PREFIX}/libexec/git-core/git-gui \
+		${STAGEDIR}${PREFIX}/libexec/git-core/git-citool
+	${INSTALL_SCRIPT} ${WRKSRC}/git-gui/git-gui--askpass \
+		${STAGEDIR}${PREFIX}/libexec/git-core/
+	${INSTALL_DATA} ${WRKSRC}/git-gui/lib/tclIndex \
+		${STAGEDIR}${PREFIX}/share/git-gui/lib/
+	${INSTALL_DATA} ${WRKSRC}/git-gui/lib/*.ico \
+		${STAGEDIR}${PREFIX}/share/git-gui/lib/
+	${INSTALL_DATA} ${WRKSRC}/git-gui/lib/*.js \
+		${STAGEDIR}${PREFIX}/share/git-gui/lib/
+	${INSTALL_DATA} ${WRKSRC}/git-gui/lib/*.tcl \
+		${STAGEDIR}${PREFIX}/share/git-gui/lib/
+	${INSTALL_DATA} ${WRKSRC}/git-gui/po/*.msg \
+		${STAGEDIR}${PREFIX}/share/git-gui/lib/msgs/
+	${INSTALL_DATA} ${WRKSRC}/gitk-git/po/*.msg \
+		${STAGEDIR}${PREFIX}/share/gitk/lib/msgs/
+	${INSTALL_DATA} ${WRKDIR}/man1/git-citool.1 \
+		${STAGEDIR}${MANPREFIX}/man/man1/
+	${INSTALL_DATA} ${WRKDIR}/man1/git-gui.1 \
+		${STAGEDIR}${MANPREFIX}/man/man1/
+	${INSTALL_DATA} ${WRKDIR}/man1/gitk.1 \
+		${STAGEDIR}${MANPREFIX}/man/man1/
+
+.elif ${SUBPORT} == cvs
+
+do-install:
+	${MKDIR} ${STAGEDIR}${PREFIX}/libexec/git-core
+	${INSTALL_SCRIPT} ${WRKSRC}/git-cvsserver ${STAGEDIR}${PREFIX}/bin
+	${INSTALL_SCRIPT} ${WRKSRC}/git-cvsexportcommit \
+		${STAGEDIR}${PREFIX}/libexec/git-core/
+	${INSTALL_SCRIPT} ${WRKSRC}/git-cvsimport \
+		${STAGEDIR}${PREFIX}/libexec/git-core/
+	${INSTALL_SCRIPT} ${WRKSRC}/git-cvsserver \
+		${STAGEDIR}${PREFIX}/libexec/git-core/
+	${INSTALL_DATA} ${WRKDIR}/man1/git-cvsimport.1 \
+		${STAGEDIR}${MANPREFIX}/man/man1/
+	${INSTALL_DATA} ${WRKDIR}/man1/git-cvsexportcommit.1 \
+		${STAGEDIR}${MANPREFIX}/man/man1/
+	${INSTALL_DATA} ${WRKDIR}/man1/git-cvsserver.1 \
+		${STAGEDIR}${MANPREFIX}/man/man1/
+	${INSTALL_DATA} ${WRKDIR}/man7/gitcvs-migration.7 \
+		${STAGEDIR}${MANPREFIX}/man/man7/
+
+.elif ${SUBPORT} == p4
+
+do-install:
+	${MKDIR} ${STAGEDIR}${PREFIX}/libexec/git-core
+	${INSTALL_SCRIPT} ${WRKSRC}/git-p4.py \
+		${STAGEDIR}${PREFIX}/libexec/git-core/git-p4
+	${INSTALL_DATA} ${WRKDIR}/man1/git-p4.1 \
+		${STAGEDIR}${MANPREFIX}/man/man1/
+
+.elif ${SUBPORT} == svn
+
+do-install:
+	${MKDIR} ${STAGEDIR}${PREFIX}/libexec/git-core
+	${INSTALL_SCRIPT} ${WRKSRC}/git-svn \
+		${STAGEDIR}${PREFIX}/libexec/git-core/
+	${INSTALL_DATA} ${WRKDIR}/man1/git-svn.1 \
+		${STAGEDIR}${MANPREFIX}/man/man1/
+.endif
+
 .include <bsd.port.mk>
diff --git a/devel/git/files/patch-Makefile b/devel/git/files/patch-Makefile
index 5f41fcb8a69c..17768fe05551 100644
--- a/devel/git/files/patch-Makefile
+++ b/devel/git/files/patch-Makefile
@@ -1,6 +1,6 @@
---- Makefile.orig	2019-02-24 16:31:46 UTC
+--- Makefile.orig	2021-06-06 12:13:45 UTC
 +++ Makefile
-@@ -535,16 +535,16 @@ ARFLAGS = rcs
+@@ -520,16 +520,16 @@ GIT-VERSION-FILE: FORCE
  
  prefix = $(HOME)
  bindir = $(prefix)/bin
@@ -22,7 +22,18 @@
  ETC_GITCONFIG = $(sysconfdir)/gitconfig
  ETC_GITATTRIBUTES = $(sysconfdir)/gitattributes
  lib = lib
-@@ -1383,9 +1383,9 @@ EXTLIBS += -lz
+@@ -554,8 +554,8 @@ DIFF = diff
+ TAR = tar
+ FIND = find
+ INSTALL = install
+-TCL_PATH = tclsh
+-TCLTK_PATH = wish
++TCL_PATH ?= tclsh
++TCLTK_PATH ?= wish
+ XGETTEXT = xgettext
+ MSGFMT = msgfmt
+ CURL_CONFIG = curl-config
+@@ -1468,9 +1468,9 @@ EXTLIBS += -lz
  
  ifndef NO_OPENSSL
  	OPENSSL_LIBSSL = -lssl
@@ -35,7 +46,7 @@
  	else
  		OPENSSL_LINK =
  	endif
-@@ -2234,7 +2234,7 @@ git-instaweb: git-instaweb.sh GIT-SCRIPT-DEFINES
+@@ -2358,7 +2358,7 @@ git-instaweb: git-instaweb.sh GIT-SCRIPT-DEFINES
  	chmod +x $@+ && \
  	mv $@+ $@
  else # NO_PERL
@@ -44,7 +55,7 @@
  	$(QUIET_GEN)$(RM) $@ $@+ && \
  	sed -e '1s|#!.*/sh|#!$(SHELL_PATH_SQ)|' \
  	    -e 's|@@REASON@@|NO_PERL=$(NO_PERL)|g' \
-@@ -2250,7 +2250,7 @@ ifndef NO_PYTHON
+@@ -2374,7 +2374,7 @@ ifndef NO_PYTHON
  $(SCRIPT_PYTHON_GEN): GIT-CFLAGS GIT-PREFIX GIT-PYTHON-VARS
  $(SCRIPT_PYTHON_GEN): % : %.py
  	$(QUIET_GEN)$(RM) $@ $@+ && \
diff --git a/devel/git/pkg-descr-gui b/devel/git/pkg-descr-gui
deleted file mode 100644
index e35e69cca957..000000000000
--- a/devel/git/pkg-descr-gui
+++ /dev/null
@@ -1,6 +0,0 @@
-Git is a free and open source distributed version control system designed to
-handle everything from small to very large projects with speed and efficiency.
-
-This version provides a package with GUI option enabled.
-
-WWW: https://git-scm.com/
diff --git a/devel/git/pkg-descr-lite b/devel/git/pkg-descr-lite
index dbb113dc5246..41a2deb54bb9 100644
--- a/devel/git/pkg-descr-lite
+++ b/devel/git/pkg-descr-lite
@@ -3,4 +3,6 @@ handle everything from small to very large projects with speed and efficiency.
 
 This version provides the bare minimum git experience without any bindings.
 
+WARNING: This flavor cannot coexist with cvs, gui, p4 or svn subpackages.
+
 WWW: https://git-scm.com/
diff --git a/devel/git/pkg-descr-svn b/devel/git/pkg-descr-svn
deleted file mode 100644
index 394265d7a83c..000000000000
--- a/devel/git/pkg-descr-svn
+++ /dev/null
@@ -1,6 +0,0 @@
-Git is a free and open source distributed version control system designed to
-handle everything from small to very large projects with speed and efficiency.
-
-This version provides a package with SVN option enabled.
-
-WWW: https://git-scm.com/
diff --git a/devel/git/pkg-descr-tiny b/devel/git/pkg-descr-tiny
index 416bd894a892..9e532b8752ad 100644
--- a/devel/git/pkg-descr-tiny
+++ b/devel/git/pkg-descr-tiny
@@ -4,4 +4,6 @@ handle everything from small to very large projects with speed and efficiency.
 This version provides the tiniest usable git experience, depending only upon
 ftp/curl for http(s) support.
 
+WARNING: This flavor cannot coexist with cvs, gui, p4 or svn subpackages.
+
 WWW: https://git-scm.com/
diff --git a/devel/git/pkg-plist b/devel/git/pkg-plist
index bf7445de4f6d..128a5ea4ea1c 100644
--- a/devel/git/pkg-plist
+++ b/devel/git/pkg-plist
@@ -1,11 +1,8 @@
 bin/git
-%%CVS%%bin/git-cvsserver
-%%PERFORCE%%bin/git-p4.py
 bin/git-receive-pack
 bin/git-shell
 bin/git-upload-archive
 bin/git-upload-pack
-%%GUI%%bin/gitk
 etc/bash_completion.d/git-completion.bash
 %%PERL%%%%SITE_PERL%%/FromCPAN/Error.pm
 %%PERL%%%%SITE_PERL%%/FromCPAN/Mail/Address.pm
@@ -50,7 +47,6 @@ libexec/git-core/git-checkout--worker
 libexec/git-core/git-checkout-index
 libexec/git-core/git-cherry
 libexec/git-core/git-cherry-pick
-%%GUI%%libexec/git-core/git-citool
 libexec/git-core/git-clean
 libexec/git-core/git-clone
 libexec/git-core/git-column
@@ -63,9 +59,6 @@ libexec/git-core/git-credential
 libexec/git-core/git-credential-cache
 libexec/git-core/git-credential-cache--daemon
 libexec/git-core/git-credential-store
-%%CVS%%libexec/git-core/git-cvsexportcommit
-%%CVS%%libexec/git-core/git-cvsimport
-%%CVS%%libexec/git-core/git-cvsserver
 libexec/git-core/git-daemon
 libexec/git-core/git-describe
 libexec/git-core/git-diff
@@ -89,8 +82,6 @@ libexec/git-core/git-fsck-objects
 libexec/git-core/git-gc
 libexec/git-core/git-get-tar-commit-id
 libexec/git-core/git-grep
-%%GUI%%libexec/git-core/git-gui
-%%GUI%%libexec/git-core/git-gui--askpass
 libexec/git-core/git-hash-object
 libexec/git-core/git-help
 libexec/git-core/git-http-backend
@@ -128,7 +119,6 @@ libexec/git-core/git-mv
 libexec/git-core/git-multi-pack-index
 libexec/git-core/git-name-rev
 libexec/git-core/git-notes
-%%PERFORCE%%libexec/git-core/git-p4
 libexec/git-core/git-pack-objects
 libexec/git-core/git-pack-redundant
 libexec/git-core/git-pack-refs
@@ -180,7 +170,6 @@ libexec/git-core/git-stripspace
 libexec/git-core/git-submodule
 libexec/git-core/git-submodule--helper
 %%SUBTREE%%libexec/git-core/git-subtree
-%%SUBVERSION%%libexec/git-core/git-svn
 libexec/git-core/git-switch
 libexec/git-core/git-symbolic-ref
 libexec/git-core/git-tag
@@ -242,7 +231,6 @@ man/man1/git-checkout-index.1.gz
 man/man1/git-checkout.1.gz
 man/man1/git-cherry-pick.1.gz
 man/man1/git-cherry.1.gz
-%%GUI%%man/man1/git-citool.1.gz
 man/man1/git-clean.1.gz
 man/man1/git-clone.1.gz
 man/man1/git-column.1.gz
@@ -255,9 +243,6 @@ man/man1/git-credential-cache--daemon.1.gz
 man/man1/git-credential-cache.1.gz
 man/man1/git-credential-store.1.gz
 man/man1/git-credential.1.gz
-%%CVS%%man/man1/git-cvsexportcommit.1.gz
-%%CVS%%man/man1/git-cvsimport.1.gz
-%%CVS%%man/man1/git-cvsserver.1.gz
 man/man1/git-daemon.1.gz
 man/man1/git-describe.1.gz
 man/man1/git-diff-files.1.gz
@@ -279,7 +264,6 @@ man/man1/git-fsck.1.gz
 man/man1/git-gc.1.gz
 man/man1/git-get-tar-commit-id.1.gz
 man/man1/git-grep.1.gz
-%%GUI%%man/man1/git-gui.1.gz
 man/man1/git-hash-object.1.gz
 man/man1/git-help.1.gz
 man/man1/git-http-backend.1.gz
@@ -312,7 +296,6 @@ man/man1/git-mv.1.gz
 man/man1/git-multi-pack-index.1.gz
 man/man1/git-name-rev.1.gz
 man/man1/git-notes.1.gz
-man/man1/git-p4.1.gz
 man/man1/git-pack-objects.1.gz
 man/man1/git-pack-redundant.1.gz
 man/man1/git-pack-refs.1.gz
@@ -358,7 +341,6 @@ man/man1/git-status.1.gz
 man/man1/git-stripspace.1.gz
 man/man1/git-submodule.1.gz
 %%SUBTREE%%man/man1/git-subtree.1.gz
-%%SUBVERSION%%man/man1/git-svn.1.gz
 man/man1/git-switch.1.gz
 man/man1/git-symbolic-ref.1.gz
 man/man1/git-tag.1.gz
@@ -378,7 +360,6 @@ man/man1/git-whatchanged.1.gz
 man/man1/git-worktree.1.gz
 man/man1/git-write-tree.1.gz
 man/man1/git.1.gz
-%%GUI%%man/man1/gitk.1.gz
 man/man1/gitweb.1.gz
 man/man5/gitattributes.5.gz
 man/man5/githooks.5.gz
@@ -390,7 +371,6 @@ man/man5/gitweb.conf.5.gz
 man/man7/gitcli.7.gz
 man/man7/gitcore-tutorial.7.gz
 man/man7/gitcredentials.7.gz
-%%CVS%%man/man7/gitcvs-migration.7.gz
 man/man7/gitdiffcore.7.gz
 man/man7/giteveryday.7.gz
 man/man7/gitfaq.7.gz
@@ -1363,77 +1343,6 @@ share/git-core/templates/hooks/prepare-commit-msg.sample
 share/git-core/templates/hooks/push-to-checkout.sample
 share/git-core/templates/hooks/update.sample
 share/git-core/templates/info/exclude
-%%GUI%%share/git-gui/lib/about.tcl
-%%GUI%%share/git-gui/lib/blame.tcl
-%%GUI%%share/git-gui/lib/branch.tcl
-%%GUI%%share/git-gui/lib/branch_checkout.tcl
-%%GUI%%share/git-gui/lib/branch_create.tcl
-%%GUI%%share/git-gui/lib/branch_delete.tcl
-%%GUI%%share/git-gui/lib/branch_rename.tcl
-%%GUI%%share/git-gui/lib/browser.tcl
-%%GUI%%share/git-gui/lib/checkout_op.tcl
-%%GUI%%share/git-gui/lib/choose_font.tcl
-%%GUI%%share/git-gui/lib/choose_repository.tcl
-%%GUI%%share/git-gui/lib/choose_rev.tcl
-%%GUI%%share/git-gui/lib/chord.tcl
-%%GUI%%share/git-gui/lib/class.tcl
-%%GUI%%share/git-gui/lib/commit.tcl
-%%GUI%%share/git-gui/lib/console.tcl
-%%GUI%%share/git-gui/lib/database.tcl
-%%GUI%%share/git-gui/lib/date.tcl
-%%GUI%%share/git-gui/lib/diff.tcl
-%%GUI%%share/git-gui/lib/encoding.tcl
-%%GUI%%share/git-gui/lib/error.tcl
-%%GUI%%share/git-gui/lib/git-gui.ico
-%%GUI%%share/git-gui/lib/index.tcl
-%%GUI%%share/git-gui/lib/line.tcl
-%%GUI%%share/git-gui/lib/logo.tcl
-%%GUI%%share/git-gui/lib/merge.tcl
-%%GUI%%share/git-gui/lib/mergetool.tcl
-%%GUI%%share/git-gui/lib/msgs/bg.msg
-%%GUI%%share/git-gui/lib/msgs/de.msg
-%%GUI%%share/git-gui/lib/msgs/el.msg
-%%GUI%%share/git-gui/lib/msgs/fr.msg
-%%GUI%%share/git-gui/lib/msgs/hu.msg
-%%GUI%%share/git-gui/lib/msgs/it.msg
-%%GUI%%share/git-gui/lib/msgs/ja.msg
-%%GUI%%share/git-gui/lib/msgs/nb.msg
-%%GUI%%share/git-gui/lib/msgs/pt_br.msg
-%%GUI%%share/git-gui/lib/msgs/pt_pt.msg
-%%GUI%%share/git-gui/lib/msgs/ru.msg
-%%GUI%%share/git-gui/lib/msgs/sv.msg
-%%GUI%%share/git-gui/lib/msgs/vi.msg
-%%GUI%%share/git-gui/lib/msgs/zh_cn.msg
-%%GUI%%share/git-gui/lib/option.tcl
-%%GUI%%share/git-gui/lib/remote.tcl
-%%GUI%%share/git-gui/lib/remote_add.tcl
-%%GUI%%share/git-gui/lib/remote_branch_delete.tcl
-%%GUI%%share/git-gui/lib/search.tcl
-%%GUI%%share/git-gui/lib/shortcut.tcl
-%%GUI%%share/git-gui/lib/spellcheck.tcl
-%%GUI%%share/git-gui/lib/sshkey.tcl
-%%GUI%%share/git-gui/lib/status_bar.tcl
-%%GUI%%share/git-gui/lib/tclIndex
-%%GUI%%share/git-gui/lib/themed.tcl
-%%GUI%%share/git-gui/lib/tools.tcl
-%%GUI%%share/git-gui/lib/tools_dlg.tcl
-%%GUI%%share/git-gui/lib/transport.tcl
-%%GUI%%share/git-gui/lib/win32.tcl
-%%GUI%%share/git-gui/lib/win32_shortcut.js
-%%GUI%%share/gitk/lib/msgs/bg.msg
-%%GUI%%share/gitk/lib/msgs/ca.msg
-%%GUI%%share/gitk/lib/msgs/de.msg
-%%GUI%%share/gitk/lib/msgs/es.msg
-%%GUI%%share/gitk/lib/msgs/fr.msg
-%%GUI%%share/gitk/lib/msgs/hu.msg
-%%GUI%%share/gitk/lib/msgs/it.msg
-%%GUI%%share/gitk/lib/msgs/ja.msg
-%%GUI%%share/gitk/lib/msgs/pt_br.msg
-%%GUI%%share/gitk/lib/msgs/pt_pt.msg
-%%GUI%%share/gitk/lib/msgs/ru.msg
-%%GUI%%share/gitk/lib/msgs/sv.msg
-%%GUI%%share/gitk/lib/msgs/vi.msg
-%%GUI%%share/gitk/lib/msgs/zh_cn.msg
 %%NLS%%share/locale/bg/LC_MESSAGES/git.mo
 %%NLS%%share/locale/ca/LC_MESSAGES/git.mo
 %%NLS%%share/locale/de/LC_MESSAGES/git.mo