<feed xmlns='http://www.w3.org/2005/Atom'>
<title>git/Documentation/Makefile, branch v2.25.2</title>
<subtitle>Mirror of https://git.kernel.org/pub/scm/git/git.git/
</subtitle>
<id>https://git.shady.money/git/atom?h=v2.25.2</id>
<link rel='self' href='https://git.shady.money/git/atom?h=v2.25.2'/>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/'/>
<updated>2019-11-10T09:02:11Z</updated>
<entry>
<title>Merge branch 'es/walken-tutorial'</title>
<updated>2019-11-10T09:02:11Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2019-11-10T09:02:11Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=15d9f3dc6642497b1186e943cdccba3a8f9f0b0e'/>
<id>urn:sha1:15d9f3dc6642497b1186e943cdccba3a8f9f0b0e</id>
<content type='text'>
A tutorial on object enumeration.

* es/walken-tutorial:
  documentation: add tutorial for object walking
</content>
</entry>
<entry>
<title>documentation: add tutorial for object walking</title>
<updated>2019-10-12T01:29:15Z</updated>
<author>
<name>Emily Shaffer</name>
<email>emilyshaffer@google.com</email>
</author>
<published>2019-10-11T23:55:54Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=e0479fa07387a7f84dad04a258cd2dc2861c9df9'/>
<id>urn:sha1:e0479fa07387a7f84dad04a258cd2dc2861c9df9</id>
<content type='text'>
Existing documentation on object walks seems to be primarily intended
as a reference for those already familiar with the procedure. This
tutorial attempts to give an entry-level guide to a couple of bare-bones
object walks so that new Git contributors can learn the concepts
without having to wade through options parsing or special casing.

The target audience is a Git contributor who is just getting started
with the concept of object walking. The goal is to prepare this
contributor to be able to understand and modify existing commands which
perform revision walks more easily, although it will also prepare
contributors to create new commands which perform walks.

The tutorial covers a basic overview of the structs involved during
object walk, setting up a basic commit walk, setting up a basic
all-object walk, and adding some configuration changes to both walk
types. It intentionally does not cover how to create new commands or
search for options from the command line or gitconfigs.

There is an associated patchset at
https://github.com/nasamuffin/git/tree/revwalk that contains a reference
implementation of the code generated by this tutorial.

Signed-off-by: Emily Shaffer &lt;emilyshaffer@google.com&gt;
Helped-by: Eric Sunshine &lt;sunshine@sunshineco.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>Merge branch 'bc/doc-use-docbook-5'</title>
<updated>2019-10-06T03:25:16Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2019-10-06T03:25:16Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=faf5576a8d749c7c46fafd0c62da47ec078e1486'/>
<id>urn:sha1:faf5576a8d749c7c46fafd0c62da47ec078e1486</id>
<content type='text'>
Start using DocBook 5 (instead of DocBook 4.5) as Asciidoctor 2.0
no longer works with the older one.

* bc/doc-use-docbook-5:
  Documentation: fix build with Asciidoctor 2
</content>
</entry>
<entry>
<title>Merge branch 'ma/asciidoctor-refmiscinfo'</title>
<updated>2019-10-06T03:25:15Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2019-10-06T03:25:15Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=70c1cbf51535fc0d8ee55809646d95610f3dd558'/>
<id>urn:sha1:70c1cbf51535fc0d8ee55809646d95610f3dd558</id>
<content type='text'>
Update support for Asciidoctor documentation toolchain.

* ma/asciidoctor-refmiscinfo:
  doc-diff: replace --cut-header-footer with --cut-footer
  asciidoctor-extensions: provide `&lt;refmiscinfo/&gt;`
  Doc/Makefile: give mansource/-version/-manual attributes
