@@ -373,40 +373,33 @@ def create_from_tree(cls, repo, tree, message, parent_commits=None, head=False,
373373
374374 def _serialize (self , stream ):
375375 write = stream .write
376- write ("tree %s\n " % self .tree )
376+ write (( "tree %s\n " % self .tree ). encode ( 'ascii' ) )
377377 for p in self .parents :
378- write ("parent %s\n " % p )
378+ write (( "parent %s\n " % p ). encode ( 'ascii' ) )
379379
380380 a = self .author
381381 aname = a .name
382- if isinstance (aname , text_type ):
383- aname = aname .encode (self .encoding )
384- # END handle unicode in name
385-
386382 c = self .committer
387383 fmt = "%s %s <%s> %s %s\n "
388- write (fmt % ("author" , aname , a .email ,
384+ write (( fmt % ("author" , aname , a .email ,
389385 self .authored_date ,
390- altz_to_utctz_str (self .author_tz_offset )))
386+ altz_to_utctz_str (self .author_tz_offset ))). encode ( self . encoding ))
391387
392388 # encode committer
393389 aname = c .name
394- if isinstance (aname , text_type ):
395- aname = aname .encode (self .encoding )
396- # END handle unicode in name
397- write (fmt % ("committer" , aname , c .email ,
390+ write ((fmt % ("committer" , aname , c .email ,
398391 self .committed_date ,
399- altz_to_utctz_str (self .committer_tz_offset )))
392+ altz_to_utctz_str (self .committer_tz_offset ))). encode ( self . encoding ))
400393
401394 if self .encoding != self .default_encoding :
402- write ("encoding %s\n " % self .encoding )
395+ write (( "encoding %s\n " % self .encoding ). encode ( 'ascii' ) )
403396
404397 if self .gpgsig :
405398 write ("gpgsig" )
406399 for sigline in self .gpgsig .rstrip ("\n " ).split ("\n " ):
407- write (" " + sigline + "\n " )
400+ write (( " " + sigline + "\n " ). encode ( 'ascii' ) )
408401
409- write ("\n " )
402+ write (b "\n " )
410403
411404 # write plain bytes, be sure its encoded according to our encoding
412405 if isinstance (self .message , text_type ):
0 commit comments