<feed xmlns='http://www.w3.org/2005/Atom'>
<title>git/contrib, branch v2.4.2</title>
<subtitle>Mirror of https://git.kernel.org/pub/scm/git/git.git/
</subtitle>
<id>https://git.shady.money/git/atom?h=v2.4.2</id>
<link rel='self' href='https://git.shady.money/git/atom?h=v2.4.2'/>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/'/>
<updated>2015-05-26T20:49:22Z</updated>
<entry>
<title>Merge branch 'sg/complete-decorate-full-not-long' into maint</title>
<updated>2015-05-26T20:49:22Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2015-05-26T20:49:22Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=23903b9e290afeb6928955ee589799ee1a3c4c73'/>
<id>urn:sha1:23903b9e290afeb6928955ee589799ee1a3c4c73</id>
<content type='text'>
The completion for "log --decorate=" parameter value was incorrect.

* sg/complete-decorate-full-not-long:
  completion: fix and update 'git log --decorate=' options
</content>
</entry>
<entry>
<title>completion: fix and update 'git log --decorate=' options</title>
<updated>2015-05-03T18:46:14Z</updated>
<author>
<name>SZEDER Gábor</name>
<email>szeder@ira.uka.de</email>
</author>
<published>2015-05-01T17:21:00Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=af16bdaa3fb25bd5811b09bc11c9244b1dcc684e'/>
<id>urn:sha1:af16bdaa3fb25bd5811b09bc11c9244b1dcc684e</id>
<content type='text'>
'git log --decorate=' understands the 'full', 'short' and 'no' options.
From these the completion script only offered 'short' and it offered
'long' instead of 'full'.

Signed-off-by: SZEDER Gábor &lt;szeder@ira.uka.de&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>Merge branch 'mh/multimail-renewal'</title>
<updated>2015-04-28T20:01:29Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2015-04-28T20:01:29Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=0ab00b9464051509d7ebd0755bdff1df0a4a51de'/>
<id>urn:sha1:0ab00b9464051509d7ebd0755bdff1df0a4a51de</id>
<content type='text'>
* mh/multimail-renewal:
  Update git-multimail to version 1.0.2
</content>
</entry>
<entry>
<title>Update git-multimail to version 1.0.2</title>
<updated>2015-04-28T18:37:09Z</updated>
<author>
<name>Michael Haggerty</name>
<email>mhagger@alum.mit.edu</email>
</author>
<published>2015-04-27T11:17:25Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=36bf6d46972df55ffb1c53c88d1b0e463f522116'/>
<id>urn:sha1:36bf6d46972df55ffb1c53c88d1b0e463f522116</id>
<content type='text'>
The only changes are to the README files, most notably the list of
maintainers and the project URL.

Signed-off-by: Michael Haggerty &lt;mhagger@alum.mit.edu&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>Merge branch 'ma/bash-completion-leaking-x' into maint</title>
<updated>2015-04-27T19:23:51Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2015-04-27T19:23:51Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=89ba311df399d27a962b273e1acd95a38af2c821'/>
<id>urn:sha1:89ba311df399d27a962b273e1acd95a38af2c821</id>
<content type='text'>
The completion script (in contrib/) contaminated global namespace
and clobbered on a shell variable $x.

* ma/bash-completion-leaking-x:
  completion: fix global bash variable leak on __gitcompappend
</content>
</entry>
<entry>
<title>Merge branch 'jk/colors' into maint</title>
<updated>2015-04-21T19:12:25Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2015-04-21T19:12:25Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=d544696afab635005503b18d71ca150b53d788a4'/>
<id>urn:sha1:d544696afab635005503b18d71ca150b53d788a4</id>
<content type='text'>
"diff-highlight" (in contrib/) used to show byte-by-byte
differences, which meant that multi-byte characters can be chopped
in the middle.  It learned to pay attention to character boundaries
(assuming the UTF-8 payload).

* jk/colors:
  diff-highlight: do not split multibyte characters
</content>
</entry>
<entry>
<title>Merge branch 'ma/bash-completion-leaking-x'</title>
<updated>2015-04-20T22:28:30Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2015-04-20T22:28:29Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=6b1258b07b8ad5671f36bf7e998e905a0142c223'/>
<id>urn:sha1:6b1258b07b8ad5671f36bf7e998e905a0142c223</id>
<content type='text'>
The completion script (in contrib/) contaminated global namespace
and clobbered on a shell variable $x.

* ma/bash-completion-leaking-x:
  completion: fix global bash variable leak on __gitcompappend
</content>
</entry>
<entry>
<title>Merge branch 'jk/colors'</title>
<updated>2015-04-14T18:49:13Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2015-04-14T18:49:13Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=7a1aa0c28876e044351e78d8b8ae6cdbb10b5dfe'/>
<id>urn:sha1:7a1aa0c28876e044351e78d8b8ae6cdbb10b5dfe</id>
<content type='text'>
"diff-highlight" (in contrib/) used to show byte-by-byte
differences, which meant that multi-byte characters can be chopped
in the middle.  It learned to pay attention to character boundaries
(assuming the UTF-8 payload).

* jk/colors:
  diff-highlight: do not split multibyte characters
</content>
</entry>
<entry>
<title>completion: fix global bash variable leak on __gitcompappend</title>
<updated>2015-04-13T05:35:51Z</updated>
<author>
<name>Márcio Almada</name>
<email>marcio.web2@gmail.com</email>
</author>
<published>2015-04-08T05:45:58Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=852ff1c362b9e92f4bc08997c4837c6190d6e530'/>
<id>urn:sha1:852ff1c362b9e92f4bc08997c4837c6190d6e530</id>
<content type='text'>
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>diff-highlight: do not split multibyte characters</title>
<updated>2015-04-04T20:03:45Z</updated>
<author>
<name>Kyle J. McKay</name>
<email>mackyle@gmail.com</email>
</author>
<published>2015-04-03T22:15:14Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=8d00662d7d263448d90637ef6758fd2a0b526fec'/>
<id>urn:sha1:8d00662d7d263448d90637ef6758fd2a0b526fec</id>
<content type='text'>
When the input is UTF-8 and Perl is operating on bytes instead of
characters, a diff that changes one multibyte character to another
that shares an initial byte sequence will result in a broken diff
display as the common byte sequence prefix will be separated from
the rest of the bytes in the multibyte character.

For example, if a single line contains only the unicode character
U+C9C4 (encoded as UTF-8 0xEC, 0xA7, 0x84) and that line is then
changed to the unicode character U+C9C0 (encoded as UTF-8 0xEC,
0xA7, 0x80), when operating on bytes diff-highlight will show only
the single byte change from 0x84 to 0x80 thus creating invalid UTF-8
and a broken diff display.

Fix this by putting Perl into character mode when splitting the line
and then back into byte mode after the split is finished.

The utf8::xxx functions require Perl 5.8 so we require that as well.

Also, since we are mucking with code in the split_line function, we
change a '*' quantifier to a '+' quantifier when matching the $COLOR
expression which has the side effect of speeding everything up while
eliminating useless '' elements in the returned array.

Reported-by: Yi EungJun &lt;semtlenori@gmail.com&gt;
Signed-off-by: Kyle J. McKay &lt;mackyle@gmail.com&gt;
Acked-by: Jeff King &lt;peff@peff.net&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
</feed>
