1

私はJavaで作業して、Gitリポジトリからの情報を表示しています。コマンドを実行するために「Runtime.getRuntime()。exec」を使用しています。

だから私が書くとき

Process process = Runtime.getRuntime().exec("git --git-dir=/home/gh/git/.git --work-tree=/home/gh/git log");

それは完璧に動作します

ただし、特定の人のログ情報を取得する必要があるため、次のステートメントを記述しても結果が表示されません。

String activeDeveloper = "Carlos Rica";
Process process = Runtime.getRuntime().exec("git --git-dir=/home/ghadeer/git/.git --work-tree=/home/ghadeer/git log --author=" + activeDeveloper);

誰もが問題がどのようになっているのか知っていますか?

4

1 に答える 1

0

mazaneicha提案に従って、著者名の周りにこれらの引用符を追加する通常の方法は次のようになります。

Process process = Runtime.getRuntime().exec("git --git-dir=/home/ghadeer/git/.git --work-tree=/home/ghadeer/git log --author=\"" + activeDeveloper + "\"");

ただし、これでもうまくいかない場合は、Runtime.getRuntime().exec()SO の質問 " " に示されているように、all コマンドをトークン化する必要があります。

于 2012-08-11T23:48:57.853 に答える