Re: categorization, documentation and packaging of "git core" commands
From: Robert P. J. Day <hidden>
Date: 2018-02-07 20:38:57
On Wed, 7 Feb 2018, Todd Zullinger wrote:
Robert P. J. Day wrote:quoted
first, here are the executables under /usr/libexec/git-core/ that are unreferenced by that web page, but that should be fine as almost all of them would be considered underlying helpers or utilities (except for things like git-subtree, but we're still unclear on its status, right?):I don't think there's anything unclear about git subtree's status. It's in contrib/ within the source, so it's not part of the core git suite. Some distributions (Fedora being one of them) ship a git-subtree package to provide it for users who want it.quoted
on the other hand (and this is not so much a git issue as a fedora packaging issue), there are a number of command links at that web page that are supplied by distinct RPM packages rather than by the basic fedora git package, so one would need to install the following packages to get some of those commands on fedora: * gitk * git-cvs * git-svn * git-p4 * git-email (provides git-send-email)These packages are in separate sub-packages in Fedora (and some other distributions) because they are no required by all users and they pull in dependencies which are not wanted on minimal installs. In Fedora, you can install git-all to get all the available git sub-packages.
not to belabour this (and i'm sure it's *way* too late for that),
but fedora has the following packaging scheme. first, there's a bunch
of stuff in "git-core", which has no dependencies on any other
git-related packages.
then there's "git", which has the following property:
$ rpm -qR git
/bin/sh
/usr/bin/perl
emacs-filesystem >= 25.3
git-core = 2.14.3-2.fc27
git-core-doc = 2.14.3-2.fc27
... snip ...
$ rpm -ql git
... snip ...
/usr/libexec/git-core/git-add--interactive
/usr/libexec/git-core/git-am
/usr/libexec/git-core/git-credential-libsecret
/usr/libexec/git-core/git-credential-netrc
/usr/libexec/git-core/git-difftool
/usr/libexec/git-core/git-difftool--helper
/usr/libexec/git-core/git-instaweb
/usr/libexec/git-core/git-request-pull
/usr/libexec/git-core/git-submodule
/usr/libexec/git-core/git-submodule--helper
... snip ...
/usr/share/man/man1/git-am.1.gz
/usr/share/man/man1/git-difftool.1.gz
/usr/share/man/man1/git-instaweb.1.gz
/usr/share/man/man1/git-request-pull.1.gz
/usr/share/man/man1/git-submodule.1.gz
/usr/share/man/man1/gitweb.1.gz
/usr/share/man/man5/gitweb.conf.5.gz
$
so with fedora, "git" drags in "git-core" and a small number of
additional git utilities. all of this leads one to wonder -- is there
any comprehensible relationship between:
1) commands that claim to be in the "git suite"
2) commands that come from contrib/
3) commands listed at
https://www.kernel.org/pub/software/scm/git/docs/
4) how different distros package all of the above
as i think we've noticed, it's not at all clear how git decides what
is and isn't part of the "official" git suite.
rday
--
========================================================================
Robert P. J. Day Ottawa, Ontario, CANADA
http://crashcourse.ca
Twitter: http://twitter.com/rpjday
LinkedIn: http://ca.linkedin.com/in/rpjday
========================================================================