<feed xmlns='http://www.w3.org/2005/Atom'>
<title>git/ref-filter.c, branch v2.12.3</title>
<subtitle>Mirror of https://git.kernel.org/pub/scm/git/git.git/
</subtitle>
<id>https://www.git.shady.money/git/atom?h=v2.12.3</id>
<link rel='self' href='https://www.git.shady.money/git/atom?h=v2.12.3'/>
<link rel='alternate' type='text/html' href='https://www.git.shady.money/git/'/>
<updated>2017-01-31T21:15:00Z</updated>
<entry>
<title>Merge branch 'rs/qsort-s'</title>
<updated>2017-01-31T21:15:00Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2017-01-31T21:15:00Z</published>
<link rel='alternate' type='text/html' href='https://www.git.shady.money/git/commit/?id=6ad8b8e98faa5a301a98a2997da162dea060672e'/>
<id>urn:sha1:6ad8b8e98faa5a301a98a2997da162dea060672e</id>
<content type='text'>
A few codepaths had to rely on a global variable when sorting
elements of an array because sort(3) API does not allow extra data
to be passed to the comparison function.  Use qsort_s() when
natively available, and a fallback implementation of it when not,
to eliminate the need, which is a prerequisite for making the
codepath reentrant.

* rs/qsort-s:
  ref-filter: use QSORT_S in ref_array_sort()
  string-list: use QSORT_S in string_list_sort()
  perf: add basic sort performance test
  add QSORT_S
  compat: add qsort_s()
</content>
</entry>
<entry>
<title>Merge branch 'st/verify-tag'</title>
<updated>2017-01-31T21:14:58Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2017-01-31T21:14:58Z</published>
<link rel='alternate' type='text/html' href='https://www.git.shady.money/git/commit/?id=237bdd9ddbe52eb651787af1929d8832ce37c322'/>
<id>urn:sha1:237bdd9ddbe52eb651787af1929d8832ce37c322</id>
<content type='text'>
"git tag" and "git verify-tag" learned to put GPG verification
status in their "--format=&lt;placeholders&gt;" output format.

* st/verify-tag:
  t/t7004-tag: Add --format specifier tests
  t/t7030-verify-tag: Add --format specifier tests
  builtin/tag: add --format argument for tag -v
  builtin/verify-tag: add --format to verify-tag
  ref-filter: add function to print single ref_array_item
  gpg-interface, tag: add GPG_VERIFY_OMIT_STATUS flag
</content>
</entry>
<entry>
<title>ref-filter: use QSORT_S in ref_array_sort()</title>
<updated>2017-01-23T19:02:40Z</updated>
<author>
<name>René Scharfe</name>
<email>l.s.r@web.de</email>
</author>
<published>2017-01-22T17:58:07Z</published>
<link rel='alternate' type='text/html' href='https://www.git.shady.money/git/commit/?id=83fc4d64fec779d73b18494461613ef911236daf'/>
<id>urn:sha1:83fc4d64fec779d73b18494461613ef911236daf</id>
<content type='text'>
Pass the array of sort keys to compare_refs() via the context parameter
of qsort_s() instead of using a global variable; that's cleaner and
simpler.  If ref_array_sort() is to be called from multiple parallel
threads then care still needs to be taken that the global variable
used_atom is not modified concurrently.

Signed-off-by: Rene Scharfe &lt;l.s.r@web.de&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>ref-filter: add function to print single ref_array_item</title>
<updated>2017-01-18T00:10:22Z</updated>
<author>
<name>Lukas Puehringer</name>
<email>luk.puehringer@gmail.com</email>
</author>
<published>2017-01-17T23:37:19Z</published>
<link rel='alternate' type='text/html' href='https://www.git.shady.money/git/commit/?id=2111aa794bb420f767895682232b494d3461ab31'/>
<id>urn:sha1:2111aa794bb420f767895682232b494d3461ab31</id>
<content type='text'>
ref-filter functions are useful for printing git object information
using a format specifier. However, some other modules may not want to use
this functionality on a ref-array but only print a single item.

Expose a pretty_print_ref function to create, pretty print and free
individual ref-items.

Signed-off-by: Lukas Puehringer &lt;luk.puehringer@gmail.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>Merge branch 'jk/trailers-placeholder-in-pretty'</title>
<updated>2016-12-19T22:45:34Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2016-12-19T22:45:34Z</published>
<link rel='alternate' type='text/html' href='https://www.git.shady.money/git/commit/?id=f008159fc2dec7b98e74736751d3e6ad8d9c060f'/>
<id>urn:sha1:f008159fc2dec7b98e74736751d3e6ad8d9c060f</id>
<content type='text'>
In addition to %(subject), %(body), "log --pretty=format:..."
learned a new placeholder %(trailers).

