2012-03-19 12 views
5

次のpythonスクリプトを使用して簡単なgitコマンドを実行しようとしています。pythonスクリプトを使用してgitコマンドを実行しようとしています

しかし、git reposetoryと同じディレクトリにpythonスクリプトを実行していても、次のエラーが表示されます。

Error : fatal: Not a git repository (or any of the parent directories): .git 

通常のコマンドプロンプトで実行すると、gitファイルに問題があると思われますが、gitファイルは正常でgitコマンドが機能します。

ネットで検索しようとしましたが、有用な情報が得られませんでした。よろしくお願いします。最後に '/' を持っている必要があり

#!/usr/bin/python 

import commands 
import subprocess 
import os 
import sys 

pr = subprocess.Popen("/usr/bin/git log" , cwd = os.path.dirname('/ext/home/rakesh.kumar/workspace/myproject/'), shell = True, stdout = subprocess.PIPE, stderr = subprocess.PIPE) 
(out, error) = pr.communicate() 


print "Error : " + str(error) 
print "out : " + str(out) 

ディレクトリパス:

+0

79文字で改行するコードで何が問題になっていますか? –

答えて

4

はこれを試してみてください。

os.path.dirname('/ext/home/rakesh.kumar/workspace/myproject') 

はあなたを与える:あなたが欲しいものではありません、私は賭け、

>>> os.path.dirname('/ext/home/rakesh.kumar/workspace/myproject') 
'/ext/home/rakesh.kumar/workspace' 

+0

すぐにお返事ありがとうございましたAdam、それは今動作します。 – Rakesh

+0

このエラーは、 'GIT_DIR'環境変数が設定されている場合(特に、gitフックで発生する可能性のある相対パス) –

5

問題はos.path.dirname()の使用です。