<feed xmlns='http://www.w3.org/2005/Atom'>
<title>git/convert.c, branch v1.8.2.2</title>
<subtitle>Mirror of https://git.kernel.org/pub/scm/git/git.git/
</subtitle>
<id>https://git.shady.money/git/atom?h=v1.8.2.2</id>
<link rel='self' href='https://git.shady.money/git/atom?h=v1.8.2.2'/>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/'/>
<updated>2013-01-23T16:41:50Z</updated>
<entry>
<title>convert some config callbacks to parse_config_key</title>
<updated>2013-01-23T16:41:50Z</updated>
<author>
<name>Jeff King</name>
<email>peff@peff.net</email>
</author>
<published>2013-01-23T06:24:23Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=d731f0ade129a71237eff5a17f3196002cb439fb'/>
<id>urn:sha1:d731f0ade129a71237eff5a17f3196002cb439fb</id>
<content type='text'>
These callers can drop some inline pointer arithmetic and
magic offset constants, making them more readable and less
error-prone (those constants had to match the lengths of
strings, but there is no automatic verification of that
fact).

The "ep" pointer (presumably for "end pointer"), which
points to the final key segment of the config variable, is
given the more standard name "key" to describe its function
rather than its derivation.

Signed-off-by: Jeff King &lt;peff@peff.net&gt;
Reviewed-by: Jonathan Nieder &lt;jrnieder@gmail.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>Merge branch 'jb/required-filter'</title>
<updated>2012-02-28T21:25:57Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2012-02-28T21:25:57Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=524ee675a36961c5b59302e84ffd08808f4f787e'/>
<id>urn:sha1:524ee675a36961c5b59302e84ffd08808f4f787e</id>
<content type='text'>
* jb/required-filter:
  Add a setting to require a filter to be successful

Conflicts:
	convert.c
</content>
</entry>
<entry>
<title>Merge branch 'jk/maint-avoid-streaming-filtered-contents'</title>
<updated>2012-02-27T07:05:38Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2012-02-27T07:05:38Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=31e3d834b39b773831c3c3e2637f2d99bfad9cbf'/>
<id>urn:sha1:31e3d834b39b773831c3c3e2637f2d99bfad9cbf</id>
<content type='text'>
* jk/maint-avoid-streaming-filtered-contents:
  do not stream large files to pack when filters are in use
  teach dry-run convert_to_git not to require a src buffer
  teach convert_to_git a "dry run" mode
</content>
</entry>
<entry>
<title>teach dry-run convert_to_git not to require a src buffer</title>
<updated>2012-02-24T22:12:19Z</updated>
<author>
<name>Jeff King</name>
<email>peff@peff.net</email>
</author>
<published>2012-02-24T22:05:03Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=4c3b57b98bccfdb740b8f1d0ca574dd51deacfad'/>
<id>urn:sha1:4c3b57b98bccfdb740b8f1d0ca574dd51deacfad</id>
<content type='text'>
When we call convert_to_git in dry-run mode, it may still
want to look at the source buffer, because some CRLF
conversion modes depend on analyzing the source to determine
whether it is in fact convertible CRLF text.

However, the main motivation for convert_to_git's dry-run
mode is that we would decide which method to use to acquire
the blob's data (streaming versus in-core). Requiring this
source analysis creates a chicken-and-egg problem. We are
better off simply guessing that anything we can't analyze
will end up needing conversion.

This patch lets a caller specify a NULL src buffer when
using dry-run mode (and only dry-run mode). A non-zero
return value goes from "we would convert" to "we might
convert"; a zero return value remains "we would definitely
not convert".

Signed-off-by: Jeff King &lt;peff@peff.net&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>teach convert_to_git a "dry run" mode</title>
<updated>2012-02-24T22:11:27Z</updated>
<author>
<name>Jeff King</name>
<email>peff@peff.net</email>
</author>
<published>2012-02-24T22:02:37Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=92ac3197e4859ba8c19e3e7f7b8cf5dc38e4669d'/>
<id>urn:sha1:92ac3197e4859ba8c19e3e7f7b8cf5dc38e4669d</id>
<content type='text'>
Some callers may want to know whether convert_to_git will
actually do anything before performing the conversion
itself (e.g., to decide whether to stream or handle blobs
in-core). This patch lets callers specify the dry run mode
by passing a NULL destination buffer. The return value,
instead of indicating whether conversion happened, will
indicate whether conversion would occur.

