<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/python-packages/gitpython.git/doc, branch keep-raw-bytes-on-diffs</title>
<subtitle>github.com: gitpython-developers/GitPython.git
</subtitle>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-packages/gitpython.git/'/>
<entry>
<title>Store raw path bytes in Diff instances</title>
<updated>2016-06-14T21:09:22+00:00</updated>
<author>
<name>Vincent Driessen</name>
<email>me@nvie.com</email>
</author>
<published>2016-06-14T20:44:11+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-packages/gitpython.git/commit/?id=3ee291c469fc7ea6065ed22f344ed3f2792aa2ca'/>
<id>3ee291c469fc7ea6065ed22f344ed3f2792aa2ca</id>
<content type='text'>
Previously, the following fields on Diff instances were assumed to be
passed in as unicode strings:

  - `a_path`
  - `b_path`
  - `rename_from`
  - `rename_to`

However, since Git natively records paths as bytes, these may
potentially not have a valid unicode representation.

This patch changes the Diff instance to instead take the following
equivalent fields that should be raw bytes instead:

  - `a_rawpath`
  - `b_rawpath`
  - `raw_rename_from`
  - `raw_rename_to`

NOTE ON BACKWARD COMPATIBILITY:
The original `a_path`, `b_path`, etc. fields are still available as
properties (rather than slots).  These properties now dynamically decode
the raw bytes into a unicode string (performing the potentially
destructive operation of replacing invalid unicode chars by "�"'s).
This means that all code using Diffs should remain backward compatible.
The only exception is when people would manually construct Diff
instances by calling the constructor directly, in which case they should
now pass in bytes rather than unicode strings.

See also the discussion on
https://github.com/gitpython-developers/GitPython/pull/467
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Previously, the following fields on Diff instances were assumed to be
passed in as unicode strings:

  - `a_path`
  - `b_path`
  - `rename_from`
  - `rename_to`

However, since Git natively records paths as bytes, these may
potentially not have a valid unicode representation.

This patch changes the Diff instance to instead take the following
equivalent fields that should be raw bytes instead:

  - `a_rawpath`
  - `b_rawpath`
  - `raw_rename_from`
  - `raw_rename_to`

NOTE ON BACKWARD COMPATIBILITY:
The original `a_path`, `b_path`, etc. fields are still available as
properties (rather than slots).  These properties now dynamically decode
the raw bytes into a unicode string (performing the potentially
destructive operation of replacing invalid unicode chars by "�"'s).
This means that all code using Diffs should remain backward compatible.
The only exception is when people would manually construct Diff
instances by calling the constructor directly, in which case they should
now pass in bytes rather than unicode strings.

See also the discussion on
https://github.com/gitpython-developers/GitPython/pull/467
</pre>
</div>
</content>
</entry>
<entry>
<title>doc(changes): inform about new API</title>
<updated>2016-06-14T05:52:07+00:00</updated>
<author>
<name>Sebastian Thiel</name>
<email>byronimo@gmail.com</email>
</author>
<published>2016-06-14T05:51:25+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-packages/gitpython.git/commit/?id=5c8ff218cb3ee5d3dd9119007ea8478626f6d2ce'/>
<id>5c8ff218cb3ee5d3dd9119007ea8478626f6d2ce</id>
<content type='text'>
Relates to #446
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Relates to #446
</pre>
</div>
</content>
</entry>
<entry>
<title>Fixed 'TypeError: decode() takes no keyword arguments' on Python 2.6</title>
<updated>2016-06-01T08:02:44+00:00</updated>
<author>
<name>Andreas Maier</name>
<email>maiera@de.ibm.com</email>
</author>
<published>2016-06-01T08:02:44+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-packages/gitpython.git/commit/?id=55969cb6034d5b416946cdb8aaf7223b1c3cbea6'/>
<id>55969cb6034d5b416946cdb8aaf7223b1c3cbea6</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Bump for new version</title>
<updated>2016-05-30T19:29:40+00:00</updated>
<author>
<name>Vincent Driessen</name>
<email>me@nvie.com</email>
</author>
<published>2016-05-30T19:29:40+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-packages/gitpython.git/commit/?id=6581acaa7081d29dbf9f35c5ce78db78cf822ab8'/>
<id>6581acaa7081d29dbf9f35c5ce78db78cf822ab8</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix regex</title>
<updated>2016-05-30T19:23:45+00:00</updated>
<author>
<name>Vincent Driessen</name>
<email>me@nvie.com</email>
</author>
<published>2016-05-30T19:20:47+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-packages/gitpython.git/commit/?id=25844b80c56890abc79423a7a727a129b2b9db85'/>
<id>25844b80c56890abc79423a7a727a129b2b9db85</id>
<content type='text'>
This catches the case where the matched line contains "(" or ")"
characters.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This catches the case where the matched line contains "(" or ")"
characters.
</pre>
</div>
</content>
</entry>
<entry>
<title>Update changelog</title>
<updated>2016-05-30T17:17:05+00:00</updated>
<author>
<name>Vincent Driessen</name>
<email>me@nvie.com</email>
</author>
<published>2016-05-30T17:17:05+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-packages/gitpython.git/commit/?id=c4ace5482efa4ca8769895dc9506d8eccfb0173d'/>
<id>c4ace5482efa4ca8769895dc9506d8eccfb0173d</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix bug in diff parser output</title>
<updated>2016-05-30T13:44:46+00:00</updated>
<author>
<name>Vincent Driessen</name>
<email>me@nvie.com</email>
</author>
<published>2016-05-30T13:26:23+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-packages/gitpython.git/commit/?id=1faf84f8eb760b003ad2be81432443bf443b82e6'/>
<id>1faf84f8eb760b003ad2be81432443bf443b82e6</id>
<content type='text'>
The diff --patch parser was missing some edge case where Git would
encode non-ASCII chars in path names as octals, but these weren't
decoded properly.

    \360\237\222\251.txt

Decoded via utf-8, that will return:

    💩.txt
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The diff --patch parser was missing some edge case where Git would
encode non-ASCII chars in path names as octals, but these weren't
decoded properly.

    \360\237\222\251.txt

Decoded via utf-8, that will return:

    💩.txt
</pre>
</div>
</content>
</entry>
<entry>
<title>doc(changes): inform about new progress API</title>
<updated>2016-05-29T08:32:50+00:00</updated>
<author>
<name>Sebastian Thiel</name>
<email>byronimo@gmail.com</email>
</author>
<published>2016-05-29T08:32:50+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-packages/gitpython.git/commit/?id=ce87a2bec5d9920784a255f11687f58bb5002c4c'/>
<id>ce87a2bec5d9920784a255f11687f58bb5002c4c</id>
<content type='text'>
Related to #450
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Related to #450
</pre>
</div>
</content>
</entry>
<entry>
<title>chore(compat): another attempt to get travis right</title>
<updated>2016-05-26T07:24:53+00:00</updated>
<author>
<name>Sebastian Thiel</name>
<email>byronimo@gmail.com</email>
</author>
<published>2016-05-26T07:24:53+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-packages/gitpython.git/commit/?id=b9a7dc5fe98e1aa666445bc240055b21ed809824'/>
<id>b9a7dc5fe98e1aa666445bc240055b21ed809824</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>chore(changes): put fix to correct patch level</title>
<updated>2016-05-25T08:02:02+00:00</updated>
<author>
<name>Sebastian Thiel</name>
<email>byronimo@gmail.com</email>
</author>
<published>2016-05-25T08:02:02+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-packages/gitpython.git/commit/?id=bed46300fe5dcb376d43da56bbcd448d73bb2ea0'/>
<id>bed46300fe5dcb376d43da56bbcd448d73bb2ea0</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
