<feed xmlns='http://www.w3.org/2005/Atom'>
<title>git/pretty.c, branch v2.36.2</title>
<subtitle>Mirror of https://git.kernel.org/pub/scm/git/git.git/
</subtitle>
<id>https://git.shady.money/git/atom?h=v2.36.2</id>
<link rel='self' href='https://git.shady.money/git/atom?h=v2.36.2'/>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/'/>
<updated>2021-12-15T17:39:48Z</updated>
<entry>
<title>Merge branch 'es/pretty-describe-more'</title>
<updated>2021-12-15T17:39:48Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2021-12-15T17:39:48Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=6ba65f4ac321d628d754b3e5494a348a2106c03a'/>
<id>urn:sha1:6ba65f4ac321d628d754b3e5494a348a2106c03a</id>
<content type='text'>
Extend "git log --format=%(describe)" placeholder to allow passing
selected command-line options to the underlying "git describe"
command.

* es/pretty-describe-more:
  pretty: add abbrev option to %(describe)
  pretty: add tag option to %(describe)
  pretty.c: rework describe options parsing for better extensibility
</content>
</entry>
<entry>
<title>Merge branch 'hm/paint-hits-in-log-grep'</title>
<updated>2021-11-01T20:48:08Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2021-11-01T20:48:08Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=b93d7206919e9eac22b3ca0291bce8da65960595'/>
<id>urn:sha1:b93d7206919e9eac22b3ca0291bce8da65960595</id>
<content type='text'>
"git log --grep=string --author=name" learns to highlight hits just
like "git grep string" does.

* hm/paint-hits-in-log-grep:
  grep/pcre2: fix an edge case concerning ascii patterns and UTF-8 data
  pretty: colorize pattern matches in commit messages
  grep: refactor next_match() and match_one_pattern() for external use
</content>
</entry>
<entry>
<title>pretty: add abbrev option to %(describe)</title>
<updated>2021-11-01T17:34:36Z</updated>
<author>
<name>Eli Schwartz</name>
<email>eschwartz@archlinux.org</email>
</author>
<published>2021-10-31T17:15:10Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=eccd97d0b02a87db0b0e828dd4f0b441c5462a9c'/>
<id>urn:sha1:eccd97d0b02a87db0b0e828dd4f0b441c5462a9c</id>
<content type='text'>
The %(describe) placeholder by default, like `git describe`, uses a
seven-character abbreviated commit object name. This may not be
sufficient to fully describe all commits in a given repository,
resulting in a placeholder replacement changing its length because the
repository grew in size.  This could cause the output of git-archive to
change.

Add the --abbrev option to `git describe` to the placeholder interface
in order to provide tools to the user for fine-tuning project defaults
and ensure reproducible archives.

One alternative would be to just always specify --abbrev=40 but this may
be a bit too biased...

Signed-off-by: Eli Schwartz &lt;eschwartz@archlinux.org&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>pretty: add tag option to %(describe)</title>
<updated>2021-11-01T17:34:34Z</updated>
<author>
<name>Eli Schwartz</name>
<email>eschwartz@archlinux.org</email>
</author>
<published>2021-10-31T17:15:09Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=1d517ceab98fd5c3c1a8fb6ef575b44c31ea7a9e'/>
<id>urn:sha1:1d517ceab98fd5c3c1a8fb6ef575b44c31ea7a9e</id>
<content type='text'>
The %(describe) placeholder by default, like `git describe`, only
supports annotated tags. However, some people do use lightweight tags
for releases, and would like to describe those anyway. The command line
tool has an option to support this.

Teach the placeholder to support this as well.

Signed-off-by: Eli Schwartz &lt;eschwartz@archlinux.org&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>pretty.c: rework describe options parsing for better extensibility</title>
<updated>2021-11-01T17:34:32Z</updated>
<author>
<name>Eli Schwartz</name>
<email>eschwartz@archlinux.org</email>
</author>
<published>2021-10-31T17:15:08Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=3c6eb4ec50d9a4a9017fb8c1f220d12dceb206b1'/>
<id>urn:sha1:3c6eb4ec50d9a4a9017fb8c1f220d12dceb206b1</id>
<content type='text'>
It contains option arguments only, not options. We would like to add
option support here too, but to do that we need to distinguish between
different types of options.

Lay out the groundwork for distinguishing between bools, strings, etc.
and move the central logic (validating values and pushing new arguments
to *args) into the successful match, because that will be fairly
conditional on what type of argument is being parsed.

Signed-off-by: Eli Schwartz &lt;eschwartz@archlinux.org&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>Merge branch 'jk/log-warn-on-bogus-encoding'</title>
<updated>2021-10-29T22:43:15Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2021-10-29T22:43:15Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=a31efa77c641ed3a71f6445da93f623351afb76e'/>
<id>urn:sha1:a31efa77c641ed3a71f6445da93f623351afb76e</id>
<content type='text'>
Squelch over-eager warning message added during this cycle.

