<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/python-packages/gitpython.git, 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>Python 2.6 compat</title>
<updated>2016-06-14T18:55:41+00:00</updated>
<author>
<name>Vincent Driessen</name>
<email>me@nvie.com</email>
</author>
<published>2016-06-14T18:55:41+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-packages/gitpython.git/commit/?id=105a8c0fb3fe61b77956c8ebd3216738c78a3dff'/>
<id>105a8c0fb3fe61b77956c8ebd3216738c78a3dff</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</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>fix(test_docs): skip master-dependent assertion</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:41:59+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-packages/gitpython.git/commit/?id=27f394a58b7795303926cd2f7463fc7187e1cce4'/>
<id>27f394a58b7795303926cd2f7463fc7187e1cce4</id>
<content type='text'>
It usually fails on branches, which doesn't help
assessing PRs.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
It usually fails on branches, which doesn't help
assessing PRs.
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge pull request #446 from guyzmo/updating_remote_url_handling</title>
<updated>2016-06-14T05:46:26+00:00</updated>
<author>
<name>Sebastian Thiel</name>
<email>byronimo@gmail.com</email>
</author>
<published>2016-06-14T05:46:26+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-packages/gitpython.git/commit/?id=9bebaca85a19e0ac8a776ee09981f0c826e1cafa'/>
<id>9bebaca85a19e0ac8a776ee09981f0c826e1cafa</id>
<content type='text'>
Adding support for git remote set-url/get-url API to Remote</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Adding support for git remote set-url/get-url API to Remote</pre>
</div>
</content>
</entry>
<entry>
<title>Merge pull request #467 from gitpython-developers/fix-dont-choke-on-invalid-unicode-paths</title>
<updated>2016-06-14T05:38:26+00:00</updated>
<author>
<name>Sebastian Thiel</name>
<email>byronimo@gmail.com</email>
</author>
<published>2016-06-14T05:38:26+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-packages/gitpython.git/commit/?id=d22c40b942cca16ff9e70d879b669c97599406b7'/>
<id>d22c40b942cca16ff9e70d879b669c97599406b7</id>
<content type='text'>
Don't choke on (legitimately) invalidly encoded Unicode paths</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Don't choke on (legitimately) invalidly encoded Unicode paths</pre>
</div>
</content>
</entry>
<entry>
<title>fix(flake): misc whitespace fixes</title>
<updated>2016-06-14T05:29:12+00:00</updated>
<author>
<name>Sebastian Thiel</name>
<email>byronimo@gmail.com</email>
</author>
<published>2016-06-14T05:29:12+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-packages/gitpython.git/commit/?id=4510b3c42b85305c95c1f39be2b9872be52c2e5e'/>
<id>4510b3c42b85305c95c1f39be2b9872be52c2e5e</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>fix(cmd): allow any kind of status message</title>
<updated>2016-06-13T08:21:04+00:00</updated>
<author>
<name>Sebastian Thiel</name>
<email>byronimo@gmail.com</email>
</author>
<published>2016-06-13T08:21:04+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-packages/gitpython.git/commit/?id=d5739cd466f77a60425bd2860895799f7c9359d9'/>
<id>d5739cd466f77a60425bd2860895799f7c9359d9</id>
<content type='text'>
I see no need in verifying the status code.
It's enough to just get the error.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
I see no need in verifying the status code.
It's enough to just get the error.
</pre>
</div>
</content>
</entry>
<entry>
<title>doc(README): add basic contribution guidelines</title>
<updated>2016-06-13T08:13:18+00:00</updated>
<author>
<name>Sebastian Thiel</name>
<email>byronimo@gmail.com</email>
</author>
<published>2016-06-13T08:13:18+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-packages/gitpython.git/commit/?id=17020d8ac806faf6ffa178587a97625589ba21eb'/>
<id>17020d8ac806faf6ffa178587a97625589ba21eb</id>
<content type='text'>
The main point is that from now on, tests are required to add
new features. If the fix is minor enough, not having a test
is probably alright.

That distinction is not represented in the contribution guide
as more tests are better - people should prefer to have a test
whenever they contribute anything.

My motivation to finally do this is the sad realization that
I grow too unconfident about the quality of some contributions
without having tests that proof they are valid. It's not enough
to not break anything that exists, as the current test-suite is
certainly not perfect either.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The main point is that from now on, tests are required to add
new features. If the fix is minor enough, not having a test
is probably alright.

That distinction is not represented in the contribution guide
as more tests are better - people should prefer to have a test
whenever they contribute anything.

My motivation to finally do this is the sad realization that
I grow too unconfident about the quality of some contributions
without having tests that proof they are valid. It's not enough
to not break anything that exists, as the current test-suite is
certainly not perfect either.
</pre>
</div>
</content>
</entry>
<entry>
<title>fix(misc): various cleanup</title>
<updated>2016-06-13T08:07:40+00:00</updated>
<author>
<name>Sebastian Thiel</name>
<email>byronimo@gmail.com</email>
</author>
<published>2016-06-13T08:07:40+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-packages/gitpython.git/commit/?id=15ee5a505b43741cdb7c79f41ebfa3d881910a6c'/>
<id>15ee5a505b43741cdb7c79f41ebfa3d881910a6c</id>
<content type='text'>
Just went through all changes and adjusted them to the best of my
abilities. As there are no tests to claim otherwise, I believe
this is correct enough.

However, it becomes evident that it's no longer possible to just
make changes without backing them with a respective test.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Just went through all changes and adjusted them to the best of my
abilities. As there are no tests to claim otherwise, I believe
this is correct enough.

However, it becomes evident that it's no longer possible to just
make changes without backing them with a respective test.
</pre>
</div>
</content>
</entry>
</feed>
