<feed xmlns='http://www.w3.org/2005/Atom'>
<title>git/Documentation/Makefile, branch v2.45.2</title>
<subtitle>Mirror of https://git.kernel.org/pub/scm/git/git.git/
</subtitle>
<id>https://git.shady.money/git/atom?h=v2.45.2</id>
<link rel='self' href='https://git.shady.money/git/atom?h=v2.45.2'/>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/'/>
<updated>2023-11-09T23:15:25Z</updated>
<entry>
<title>unit tests: add a project plan document</title>
<updated>2023-11-09T23:15:25Z</updated>
<author>
<name>Josh Steadmon</name>
<email>steadmon@google.com</email>
</author>
<published>2023-11-09T18:50:42Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=581790eeee560c791eeaa9be3dd9173d3686acc6'/>
<id>urn:sha1:581790eeee560c791eeaa9be3dd9173d3686acc6</id>
<content type='text'>
In our current testing environment, we spend a significant amount of
effort crafting end-to-end tests for error conditions that could easily
be captured by unit tests (or we simply forgo some hard-to-setup and
rare error conditions). Describe what we hope to accomplish by
implementing unit tests, and explain some open questions and milestones.
Discuss desired features for test frameworks/harnesses, and provide a
comparison of several different frameworks. Finally, document our
rationale for implementing a custom framework.

Co-authored-by: Calvin Wan &lt;calvinwan@google.com&gt;
Signed-off-by: Calvin Wan &lt;calvinwan@google.com&gt;
Signed-off-by: Josh Steadmon &lt;steadmon@google.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>doc: set actual revdate for manpages</title>
<updated>2023-04-14T17:37:41Z</updated>
<author>
<name>Felipe Contreras</name>
<email>felipe.contreras@gmail.com</email>
</author>
<published>2023-04-13T07:47:22Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=28fde3a1f4322993d731e2b2b6543ba0e24a5788'/>
<id>urn:sha1:28fde3a1f4322993d731e2b2b6543ba0e24a5788</id>
<content type='text'>
manpages expect the date of the last revision, if that is not found
DocBook Stylesheets go through a series of hacks to generate one with
the format `%d/%d/%Y` which is not ideal.

In addition to this format not being standard, different tools generate
dates with different formats.

There's no need for any confusion if we specify the revision date, so
let's do so.

Signed-off-by: Felipe Contreras &lt;felipe.contreras@gmail.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>Merge branch 'fc/doc-stop-using-manversion' into fc/doc-use-datestamp-in-commit</title>
<updated>2023-04-14T17:33:32Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2023-04-14T17:33:32Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=df113b5560953c4327a69a08e3678988fd9920c4'/>
<id>urn:sha1:df113b5560953c4327a69a08e3678988fd9920c4</id>
<content type='text'>
* fc/doc-stop-using-manversion:
  doc: simplify man version
</content>
</entry>
<entry>
<title>doc: simplify man version</title>
<updated>2023-04-10T15:39:26Z</updated>
<author>
<name>Felipe Contreras</name>
<email>felipe.contreras@gmail.com</email>
</author>
<published>2023-04-08T00:18:29Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=9a09ed322908b1a022a2948802f1ad4588223320'/>
<id>urn:sha1:9a09ed322908b1a022a2948802f1ad4588223320</id>
<content type='text'>
The hacks to add version information to the man pages comes from 2007
7ef195ba3e (Documentation: Add version information to man pages,
2007-03-25). In that code we passed three fields to DocBook Stylesheets:
`source`, `version`, and `manual`, however, all the stylesheets do is
join the strings `source` and `version` [1].

Their own documentation explains that in pracice the source is just a
combination of two fields [2]:

  In practice, there are many pages that simply have a version number in
  the "source" field.

Splitting that information might have seemed more proper in 2007, but it
not achieve anything in practice.

Asciidoctor had support for this information in their manpage backend
since day 1: v1.5.3 (2015), but it didn't include the version. In the
docbook5 backend they did in v1.5.7 (2018), but again: no version.

There is no need for us to demand that that they add support for the
version field when in reality all that is going to happen is that both
fields are going to be joined.

Let's do that ourselves so we can forget about all our hacks for this
and so it works for both asciidoc.py, and docbook5 and manpage backends
of asciidoctor.

[1] https://github.com/docbook/xslt10-stylesheets/blob/master/xsl/common/refentry.xsl#L545
[2] https://docbook.sourceforge.net/release/xsl/current/doc/common/template.get.refentry.source.html

Signed-off-by: Felipe Contreras &lt;felipe.contreras@gmail.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>doc: remove manpage-base-url workaround</title>
<updated>2023-04-05T21:18:53Z</updated>
<author>
<name>Felipe Contreras</name>
<email>felipe.contreras@gmail.com</email>
</author>
<published>2023-03-22T00:08:15Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=092df21dfca2b53e459947931245cb0e06d35ca8'/>
<id>urn:sha1:092df21dfca2b53e459947931245cb0e06d35ca8</id>
<content type='text'>
Commit 50d9bbba92 (Documentation: Avoid use of xmlto --stringparam,
2009-12-04) introduced manpage-base-url.xsl because ancient versions of
xmlto did not have --stringparam.

However, that was more than ten years ago, no need for that complexity
anymore, we can just use --stringparam.

