вызовите svn как подпроцесс, чтобы проверить исходный код и ожидать возвращения - PullRequest
1 голос
/ 19 октября 2010

Если я использую python для написания сценария для вызова svn в качестве subprocess для извлечения исходного кода:

p = subprocess.Popen("svn checkout file:///tmp/repos/test mine")

Какое значение будет возвращать успех или неудачу svn-checkout subprocess?

Ответы [ 2 ]

1 голос
/ 19 октября 2010

Согласно этой спецификации Python 2.7 , вызов Popen.wait() или Popen.poll() устанавливает атрибут Popen.returncode. Я думаю, вы можете попробовать:

p = subprocess.Popen("svn checkout file:///tmp/repos/test mine")
p.wait() # this deadlocks the thread until process completion, so use with care

# There was an error
if p.returncode != 0:
   # ...

Согласно спецификации:

Дочерний код возврата, установленный poll () и wait () (и косвенно - connect ()). Значение None указывает, что процесс еще не завершен. Отрицательное значение -N указывает, что дочерний элемент был прерван сигналом N (только для Unix).

0 голосов
/ 19 октября 2010

Вы читали документы о подпроцессе?

 returnCode = p.returncode

Это будет содержать код возврата вызова SVN.

...