Junio C Hamano <gitster@xxxxxxxxx> writes: >> cmd += [ key ] >> s = read_pipe(cmd, ignore_error=True) >> _gitConfig[key] = s.strip() >> - return _gitConfig[key] >> + return ustring(_gitConfig[key]) > > Likewise. I'd expect, if we were to declare that our internal > strings are all unicode in Python 3, we'd be using a thin wrapper of > read_pipe() that yields a unicode string, so 's' would not be a > bytestring, and s.strip() would not be either. Oops, I did not even realize read_pipe() is already our own. So there is no need to any wrapper around it, if we were to declare that all strings we use are unicode under Python 3---we just need to have the ustring() call (after giviing the helper a better name) directly inside read_pipe() function.