From: wanchao.xu Date: Wed, 5 Mar 2025 06:43:39 +0000 (+0800) Subject: Fix gbs cost too long time to export icu package. X-Git-Tag: accepted/tools/devbase/tools/20250527.103743^0 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=HEAD;p=tools%2Fgit-buildpackage.git Fix gbs cost too long time to export icu package. * Python3 use bytes to save the output of git command, and bytes type is immutable, it will release and reallocate memory when copying output. python2 use string to save output, it's alterable. Change-Id: Ic1fb891fb03321708f2895cd30b4f797bdf78a6b Signed-off-by: wanchao.xu --- diff --git a/gbp/git/repository.py b/gbp/git/repository.py index 9d94b822..8146204b 100644 --- a/gbp/git/repository.py +++ b/gbp/git/repository.py @@ -183,14 +183,14 @@ class GitRepository(object): if not cwd: cwd = self.path ret = 0 - stdout = b'' - stderr = b'' + stdout = bytearray(b'') + stderr = bytearray(b'') try: for outdata in self.__git_inout(command, args, input, extra_env, cwd, capture_stderr, capture_stdout): - stdout += outdata[0] - stderr += outdata[1] + stdout.extend(outdata[0]) + stderr.extend(outdata[1]) except GitRepositoryError as err: ret = err.returncode return stdout, stderr, ret @@ -207,11 +207,11 @@ class GitRepository(object): """ if not cwd: cwd = self.path - stderr = b'' + stderr = bytearray(b'') try: for outdata in self.__git_inout(command, args, stdin, extra_env, cwd, capture_stderr, True): - stderr += outdata[1] + stderr.extend(outdata[1]) yield outdata[0] except GitRepositoryError as err: err.stderr = stderr @@ -2022,7 +2022,7 @@ class GitRepository(object): try: if not os.path.exists(abspath): os.makedirs(abspath) - stderr = b'' + stderr = bytearray(b'') try: for out in klass.__git_inout(command='init', args=args.args, @@ -2031,7 +2031,7 @@ class GitRepository(object): cwd=abspath, capture_stderr=True, capture_stdout=True): - stderr += out[1] + stderr.extend(out[1]) except GitRepositoryError: raise GitRepositoryError("Error running git init: %s" % stderr.decode().strip()) except Exception as excobj: @@ -2086,7 +2086,7 @@ class GitRepository(object): try: if not os.path.exists(abspath): os.makedirs(abspath) - stderr = b'' + stderr = bytearray(b'') try: for out in klass.__git_inout(command='clone', args=args.args, @@ -2095,7 +2095,7 @@ class GitRepository(object): cwd=abspath, capture_stderr=True, capture_stdout=True): - stderr += out[1] + stderr.extend(out[1]) except GitRepositoryError: raise GitRepositoryError("Error running git clone: %s" % stderr.decode()) except Exception as excobj: