<feed xmlns='http://www.w3.org/2005/Atom'>
<title>git/convert.c, branch v2.24.2</title>
<subtitle>Mirror of https://git.kernel.org/pub/scm/git/git.git/
</subtitle>
<id>https://git.shady.money/git/atom?h=v2.24.2</id>
<link rel='self' href='https://git.shady.money/git/atom?h=v2.24.2'/>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/'/>
<updated>2019-10-09T05:01:00Z</updated>
<entry>
<title>Merge branch 'rs/convert-fix-utf-without-dash'</title>
<updated>2019-10-09T05:01:00Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2019-10-09T05:01:00Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=d17f54947d9074e92bfbeabc05d5c39147456fe3'/>
<id>urn:sha1:d17f54947d9074e92bfbeabc05d5c39147456fe3</id>
<content type='text'>
The code to skip "UTF" and "UTF-" prefix, when computing an advice
message, did not work correctly when the prefix was "UTF", which
has been fixed.

* rs/convert-fix-utf-without-dash:
  convert: fix handling of dashless UTF prefix in validate_encoding()
</content>
</entry>
<entry>
<title>convert: fix handling of dashless UTF prefix in validate_encoding()</title>
<updated>2019-10-06T00:43:01Z</updated>
<author>
<name>René Scharfe</name>
<email>l.s.r@web.de</email>
</author>
<published>2019-10-04T19:25:50Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=b181676ce9e8c89a39737f098d9b9c4f774596cf'/>
<id>urn:sha1:b181676ce9e8c89a39737f098d9b9c4f774596cf</id>
<content type='text'>
Strip "UTF" and an optional dash from the start of 'upper' without
passing a NULL pointer to skip_prefix() in the second call, as it cannot
handle that.

Signed-off-by: René Scharfe &lt;l.s.r@web.de&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>am: reload .gitattributes after patching it</title>
<updated>2019-09-03T22:16:18Z</updated>
<author>
<name>brian m. carlson</name>
<email>sandals@crustytoothpaste.net</email>
</author>
<published>2019-09-02T22:39:44Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=2c65d90f7579a0e2a6460eebce44795587e87043'/>
<id>urn:sha1:2c65d90f7579a0e2a6460eebce44795587e87043</id>
<content type='text'>
When applying multiple patches with git am, or when rebasing using the
am backend, it's possible that one of our patches has updated a
gitattributes file. Currently, we cache this information, so if a
file in a subsequent patch has attributes applied, the file will be
written out with the attributes in place as of the time we started the
rebase or am operation, not with the attributes applied by the previous
patch. This problem does not occur when using the -m or -i flags to
rebase.

To ensure we write the correct data into the working tree, expire the
cache after each patch that touches a path ending in ".gitattributes".
Since we load these attributes in multiple separate files, we must
expire them accordingly.

Verify that both the am and rebase code paths work correctly, including
the conflict marker size with am -3.

Signed-off-by: brian m. carlson &lt;sandals@crustytoothpaste.net&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>Merge branch 'jh/resize-convert-scratch-buffer'</title>
<updated>2019-04-09T17:14:22Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2019-04-09T17:14:22Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=1828e52efcffe75707b88345f025c3ee4114864a'/>
<id>urn:sha1:1828e52efcffe75707b88345f025c3ee4114864a</id>
<content type='text'>
When the "clean" filter can reduce the size of a huge file in the
working tree down to a small "token" (a la Git LFS), there is no
point in allocating a huge scratch area upfront, but the buffer is
sized based on the original file size.  The convert mechanism now
allocates very minimum and reallocates as it receives the output
from the clean filter process.

* jh/resize-convert-scratch-buffer:
  convert: avoid malloc of original file size
</content>
</entry>
<entry>
<title>convert: avoid malloc of original file size</title>
<updated>2019-03-08T01:13:00Z</updated>
<author>
<name>Joey Hess</name>
<email>id@joeyh.name</email>
</author>
<published>2019-03-07T19:56:57Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=02156ab031e430bc45ce6984dfc712de9962dec8'/>
<id>urn:sha1:02156ab031e430bc45ce6984dfc712de9962dec8</id>
<content type='text'>
We write the output of a "clean" filter into a strbuf. Rather than
growing the strbuf dynamically as we read its output, we make the
initial allocation as large as the original input file. This is a good
guess when the filter is just tweaking a few bytes, but it's disastrous
when the point of the filter is to condense a very large file into a
short identifier (e.g., the way git-lfs and git-annex do). We may ask to
allocate many gigabytes, causing the allocation to fail and Git to
die().

