Encode revisions to UTF-8 to pass to Git commands

Review Request #10696 — Created Sept. 6, 2019 and submitted — Latest diff uploaded

Information

RBTools
master

Reviewers

The logic that genates the list of commits to submit for a review
request with commit history was previously attempting to naively convert
the the revisions (which were text) to bytes. This is fine on Python 2,
where bytes(s) implies s.encode('ascii') but this is no longer the
case on Python 3. Instead, str.encode() must be called and it must be
provided with a codec. This method works on both Python 2 and Python 3.

Confirmed the following on Python versions 2.7, 3.5, 3.6, and 3.7:

  • With this entire patch stack (/r/10685, /r/10695, and /r/10697),
    rbt post is able to create review requests with commit history.

Diff Revision 1 (Latest)

Commits

First Last Summary ID Author
Encode revisions to UTF-8 to pass to Git commands
The logic that genates the list of commits to submit for a review request with commit history was previously attempting to naively convert the the revisions (which were text) to bytes. This is fine on Python 2, where `bytes(s)` implies `s.encode('ascii')` but this is no longer the case on Python 3. Instead, `str.encode()` must be called and it must be provided with a codec. This method works on both Python 2 and Python 3. Testing done: Confirmed the following hold on Python verisons 2.7, 3.5, 3.6, and 3.7: - With this entire patch stack (/r/10685, /r/10695, and /r/10697), `rbt post` is able to create review requests with commit history.
a6d7df06a9e09d95107845ff8625ef9cffbd0d5e Barret Rennie
rbtools/clients/git.py
Loading...