あなたは間違ったツールを使って作業していると思います。現在のディレクトリはリポジトリではなく環境のプロパティです。 git log
はあまり気にしません。
したがって、スクリプト内の現在のディレクトリを取得し、何とかgit log
の出力に入れる必要があります。
あなたはgit log
によって返された各行のレポディレクトリを持っている必要がある場合、あなたは単にフォーマット文字列内$(pwd)
を絞ることができます。
git log --branches=master --no-merges --pretty=format:"%H;%an;%ad;%s;$(pwd)" --date=format:'%Y-%m-%d %H:%M'
は、電流経路が%
が含まれている場合、それは望ましくない結果を生むことに注意してgit log
によって解釈される特殊文字であるためです。これはあなたが形式にパスを挿入する前に%
文字をエスケープするsed
を使用することができ起こる避けるため
:
dir=$(pwd | sed s/%/%%/g)
git log --branches=master --no-merges --pretty=format:"%H;%an;%ad;%s;$dir" --date=format:'%Y-%m-%d %H:%M'
電流経路が"
または;
が含まれている場合、彼らは特別な文字であるとして、それはまだ問題を生成することができますシェルとCSV形式の両方で使用できます。必要であれば、sed
コマンドで引用符で囲むこともできます。私は私が正しく理解していますが、--dirstatを検索する場合、絶対にわからない
多分質問を誤解が、なぜあなたが使用しているスクリプト言語を使用してフォルダ名を印刷していけませんか? – jbu
私が見る限り、フォーマット文字列にはrepo name/folder nameを持つプレースホルダはありません。 – jbu
'git log foldername/filename'これはあなたが望むものですか? – ASR