2014-01-18 3 views
0

Я пытаюсь сделать команду для мерзавца непосредственно по электронной почте диф,Как вывести GIT диф в текстовый файл с помощью питона

то, что я думал, чтобы получить диф в текстовый файл по электронной почте,

, но не уверен, почему

pr = subprocess.Popen("git diff HEAD^ HEAD" , cwd = os.path.dirname(os.getcwd()), shell = True, stdout = subprocess.PIPE, stderr = subprocess.PIPE) 
(out, error) = pr.communicate() 
print "Error : " + str(error) 
print "out : " + str(out) 

дает ошибку говоря

Error : error: Could not access 'HEAD^' 

out : 

в то время как я хочу различий в из переменная для электронной почты.

ответ

0

Возможно, вы не выдаете команду в правильной папке, где инициализируется git.

Ваша фактическая проблема заключается в том, что команда os.path.dirname вычеркивает папку из команды os.getcwd, и вы фактически выполняете команду в родительской папке. Если вы избавитесь от os.path.dirname и просто используете os.getcwd, ваш код должен работать.

+1

Изменен размер, если я не делаю 'cwd = os.path.dirname (os.getcwd())' и просто 'cwd = os.getcwd()' решает проблему. –

+0

:) только что это заметил и отредактировал мой ответ. – user1918305

Смежные вопросы