</content>
</entry>
<entry>
<title>Doc/Makefile: give mansource/-version/-manual attributes</title>
<updated>2019-09-16T19:27:34Z</updated>
<author>
<name>Martin Ågren</name>
<email>martin.agren@gmail.com</email>
</author>
<published>2019-09-16T19:00:26Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=226daba280be841833589d29d4375ba57d508878'/>
<id>urn:sha1:226daba280be841833589d29d4375ba57d508878</id>
<content type='text'>
Rather than hardcoding "Git Manual" and "Git" as the manual and source
in asciidoc.conf, provide them as attributes `manmanual` and
`mansource`. Rename the `git_version` attribute to `manversion`.

These new attribute names are not arbitrary, see, e.g., [1].

For AsciiDoc (8.6.10) and Asciidoctor &lt;1.5.7, this is a no-op. Starting
with Asciidoctor 1.5.7, `manmanual` and `mansource` actually end up in
the xml-files and eventually in the rendered manpages. In particular,
the manpage headers now render just as with AsciiDoc.

No versions of Asciidoctor pick up the `manversion` [2], and older
versions don't pick up any of these attributes. -- We'll fix that with a
bit of a hack in the next commit.

[1] https://asciidoctor.org/docs/user-manual/#man-pages

[2] Note how [1] says "Not used by Asciidoctor".

Signed-off-by: Martin Ågren &lt;martin.agren@gmail.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>Documentation: fix build with Asciidoctor 2</title>
<updated>2019-09-16T19:20:39Z</updated>
<author>
<name>brian m. carlson</name>
<email>sandals@crustytoothpaste.net</email>
</author>
<published>2019-09-15T22:43:32Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=f6461b82b932013f170acf357c4dd3468c923f73'/>
<id>urn:sha1:f6461b82b932013f170acf357c4dd3468c923f73</id>
<content type='text'>
Our documentation toolchain has traditionally been built around DocBook
4.5.  This version of DocBook is the last DTD-based version of DocBook.
In 2009, DocBook 5 was introduced using namespaces and its syntax is
expressed in RELAX NG, which is more expressive and allows a wider
variety of syntax forms.

Asciidoctor, one of the alternatives for building our documentation,
moved support for DocBook 4.5 out of core in its recent 2.0 release and
now only supports DocBook 5 in the main release.  The DocBoook 4.5
converter is still available as a separate component, but this is not
available in most distro packages.  This would not be a problem but for
the fact that we use xmlto, which is still stuck in the DocBook 4.5 era.

xmlto performs DTD validation as part of the build process.  This is not
problematic for DocBook 4.5, which has a valid DTD, but it clearly
cannot work for DocBook 5, since no DTD can adequately express its full
syntax.  In addition, even if xmlto did support RELAX NG validation,
that wouldn't be sufficient because it uses the libxml2-based xmllint to
do so, which has known problems with validating interleaves in RELAX NG.

Fortunately, there's an easy way forward: ask Asciidoctor to use its
DocBook 5 backend and tell xmlto to skip validation.  Asciidoctor has
supported DocBook 5 since v0.1.4 in 2013 and xmlto has supported
skipping validation for probably longer than that.

We also need to teach xmlto how to use the namespaced DocBook XSLT
stylesheets instead of the non-namespaced ones it usually uses.
Normally these stylesheets are interchangeable, but the non-namespaced
ones have a bug that causes them not to strip whitespace automatically
from certain elements when namespaces are in use.  This results in
additional whitespace at the beginning of list elements, which is
jarring and unsightly.

We can do this by passing a custom stylesheet with the -x option that
simply imports the namespaced stylesheets via a URL.  Any system with
support for XML catalogs will automatically look this URL up and
reference a local copy instead without us having to know where this
local copy is located.  We know that anyone using xmlto will already
have catalogs set up properly since the DocBook 4.5 DTD used during
validation is also looked up via catalogs.  All major Linux
distributions distribute the necessary stylesheets and have built-in
catalog support, and Homebrew does as well, albeit with a requirement to
set an environment variable to enable catalog support.

On the off chance that someone lacks support for catalogs, it is
possible for xmlto (via xmllint) to download the stylesheets from the
URLs in question, although this will likely perform poorly enough to
attract attention.  People still have the option of using the prebuilt
documentation that we ship, so happily this should not be an impediment.

