Closed
Description
Task:
Clone from a remote repository having ssh://[email protected]/git/remote_repo format, which has submodules included from the outside of domain.com.
Problem:
current_repository = git.Repo.clone_from(r"ssh://[email protected]/git/remote_repo", r"d:\temp")
the remote_repo has 313 objects (files and folders). Above method call hangs after fetching 294 objects. Total size of remote_repo is 82 MB.
Observations:
- Command Prompt: "git clone -v ssh://[email protected]/git/remote_repo d:\temp" works
- Git Bash: "git clone -v ssh://[email protected]/git/remote_repo d:\temp" works
- Python interpreter: os.system("git clone -v ssh://[email protected]/git/remote_repo d:\temp") works
Possible but incomplete solution:
there is some problem with stderr=PIPE parameter of subprocess.Popen call in execute method of Python27\Lib\site-packages\GitPython-0.3.2.RC1-py2.7.egg\git\cmd.py.
If I change the code to below:
err_file = open("d:\\err.txt","w")
# Start the process
proc = Popen(command,
cwd=cwd,
stdin=istream,
stderr=err_file,
#stderr=PIPE,
stdout=PIPE,
close_fds=(os.name=='posix'),# unsupported on linux
**subprocess_kwargs
)
The process does not hang.