<feed xmlns='http://www.w3.org/2005/Atom'>
<title>git/strbuf.h, branch v2.9.2</title>
<subtitle>Mirror of https://git.kernel.org/pub/scm/git/git.git/
</subtitle>
<id>https://git.shady.money/git/atom?h=v2.9.2</id>
<link rel='self' href='https://git.shady.money/git/atom?h=v2.9.2'/>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/'/>
<updated>2016-07-06T20:06:45Z</updated>
<entry>
<title>Merge branch 'pb/strbuf-read-file-doc' into maint</title>
<updated>2016-07-06T20:06:45Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2016-07-06T20:06:45Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=f7927316cf7b6252e27e54cdd2929039253c2422'/>
<id>urn:sha1:f7927316cf7b6252e27e54cdd2929039253c2422</id>
<content type='text'>
Minor doc update.

* pb/strbuf-read-file-doc:
  strbuf: describe the return value of strbuf_read_file
</content>
</entry>
<entry>
<title>strbuf: describe the return value of strbuf_read_file</title>
<updated>2016-06-14T17:57:21Z</updated>
<author>
<name>Pranit Bauva</name>
<email>pranit.bauva@gmail.com</email>
</author>
<published>2016-06-14T06:14:11Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=ed008d7bb957ccfbe32c95aad74ee78e0e31de16'/>
<id>urn:sha1:ed008d7bb957ccfbe32c95aad74ee78e0e31de16</id>
<content type='text'>
Mentored-by: Lars Schneider &lt;larsxschneider@gmail.com&gt;
Mentored-by: Christian Couder &lt;chriscool@tuxfamily.org&gt;
Signed-off-by: Pranit Bauva &lt;pranit.bauva@gmail.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>Merge branch 'sb/submodule-parallel-update'</title>
<updated>2016-04-06T18:39:01Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2016-04-06T18:39:01Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=bdebbeb3346e9867005947aff356b99a7358e5ab'/>
<id>urn:sha1:bdebbeb3346e9867005947aff356b99a7358e5ab</id>
<content type='text'>
A major part of "git submodule update" has been ported to C to take
advantage of the recently added framework to run download tasks in
parallel.

* sb/submodule-parallel-update:
  clone: allow an explicit argument for parallel submodule clones
  submodule update: expose parallelism to the user
  submodule helper: remove double 'fatal: ' prefix
  git submodule update: have a dedicated helper for cloning
  run_processes_parallel: rename parameters for the callbacks
  run_processes_parallel: treat output of children as byte array
  submodule update: direct error message to stderr
  fetching submodules: respect `submodule.fetchJobs` config option
  submodule-config: drop check against NULL
  submodule-config: keep update strategy around
</content>
</entry>
<entry>
<title>run_processes_parallel: treat output of children as byte array</title>
<updated>2016-03-01T19:57:19Z</updated>
<author>
<name>Stefan Beller</name>
<email>sbeller@google.com</email>
</author>
<published>2016-03-01T02:07:15Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=2dac9b5637abe580e8b8ea36e00dbbf28ec99af6'/>
<id>urn:sha1:2dac9b5637abe580e8b8ea36e00dbbf28ec99af6</id>
<content type='text'>
We do not want the output to be interrupted by a NUL byte, so we
cannot use raw fputs. Introduce strbuf_write to avoid having long
arguments in run-command.c.

Reviewed-by: Jonathan Nieder &lt;jrnieder@gmail.com&gt;
Signed-off-by: Stefan Beller &lt;sbeller@google.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>Merge branch 'jc/strbuf-getline'</title>
<updated>2016-01-29T00:10:14Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2016-01-29T00:10:14Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=b62624b51a54325e6884c197352dc0dcef700325'/>
<id>urn:sha1:b62624b51a54325e6884c197352dc0dcef700325</id>
<content type='text'>
The preliminary clean-up for jc/peace-with-crlf topic.

* jc/strbuf-getline:
  strbuf: give strbuf_getline() to the "most text friendly" variant
  checkout-index: there are only two possible line terminations
  update-index: there are only two possible line terminations
  check-ignore: there are only two possible line terminations
  check-attr: there are only two possible line terminations
  mktree: there are only two possible line terminations
  strbuf: introduce strbuf_getline_{lf,nul}()
  strbuf: make strbuf_getline_crlf() global
  strbuf: miniscule style fix