For readability, we also include a wrapper function which
makes it more obvious we are not actually performing the
conversion.

Signed-off-by: Jeff King &lt;peff@peff.net&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>Ignore SIGPIPE when running a filter driver</title>
<updated>2012-02-21T20:48:09Z</updated>
<author>
<name>Jehan Bing</name>
<email>jehan@orb.com</email>
</author>
<published>2012-02-20T20:53:37Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=6424c2ad12cf6c3feb533fab9c4dded7514d0f4c'/>
<id>urn:sha1:6424c2ad12cf6c3feb533fab9c4dded7514d0f4c</id>
<content type='text'>
If a filter is not defined or if it fails, git should behave as if the
filter is a no-op passthru.

However, if the filter exits before reading all the content, depending on
the timing, git could be killed with SIGPIPE when it tries to write to the
pipe connected to the filter.

Ignore SIGPIPE while processing the filter to give us a chance to check
the return value from a failed write, in order to detect and act on this
mode of failure in a more controlled way.

Signed-off-by: Jehan Bing &lt;jehan@orb.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>Add a setting to require a filter to be successful</title>
<updated>2012-02-17T15:37:08Z</updated>
<author>
<name>Jehan Bing</name>
<email>jehan@orb.com</email>
</author>
<published>2012-02-17T01:19:03Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=36daaaca0046542f4d5576ad5766ac55f43e3fc3'/>
<id>urn:sha1:36daaaca0046542f4d5576ad5766ac55f43e3fc3</id>
<content type='text'>
By default, a missing filter driver or a failure from the filter driver is
not an error, but merely makes the filter operation a no-op pass through.
This is useful to massage the content into a shape that is more convenient
for the platform, filesystem, and the user to use, and the content filter
mechanism is not used to turn something unusable into usable.

However, we could also use of the content filtering mechanism and store
the content that cannot be directly used in the repository (e.g. a UUID
that refers to the true content stored outside git, or an encrypted
content) and turn it into a usable form upon checkout (e.g. download the
external content, or decrypt the encrypted content).  For such a use case,
the content cannot be used when filter driver fails, and we need a way to
tell Git to abort the whole operation for such a failing or missing filter
driver.

Add a new "filter.&lt;driver&gt;.required" configuration variable to mark the
second use case.  When it is set, git will abort the operation when the
filter driver does not exist or exits with a non-zero status code.

Signed-off-by: Jehan Bing &lt;jehan@orb.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>Merge branch 'jc/maint-lf-to-crlf-keep-crlf' into maint</title>
<updated>2011-12-28T19:42:27Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2011-12-28T19:42:27Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=23838b8a152a6363e22fdbe3f474fab904f701b3'/>
<id>urn:sha1:23838b8a152a6363e22fdbe3f474fab904f701b3</id>
<content type='text'>
* jc/maint-lf-to-crlf-keep-crlf:
  lf_to_crlf_filter(): resurrect CRLF-&gt;CRLF hack
</content>
</entry>
<entry>
<title>Merge branch 'jc/maint-lf-to-crlf-keep-crlf'</title>
<updated>2011-12-22T19:27:29Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2011-12-22T19:27:29Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=339aff0846ccf21905d047c20e3c7d077d6f300b'/>
<id>urn:sha1:339aff0846ccf21905d047c20e3c7d077d6f300b</id>
<content type='text'>
* jc/maint-lf-to-crlf-keep-crlf:
  lf_to_crlf_filter(): resurrect CRLF-&gt;CRLF hack
</content>
</entry>
<entry>
<title>Merge branch 'cn/maint-lf-to-crlf-filter' into maint</title>
<updated>2011-12-21T19:42:44Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2011-12-21T19:42:44Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=3bb8d69cddbcad4bd4ae3d1281c42c1aeb297355'/>
<id>urn:sha1:3bb8d69cddbcad4bd4ae3d1281c42c1aeb297355</id>
<content type='text'>
* cn/maint-lf-to-crlf-filter:
  lf_to_crlf_filter(): tell the caller we added "\n" when draining
  convert: track state in LF-to-CRLF filter
</content>
</entry>
</feed>