Instead, let's just let strbuf do its usual growth.

When the clean filter does output something around the same size as the
worktree file, the buffer will need to be reallocated until it fits,
starting at 8192 and doubling in size. Benchmarking indicates that
reallocation is not a significant overhead for outputs up to a
few MB in size.

Signed-off-by: Joey Hess &lt;id@joeyh.name&gt;
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>Merge branch 'jk/unused-parameter-cleanup'</title>
<updated>2019-02-07T06:05:23Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2019-02-07T06:05:23Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=b2fc9d2fb02782a20d4370d7989be8b0a54f1017'/>
<id>urn:sha1:b2fc9d2fb02782a20d4370d7989be8b0a54f1017</id>
<content type='text'>
Code cleanup.

* jk/unused-parameter-cleanup:
  convert: drop path parameter from actual conversion functions
  convert: drop len parameter from conversion checks
  config: drop unused parameter from maybe_remove_section()
  show_date_relative(): drop unused "tz" parameter
  column: drop unused "opts" parameter in item_length()
  create_bundle(): drop unused "header" parameter
  apply: drop unused "def" parameter from find_name_gnu()
  match-trees: drop unused path parameter from score functions
</content>
</entry>
<entry>
<title>Merge branch 'nd/the-index-final'</title>
<updated>2019-02-07T06:05:23Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2019-02-07T06:05:22Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=7589e63648bf5224e186990931b1491f36e10a4b'/>
<id>urn:sha1:7589e63648bf5224e186990931b1491f36e10a4b</id>
<content type='text'>
The assumption to work on the single "in-core index" instance has
been reduced from the library-ish part of the codebase.

* nd/the-index-final:
  cache.h: flip NO_THE_INDEX_COMPATIBILITY_MACROS switch
  read-cache.c: remove the_* from index_has_changes()
  merge-recursive.c: remove implicit dependency on the_repository
  merge-recursive.c: remove implicit dependency on the_index
  sha1-name.c: remove implicit dependency on the_index
  read-cache.c: replace update_index_if_able with repo_&amp;
  read-cache.c: kill read_index()
  checkout: avoid the_index when possible
  repository.c: replace hold_locked_index() with repo_hold_locked_index()
  notes-utils.c: remove the_repository references
  grep: use grep_opt-&gt;repo instead of explict repo argument
</content>
</entry>
<entry>
<title>convert: drop path parameter from actual conversion functions</title>
<updated>2019-01-24T20:35:45Z</updated>
<author>
<name>Jeff King</name>
<email>peff@peff.net</email>
</author>
<published>2019-01-24T13:12:51Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=55ad152cfbf99409859fc8f7a1d602d9c47415a4'/>
<id>urn:sha1:55ad152cfbf99409859fc8f7a1d602d9c47415a4</id>
<content type='text'>
The caller is responsible for looking up the attributes,
after which point we no longer care about the path at which
the content is found.

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>convert: drop len parameter from conversion checks</title>
<updated>2019-01-24T20:35:45Z</updated>
<author>
<name>Jeff King</name>
<email>peff@peff.net</email>
</author>
<published>2019-01-24T13:12:41Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=129beeee9a6ad95153bc4ebce0cfb447e1451522'/>
<id>urn:sha1:129beeee9a6ad95153bc4ebce0cfb447e1451522</id>
<content type='text'>
We've already extracted the useful information into our text_stat
struct, so the length is no longer needed.

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>cache.h: flip NO_THE_INDEX_COMPATIBILITY_MACROS switch</title>
<updated>2019-01-24T19:55:06Z</updated>
<author>
<name>Nguyễn Thái Ngọc Duy</name>
<email>pclouds@gmail.com</email>
</author>
<published>2019-01-24T08:29:12Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=f8adbec9feaa7a1ab9814db1115826e87033712e'/>
<id>urn:sha1:f8adbec9feaa7a1ab9814db1115826e87033712e</id>
<content type='text'>
By default, index compat macros are off from now on, because they
could hide the_index dependency.

Only those in builtin can use 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>
</feed>
