# HG changeset patch # User Brett Cannon # Date 1426260892 14400 # Node ID 8d7bf729a4db5f9386b947344df1deca5c37e58d # Parent f3c430afa59888273201c715123649ee6ec48b3a hglib: use io.BytesIO when available (issue4520) Since cStringIO.StringIO is not available in Python 3, try to use io.BytesIO when available. diff -r f3c430afa598 -r 8d7bf729a4db hglib/client.py --- a/hglib/client.py Fri Mar 13 11:31:54 2015 -0400 +++ b/hglib/client.py Fri Mar 13 11:34:52 2015 -0400 @@ -1,5 +1,8 @@ import subprocess, os, struct, re, datetime -from cStringIO import StringIO as BytesIO +try: + from io import BytesIO +except ImportError: + from cStringIO import StringIO as BytesIO import hglib, error, util, templates, merge, context from util import b, cmdbuilder diff -r f3c430afa598 -r 8d7bf729a4db hglib/util.py --- a/hglib/util.py Fri Mar 13 11:31:54 2015 -0400 +++ b/hglib/util.py Fri Mar 13 11:34:52 2015 -0400 @@ -1,5 +1,8 @@ import itertools, error, os, subprocess, sys -from cStringIO import StringIO as BytesIO +try: + from io import BytesIO +except ImportError: + from cStringIO import StringIO as BytesIO if sys.version_info[0] > 2: def b(s): diff -r f3c430afa598 -r 8d7bf729a4db tests/test-import.py --- a/tests/test-import.py Fri Mar 13 11:31:54 2015 -0400 +++ b/tests/test-import.py Fri Mar 13 11:34:52 2015 -0400 @@ -1,5 +1,8 @@ import common, os -from cStringIO import StringIO as BytesIO +try: + from io import BytesIO +except ImportError: + from cStringIO import StringIO as BytesIO import hglib from hglib.util import b