我正在执行以下 GitPython 相关代码以从远程存储库克隆。远程 repo url 通常是 format https://username:password@host/path/to/repo.git
。
Repo.clone_from(repo_url, local_repo_path)
这会导致以下错误,这并不是很有帮助
File "clone.py", line 192, in clone
Repo.clone_from(repo_url,local_repo_path)
File "/usr/local/lib/python2.7/dist-packages/git/repo/base.py", line 844, in clone_from
return cls._clone(Git(os.getcwd()), url, to_path, GitCmdObjectDB, progress, **kwargs)
File "/usr/local/lib/python2.7/dist-packages/git/repo/base.py", line 791, in _clone
v=True, **add_progress(kwargs, git, progress))
File "/usr/local/lib/python2.7/dist-packages/git/cmd.py", line 431, in <lambda>
return lambda *args, **kwargs: self._call_process(name, *args, **kwargs)
File "/usr/local/lib/python2.7/dist-packages/git/cmd.py", line 802, in _call_process
return self.execute(make_call(), **_kwargs)
File "/usr/local/lib/python2.7/dist-packages/git/cmd.py", line 556, in execute
**subprocess_kwargs
File "/usr/lib/python2.7/subprocess.py", line 710, in __init__
errread, errwrite)
File "/usr/lib/python2.7/subprocess.py", line 1327, in _execute_child
raise child_exception
TypeError: execve() arg 2 must contain only strings
我尝试将值编码为 utf-8,但没有成功。这些变量的类型显示为str
在克隆命令之前记录时。
Repo.clone_from(unicode(repo_url, "utf-8"), unicode(local_repo_path, "utf-8"))