* jk/log-warn-on-bogus-encoding:
  log: document --encoding behavior on iconv() failure
  Revert "logmsg_reencode(): warn when iconv() fails"
</content>
</entry>
<entry>
<title>Revert "logmsg_reencode(): warn when iconv() fails"</title>
<updated>2021-10-29T20:48:58Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2021-10-29T20:48:58Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=0988e665e936d0c2c861dcd652bff9817e9446bf'/>
<id>urn:sha1:0988e665e936d0c2c861dcd652bff9817e9446bf</id>
<content type='text'>
This reverts commit fd680bc5 (logmsg_reencode(): warn when iconv()
fails, 2021-08-27).  Throwing a warning for each and every commit
that gets reencoded, without allowing a way to squelch, would make
it unpleasant for folks who have to deal with an ancient part of the
history in an old project that used wrong encoding in the commits.
</content>
</entry>
<entry>
<title>Merge branch 'fs/ssh-signing'</title>
<updated>2021-10-25T23:06:58Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2021-10-25T23:06:58Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=18c6653da0be924f83415f987d76f6813b81f086'/>
<id>urn:sha1:18c6653da0be924f83415f987d76f6813b81f086</id>
<content type='text'>
Use ssh public crypto for object and push-cert signing.

* fs/ssh-signing:
  ssh signing: test that gpg fails for unknown keys
  ssh signing: tests for logs, tags &amp; push certs
  ssh signing: duplicate t7510 tests for commits
  ssh signing: verify signatures using ssh-keygen
  ssh signing: provide a textual signing_key_id
  ssh signing: retrieve a default key from ssh-agent
  ssh signing: add ssh key format and signing code
  ssh signing: add test prereqs
  ssh signing: preliminary refactoring and clean-up
</content>
</entry>
<entry>
<title>pretty: colorize pattern matches in commit messages</title>
<updated>2021-10-08T21:19:14Z</updated>
<author>
<name>Hamza Mahfooz</name>
<email>someguy@effective-light.com</email>
</author>
<published>2021-10-07T20:31:47Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=6a5c337922a5221d1f6d025d84e18b526df9944c'/>
<id>urn:sha1:6a5c337922a5221d1f6d025d84e18b526df9944c</id>
<content type='text'>
The "git log" command limits its output to the commits that contain strings
matched by a pattern when the "--grep=&lt;pattern&gt;" option is used, but unlike
output from "git grep -e &lt;pattern&gt;", the matches are not highlighted,
making them harder to spot.

Teach the pretty-printer code to highlight matches from the
"--grep=&lt;pattern&gt;", "--author=&lt;pattern&gt;" and "--committer=&lt;pattern&gt;"
options (to view the last one, you may have to ask for --pretty=fuller).

Also, it must be noted that we are effectively greping the content twice
(because it would be a hassle to rework the existing matching code to do
a /g match and then pass it all down to the coloring code), however it only
slows down "git log --author=^H" on this repository by around 1-2%
(compared to v2.33.0), so it should be a small enough slow down to justify
the addition of the feature.

Signed-off-by: Hamza Mahfooz &lt;someguy@effective-light.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>ssh signing: preliminary refactoring and clean-up</title>
<updated>2021-09-10T21:15:51Z</updated>
<author>
<name>Fabian Stelzer</name>
<email>fs@gigacodes.de</email>
</author>
<published>2021-09-10T20:07:34Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=b5726a5d9cabba0bd8fb6c1b25a887bc7ea4650d'/>
<id>urn:sha1:b5726a5d9cabba0bd8fb6c1b25a887bc7ea4650d</id>
<content type='text'>
Openssh v8.2p1 added some new options to ssh-keygen for signature
creation and verification. These allow us to use ssh keys for git
signatures easily.

In our corporate environment we use PIV x509 Certs on Yubikeys for email
signing/encryption and ssh keys which I think is quite common
(at least for the email part). This way we can establish the correct
trust for the SSH Keys without setting up a separate GPG Infrastructure
(which is still quite painful for users) or implementing x509 signing
support for git (which lacks good forwarding mechanisms).
Using ssh agent forwarding makes this feature easily usable in todays
development environments where code is often checked out in remote VMs / containers.
In such a setup the keyring &amp; revocationKeyring can be centrally
generated from the x509 CA information and distributed to the users.

To be able to implement new signing formats this commit:
 - makes the sigc structure more generic by renaming "gpg_output" to
   "output"
 - introduces function pointers in the gpg_format structure to call
   format specific signing and verification functions
 - moves format detection from verify_signed_buffer into the check_signature
   api function and calls the format specific verify
 - renames and wraps sign_buffer to handle format specific signing logic
   as well

Signed-off-by: Fabian Stelzer &lt;fs@gigacodes.de&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
</feed>