</content>
</entry>
<entry>
<title>strbuf: give strbuf_getline() to the "most text friendly" variant</title>
<updated>2016-01-15T18:23:57Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2016-01-14T02:32:23Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=1a0c8dfd89475d6bb09ddee8c019cf0ae5b3bdc2'/>
<id>urn:sha1:1a0c8dfd89475d6bb09ddee8c019cf0ae5b3bdc2</id>
<content type='text'>
Now there is no direct caller to strbuf_getline(), we can demote it
to file-scope static that is private to strbuf.c and rename it to
strbuf_getdelim().  Rename strbuf_getline_crlf(), which is designed
to be the most "text friendly" variant, and allow it to take over
this simplest name, strbuf_getline(), so we can add more uses of it
without having to type _crlf over and over again in the coming
steps.

Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>strbuf: introduce strbuf_getline_{lf,nul}()</title>
<updated>2016-01-15T18:12:51Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2016-01-13T23:31:17Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=8f309aeb8225a9c26f20c0dbc031f1ea8df75d49'/>
<id>urn:sha1:8f309aeb8225a9c26f20c0dbc031f1ea8df75d49</id>
<content type='text'>
The strbuf_getline() interface allows a byte other than LF or NUL as
the line terminator, but this is only because I wrote these
codepaths anticipating that there might be a value other than NUL
and LF that could be useful when I introduced line_termination long
time ago.  No useful caller that uses other value has emerged.

By now, it is clear that the interface is overly broad without a
good reason.  Many codepaths have hardcoded preference to read
either LF terminated or NUL terminated records from their input, and
then call strbuf_getline() with LF or NUL as the third parameter.

This step introduces two thin wrappers around strbuf_getline(),
namely, strbuf_getline_lf() and strbuf_getline_nul(), and
mechanically rewrites these call sites to call either one of
them.  The changes contained in this patch are:

 * introduction of these two functions in strbuf.[ch]

 * mechanical conversion of all callers to strbuf_getline() with
   either '\n' or '\0' as the third parameter to instead call the
   respective thin wrapper.

After this step, output from "git grep 'strbuf_getline('" would
become a lot smaller.  An interim goal of this series is to make
this an empty set, so that we can have strbuf_getline_crlf() take
over the shorter name strbuf_getline().

Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>strbuf: make strbuf_getline_crlf() global</title>
<updated>2016-01-14T23:05:55Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2015-10-28T20:17:29Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=c8aa9fdf5dc15e2c508acb22df03d431983569ed'/>
<id>urn:sha1:c8aa9fdf5dc15e2c508acb22df03d431983569ed</id>
<content type='text'>
Often we read "text" files that are supplied by the end user
(e.g. commit log message that was edited with $GIT_EDITOR upon 'git
commit -e'), and in some environments lines in a text file are
terminated with CRLF.  Existing strbuf_getline() knows to read a
single line and then strip the terminating byte from the result, but
it is handy to have a version that is more tailored for a "text"
input that takes both '\n' and '\r\n' as line terminator (aka
&lt;newline&gt; in POSIX lingo) and returns the body of the line after
stripping &lt;newline&gt;.

Recently reimplemented "git am" uses such a function implemented
privately; move it to strbuf.[ch] and make it available for others.

Note that we do not blindly replace calls to strbuf_getline() that
uses LF as the line terminator with calls to strbuf_getline_crlf()
and this is very much deliberate.  Some callers may want to treat an
incoming line that ends with CR (and terminated with LF) to have a
payload that includes the final CR, and such a blind replacement
will result in misconversion when done without code audit.

Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>strbuf: add strbuf_read_once to read without blocking</title>
<updated>2015-12-16T20:06:08Z</updated>
<author>
<name>Stefan Beller</name>
<email>sbeller@google.com</email>
</author>
<published>2015-12-16T00:04:08Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=b4e04fb66e87a027c5f9c96bcbbba50719400169'/>
<id>urn:sha1:b4e04fb66e87a027c5f9c96bcbbba50719400169</id>
<content type='text'>
The new call will read from a file descriptor into a strbuf once. The
underlying call xread is just run once. xread only reattempts
reading in case of EINTR, which makes it suitable to use for a
nonblocking read.

Signed-off-by: Stefan Beller &lt;sbeller@google.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>Merge branch 'tk/stripspace'</title>
<updated>2015-10-26T22:55:20Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2015-10-26T22:55:20Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=1ad7c0f6896bf0fa0b1b4965d7395b7ba2695fdc'/>
<id>urn:sha1:1ad7c0f6896bf0fa0b1b4965d7395b7ba2695fdc</id>
<content type='text'>
The internal stripspace() function has been moved to where it
logically belongs to, i.e. strbuf API, and the command line parser
of "git stripspace" has been updated to use the parse_options API.

* tk/stripspace:
  stripspace: use parse-options for command-line parsing
  strbuf: make stripspace() part of strbuf
</content>
</entry>
</feed>