* jk/trailers-placeholder-in-pretty:
  ref-filter: add support to display trailers as part of contents
  pretty: add %(trailers) format for displaying trailers of a commit message
</content>
</entry>
<entry>
<title>ref-filter: add support to display trailers as part of contents</title>
<updated>2016-12-11T21:58:41Z</updated>
<author>
<name>Jacob Keller</name>
<email>jacob.keller@gmail.com</email>
</author>
<published>2016-11-19T00:58:15Z</published>
<link rel='alternate' type='text/html' href='https://www.git.shady.money/git/commit/?id=b1d31c8954f9c21b275f4fb7d872414b564c201c'/>
<id>urn:sha1:b1d31c8954f9c21b275f4fb7d872414b564c201c</id>
<content type='text'>
Add %(trailers) and %(contents:trailers) to display the trailers as
interpreted by trailer_info_get. Update documentation and add a test for
the new feature.

Signed-off-by: Jacob Keller &lt;jacob.keller@gmail.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>tag, branch, for-each-ref: add --ignore-case for sorting and filtering</title>
<updated>2016-12-05T22:59:29Z</updated>
<author>
<name>Nguyễn Thái Ngọc Duy</name>
<email>pclouds@gmail.com</email>
</author>
<published>2016-12-04T02:52:25Z</published>
<link rel='alternate' type='text/html' href='https://www.git.shady.money/git/commit/?id=3bb16a8bf2ec02c4cc633c3efd4c012e55ee0c2d'/>
<id>urn:sha1:3bb16a8bf2ec02c4cc633c3efd4c012e55ee0c2d</id>
<content type='text'>
This options makes sorting ignore case, which is great when you have
branches named bug-12-do-something, Bug-12-do-some-more and
BUG-12-do-what and want to group them together. Sorting externally may
not be an option because we lose coloring and column layout from
git-branch and git-tag.

The same could be said for filtering, but it's probably less important
because you can always go with the ugly pattern [bB][uU][gG]-* if you're
desperate.

You can't have case-sensitive filtering and case-insensitive sorting (or
the other way around) with this though. For branch and tag, that should
be no problem. for-each-ref, as a plumbing, might want finer control.
But we can always add --{filter,sort}-ignore-case when there is a need
for it.

Signed-off-by: Nguyễn Thái Ngọc Duy &lt;pclouds@gmail.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>Merge branch 'jc/for-each-ref-head-segfault-fix'</title>
<updated>2016-11-23T19:23:16Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2016-11-23T19:23:16Z</published>
<link rel='alternate' type='text/html' href='https://www.git.shady.money/git/commit/?id=48e9ad5ef3afd39168e2fb72d0ce7ac5f7124d31'/>
<id>urn:sha1:48e9ad5ef3afd39168e2fb72d0ce7ac5f7124d31</id>
<content type='text'>
Using a %(HEAD) placeholder in "for-each-ref --format=" option
caused the command to segfault when on an unborn branch.

* jc/for-each-ref-head-segfault-fix:
  for-each-ref: do not segv with %(HEAD) on an unborn branch
</content>
</entry>
<entry>
<title>for-each-ref: do not segv with %(HEAD) on an unborn branch</title>
<updated>2016-11-18T23:21:12Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2016-11-18T23:21:12Z</published>
<link rel='alternate' type='text/html' href='https://www.git.shady.money/git/commit/?id=84679d470d577bcde1b6aa6af36c08a2d77b6e68'/>
<id>urn:sha1:84679d470d577bcde1b6aa6af36c08a2d77b6e68</id>
<content type='text'>
The code to flip between "*" and " " prefixes depending on what
branch is checked out used in --format='%(HEAD)' did not consider
that HEAD may resolve to an unborn branch and dereferenced a NULL.

This will become a lot easier to trigger as the codepath will be
used to reimplement "git branch [--list]" in the future.

Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>Merge branch 'rs/qsort'</title>
<updated>2016-10-10T21:03:46Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2016-10-10T21:03:46Z</published>
<link rel='alternate' type='text/html' href='https://www.git.shady.money/git/commit/?id=b8688adb12d086b161aa7c369126bdd56843a01b'/>
<id>urn:sha1:b8688adb12d086b161aa7c369126bdd56843a01b</id>
<content type='text'>
We call "qsort(array, nelem, sizeof(array[0]), fn)", and most of
the time third parameter is redundant.  A new QSORT() macro lets us
omit it.

* rs/qsort:
  show-branch: use QSORT
  use QSORT, part 2
  coccicheck: use --all-includes by default
  remove unnecessary check before QSORT
  use QSORT
  add QSORT
</content>
</entry>
</feed>
