diff --git a/git_command.py b/git_command.py index 181e372..513b9eb 100644 --- a/git_command.py +++ b/git_command.py @@ -112,6 +112,9 @@ def git_require(min_version, fail=False): sys.exit(1) return False +def _setenv(env, name, value): + env[name] = value.encode() + class GitCommand(object): def __init__(self, project, @@ -137,10 +140,10 @@ class GitCommand(object): del env[e] if disable_editor: - env['GIT_EDITOR'] = ':' + _setenv(env, 'GIT_EDITOR', ':') if ssh_proxy: - env['REPO_SSH_SOCK'] = ssh_sock() - env['GIT_SSH'] = _ssh_proxy() + _setenv(env, 'REPO_SSH_SOCK', ssh_sock()) + _setenv(env, 'GIT_SSH', _ssh_proxy()) if project: if not cwd: @@ -151,7 +154,7 @@ class GitCommand(object): command = [GIT] if bare: if gitdir: - env[GIT_DIR] = gitdir + _setenv(env, GIT_DIR, gitdir) cwd = None command.extend(cmdv) diff --git a/repo b/repo index cb6f634..e570a0b 100755 --- a/repo +++ b/repo @@ -264,8 +264,8 @@ def _SetupGnuPG(quiet): gpg_dir, e.strerror) sys.exit(1) - env = dict(os.environ) - env['GNUPGHOME'] = gpg_dir + env = os.environ.copy() + env['GNUPGHOME'] = gpg_dir.encode() cmd = ['gpg', '--import'] try: @@ -383,8 +383,8 @@ def _Verify(cwd, branch, quiet): % (branch, cur) print >>sys.stderr - env = dict(os.environ) - env['GNUPGHOME'] = gpg_dir + env = os.environ.copy() + env['GNUPGHOME'] = gpg_dir.encode() cmd = [GIT, 'tag', '-v', cur] proc = subprocess.Popen(cmd, @@ -488,6 +488,7 @@ def _Help(args): if args: if args[0] == 'init': init_optparse.print_help() + sys.exit(0) else: print >>sys.stderr,\ "error: '%s' is not a bootstrap command.\n"\ diff --git a/subcmds/forall.py b/subcmds/forall.py index 6bd867e..d3e70ae 100644 --- a/subcmds/forall.py +++ b/subcmds/forall.py @@ -151,11 +151,11 @@ terminal and are not redirected. first = True for project in self.GetProjects(args): - env = dict(os.environ.iteritems()) + env = os.environ.copy() def setenv(name, val): if val is None: val = '' - env[name] = val + env[name] = val.encode() setenv('REPO_PROJECT', project.name) setenv('REPO_PATH', project.relpath) diff --git a/subcmds/sync.py b/subcmds/sync.py index 7b77388..16f1d18 100644 --- a/subcmds/sync.py +++ b/subcmds/sync.py @@ -271,7 +271,7 @@ uncommitted changes are present' % project.relpath if branch.startswith(R_HEADS): branch = branch[len(R_HEADS):] - env = dict(os.environ) + env = os.environ.copy() if (env.has_key('TARGET_PRODUCT') and env.has_key('TARGET_BUILD_VARIANT')): target = '%s-%s' % (env['TARGET_PRODUCT'], @@ -428,9 +428,9 @@ warning: Cannot automatically authenticate repo.""" % (project.name, rev) return False - env = dict(os.environ) - env['GIT_DIR'] = project.gitdir - env['GNUPGHOME'] = gpg_dir + env = os.environ.copy() + env['GIT_DIR'] = project.gitdir.encode() + env['GNUPGHOME'] = gpg_dir.encode() cmd = [GIT, 'tag', '-v', cur] proc = subprocess.Popen(cmd,