git » git-arr » commit 6b83e32

Repo.blob: employ formal mechanism for requesting raw command output

author Eric Sunshine
2015-01-13 09:57:08 UTC
committer Alberto Bertogli
2015-01-13 19:51:44 UTC
parent 43f4132bf1e7855f17187f3f496b62a0a8192424

Repo.blob: employ formal mechanism for requesting raw command output

Sneakily extracting the raw 'fd' from the utf8-encoding wrapper
returned by GitCommand.run() is ugly and fragile. Instead, take
advantage of the new formal API for requesting raw command output.

Signed-off-by: Eric Sunshine <sunshine@sunshineco.com>
Signed-off-by: Alberto Bertogli <albertito@blitiri.com.ar>

git.py +1 -4

diff --git a/git.py b/git.py
index 718d2fa..58b0c4c 100644
--- a/git.py
+++ b/git.py
@@ -344,6 +344,7 @@ class Repo:
         if not ref:
             ref = self.branch
         cmd = self.cmd('cat-file')
+        cmd.raw(raw)
         cmd.batch = None
 
         if isinstance(ref, unicode):
@@ -355,10 +356,6 @@ class Repo:
         if not head or head.strip().endswith('missing'):
             return None
 
-        # Raw option in case we need a binary blob and not a utf-8 encoded one.
-        if raw:
-            return out.fd.read()
-
         return out.read()
 
     def last_commit_timestamp(self):