Thread (9 messages) flat view 9 messages, 3 authors, 2018-02-09

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
========================================================================
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help