Signed-off-by: Felipe Contreras &lt;felipe.contreras@gmail.com&gt;
Acked-by: Todd Zullinger &lt;tmz@pobox.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>doc: remove GNU troff workaround</title>
<updated>2023-03-21T20:16:46Z</updated>
<author>
<name>Felipe Contreras</name>
<email>felipe.contreras@gmail.com</email>
</author>
<published>2023-03-20T19:00:47Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=ee6ad78260e75bd803f87c371db5912490a0d788'/>
<id>urn:sha1:ee6ad78260e75bd803f87c371db5912490a0d788</id>
<content type='text'>
In 2007 the docbook project made the mistake of converting ' to \' for
man pages [1]. It's a problem because groff interprets \' as acute
accent which is rendered as ' in ASCII, but as ´ in utf-8.

This started a cascade of bug reports in git [2], debian [3], Arch Linux
[4], docbook itself [5], and probably many others.

A solution was to use the correct groff character: \(aq, which is always
rendered as ', but the problem is that such character doesn't work in
other troff programs.

A portable solution required the use of a conditional character that is
\(aq in groff, but ' in all others:

  .ie \n(.g .ds Aq \(aq
  .el .ds Aq '

The proper solution took time to be implemented in docbook, but in 2010
they did it [6]. So the docbook man page stylesheets were broken from
1.73 to 1.76.

Unfortunately by that point many workarounds already existed. In the
case of git, GNU_ROFF was introduced, and in the case of Arch Linux
a mapping from \' to ' was added to groff's man.local. Other
distributions might have done the same, or similar workarounds.

Since 2010 there is no need for this workaround, which is fixed
elsewhere, not just in docbook, but other layers as well.

Let's remove it.

[1] https://github.com/docbook/xslt10-stylesheets/commit/ea2a0bac56c56eec1892ac3d9254dca89f7c5746
[2] https://lore.kernel.org/git/20091012102926.GA3937@debian.b2j/
[3] https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=507673#65
[4] https://bugs.archlinux.org/task/9643
[5] https://sourceforge.net/p/docbook/bugs/1022/
[6] https://github.com/docbook/xslt10-stylesheets/commit/fb553434265906ed81edc6d5f533d0b08d200046

Inspired-by: brian m. carlson &lt;sandals@crustytoothpaste.net&gt;
Signed-off-by: Felipe Contreras &lt;felipe.contreras@gmail.com&gt;
Reviewed-by: Jeff King &lt;peff@peff.net&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>Merge branch 'ps/gnumake-4.4-fix'</title>
<updated>2022-11-30T01:57:19Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2022-11-30T01:57:19Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=4615d3e2649458aefecffa12a067c9c3b6dc433a'/>
<id>urn:sha1:4615d3e2649458aefecffa12a067c9c3b6dc433a</id>
<content type='text'>
* ps/gnumake-4.4-fix:
  Makefile: avoid multiple patterns when recipes generate one file
</content>
</entry>
<entry>
<title>Makefile: avoid multiple patterns when recipes generate one file</title>
<updated>2022-11-28T01:18:55Z</updated>
<author>
<name>Paul Smith</name>
<email>psmith@gnu.org</email>
</author>
<published>2022-11-27T22:42:51Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=9f95c7aefa8419b697972abd9d25ce9062fac2bf'/>
<id>urn:sha1:9f95c7aefa8419b697972abd9d25ce9062fac2bf</id>
<content type='text'>
A GNU make pattern rule with multiple targets has always meant that
a single invocation of the recipe will build all the targets.
However in older versions of GNU make a recipe that did not really
build all the targets would be tolerated.

Starting with GNU make 4.4 this behavior is deprecated and pattern
rules are expected to generate files to match all the patterns.
If not all targets are created then GNU make will not consider any
target up to date and will re-run the recipe when it is run again.

Modify Documentation/Makefile to split the man page-creating pattern
rule into a separate pattern rule for each pattern.

Reported-by: Alexander Kanavin &lt;alex.kanavin@gmail.com&gt;
Signed-off-by: Paul Smith &lt;psmith@gnu.org&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>Documentation: add lint-fsck-msgids</title>
<updated>2022-10-25T22:44:19Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2022-10-25T22:42:24Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=3882a0d3ad92ace6559c950921d9afb4cdcc7ea0'/>
<id>urn:sha1:3882a0d3ad92ace6559c950921d9afb4cdcc7ea0</id>
<content type='text'>
During the initial development of the fsck-msgids.txt feature, it
has become apparent that it is very much error prone to make sure
the description in the documentation file are sorted and correctly
match what is in the fsck.h header file.

Add a quick-and-dirty Perl script and doc-lint target to sanity
check that the fsck-msgids.txt is consistent with the error type
list in the fsck.h header file.

Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>Merge branch 'vd/doc-reviewing-guidelines'</title>
<updated>2022-09-21T22:27:02Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2022-09-21T22:27:02Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=ac45db1e7552b46e10c4f5732ed56dbfa92e2d30'/>
<id>urn:sha1:ac45db1e7552b46e10c4f5732ed56dbfa92e2d30</id>
<content type='text'>
Just like we have coding guidelines, we now have guidelines for
reviewers.

* vd/doc-reviewing-guidelines:
  Documentation: add ReviewingGuidelines
</content>
</entry>
</feed>