Finally, we need to filter out some messages from other stylesheets that
occur when invoking dblatex in the CI job.  This tool strips namespaces
much like the unnamespaced DocBook stylesheets and prints similar
messages.  If we permit these messages to be printed to standard error,
our documentation CI job will fail because we check standard error for
unexpected output.  Due to dblatex's reliance on Python 2, we may need
to revisit its use in the future, in which case this problem may go
away, but this can be delayed until a future patch.

The final message we filter is due to libxslt on modern Debian and
Ubuntu.  The patch which they use to implement reproducible ID
generation also prints messages about the ID generation.  While this
doesn't affect our current CI images since they use Ubuntu 16.04 which
lacks this patch, if we upgrade to Ubuntu 18.04 or a modern Debian,
these messages will appear and, like the above messages, cause a CI
failure.

Signed-off-by: brian m. carlson &lt;sandals@crustytoothpaste.net&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>Merge branch 'es/first-contrib-tutorial'</title>
<updated>2019-06-17T17:15:19Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2019-06-17T17:15:18Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=55b34f30c27c95ac3fe3c285eb9c46ed831d1565'/>
<id>urn:sha1:55b34f30c27c95ac3fe3c285eb9c46ed831d1565</id>
<content type='text'>
A new tutorial targetting specifically aspiring git-core
developers.

* es/first-contrib-tutorial:
  doc: add some nit fixes to MyFirstContribution
  documentation: add anchors to MyFirstContribution
  documentation: add tutorial for first contribution
</content>
</entry>
<entry>
<title>documentation: add tutorial for first contribution</title>
<updated>2019-05-19T02:01:23Z</updated>
<author>
<name>Emily Shaffer</name>
<email>emilyshaffer@google.com</email>
</author>
<published>2019-05-17T19:07:02Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=76644e3268b09605b7a181f06a10a53095993ab0'/>
<id>urn:sha1:76644e3268b09605b7a181f06a10a53095993ab0</id>
<content type='text'>
This tutorial covers how to add a new command to Git and, in the
process, everything from cloning git/git to getting reviewed on the
mailing list. It's meant for new contributors to go through
interactively, learning the techniques generally used by the git/git
development community.

Reviewed-by: Johannes Schindelin &lt;johannes.schindelin@gmx.de&gt;
Reviewed-by: Jonathan Tan &lt;jonathantanmy@google.com&gt;
Signed-off-by: Emily Shaffer &lt;emilyshaffer@google.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>Merge branch 'js/misc-doc-fixes'</title>
<updated>2019-05-08T15:37:27Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2019-05-08T15:37:27Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=caa227ff458f34155ef4e974ba9e57c857c02c01'/>
<id>urn:sha1:caa227ff458f34155ef4e974ba9e57c857c02c01</id>
<content type='text'>
"make check-docs", "git help -a", etc. did not account for cases
where a particular build may deliberately omit some subcommands,
which has been corrected.

* js/misc-doc-fixes:
  Turn `git serve` into a test helper
  test-tool: handle the `-C &lt;directory&gt;` option just like `git`
  check-docs: do not bother checking for legacy scripts' documentation
  docs: exclude documentation for commands that have been excluded
  check-docs: allow command-list.txt to contain excluded commands
  help -a: do not list commands that are excluded from the build
  Makefile: drop the NO_INSTALL variable
  remote-testgit: move it into the support directory for t5801
</content>
</entry>
<entry>
<title>Merge branch 'js/check-docs-exe'</title>
<updated>2019-04-22T02:14:46Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2019-04-22T02:14:46Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=27ff7878092cf31b66d2fb67b715d632ae5033d7'/>
<id>urn:sha1:27ff7878092cf31b66d2fb67b715d632ae5033d7</id>
<content type='text'>
Dev support update.

* js/check-docs-exe:
  check-docs: fix for setups where executables have an extension
  check-docs: do not expect guide pages to correspond to commands
  check-docs: really look at the documented commands again
  docs: do not document the `git remote-testgit` command
  docs: move gitremote-helpers into section 7
</content>
</entry>
</feed>
