This makes the git HTML manual reproducible.
It also removes the `git.info` manual, since this one is
basically entirely broken anyway. This likely happened
when we migrated from asciidoc to asciidoctor in #102020.
I don't suggest going back to asciidoc: that would
re-introduce a python2 dependency and another
reproducibility issue with the HTML docs.
Co-Authored-By: Dmitry Kalinkin <dmitry.kalinkin@gmail.com>
The install step for the darwin specific $out/etc/gitconfig file
assumed that $out/etc already existed. This assumption is no longer
true after f5e2ff1ed8 in #103421. This
change makes make sure the directory exists before adding to it.
This reverts commit c778945806.
I believe this is exactly what brings the staging branch into
the right shape after the last merge from master (through staging-next);
otherwise part of staging changes would be lost
(due to being already reachable from master but reverted).
In that case it specified $doc output but didn't even create it.
I expect it's better to do it this way instead of creating it
as an empty directory.
(Only the failed builds get rebuilt by this commit.)
disable_test: Use \s instead of ' ' as tabs are used for indentation in
t5324-split-commit-graph.sh. It's also necessary to insert : (no op) in
front of # to prevent Bash syntax errors due to empty loops.
Two newly added tests fail due the usage of shared permissions (outside
of the build sandbox they succeed, actually even with breakpointHook
(cntr attach + cntr exec bash)):
```
t5324-split-commit-graph.sh (Wstat: 256 Tests: 29
Failed: 2)
Failed tests: 28-29
Non-zero exit status: 1
```
I'm also adding myself as maintainer since there currently doesn't seem
to be a fixed one for regular updates.
Announcement:
https://lkml.kernel.org/lkml/xmqqzh9mu4my.fsf@gitster.c.googlers.com/
This will install the HTML and text documentation into a separate output
so that users can install it without having to rebuild Git.
Previously only `doc/git/git-subtree.html` was installed (which is now
in $doc as well).
The current output sizes are as follows:
```
$ du -sh $(nix-build -A git)
47M /nix/store/wyqgalp61kmavx06rams7z8jz177nd8y-git-2.26.2
$ du -sh $(nix-build -A git.doc)
14M /nix/store/6zi22fl5xc3sg23d9shsviinvwk89wvq-git-2.26.2-doc
```
Fixes#86022 (at least partly since the output has to be installed).
@the-kenny did a good job in the past and is set as maintainer in many package,
however since 2017-2018 he stopped contributing. To create less confusion
in pull requests when people try to request his feedback, I removed him as
maintainer from all packages.
The syntax is ${parameter:-word} (i.e. previously this used
"latestTag" instead of the actual value).
(Fixes a regression from #85278.)
Also: Even though getting the latest tag isn't really security critical
(as long as Git itself is secure against untrusted input), I'd prefer to
switch from the Git to the HTTPS protocol (for authentication of the
server and encryption + uses a standard port).
The existing post-install was not successfully patching the git-gui script,
and thus was invoking the packaged osx app which uses the system tk,
which is too old to work (and is no longer supported by Apple anyway).
Git ships with a zsh completion script, but this script was previously
only available at $out/share/git/contrib/completion/git-completion.zsh,
which is not a path (or a filename) that would be discovered by a
typical zsh installation. This commit symlinks that file to
$out/share/zsh/site-functions/_git, which is a more standard location.
That zsh completion script is mostly a wrapper around the Bash
completion script, so this commit also patches the former so that it can
"find" the latter.
Since bash-completion rules are loaded dynamically, the completion
rules for `gitk <Tab>` waere not being loaded until the user first
typed `git <Tab>`. Fix this by adding a symlink named `gitk`.
Signed-off-by: Anders Kaseorg <andersk@mit.edu>