Skip to content

PowerShellツール: git diff -- file----%停止解析トークンと誤判定される問題を修正

原文(日本語に翻訳)

PowerShellツール: git diff -- file などの裸の --(引数区切り)が、--% 停止解析トークンとして誤ってフラグ付けされていた問題を修正しました。

原文(英語)

PowerShell tool: bare -- (e.g. git diff -- file) is no longer mis-flagged as the --% stop-parsing token

概要

Windows環境でPowerShellツールを使用してgitコマンドなどを実行する際、引数の区切りに使う --(ダブルダッシュ)が、PowerShell固有の --%(ストップパージングトークン)と誤認識される問題が修正されました。git diff -- file.txt` のような一般的なgitコマンドが正常に動作するようになります。

基本的な使い方

powershell
# v2.1.126以前: エラーまたは誤動作
git diff -- src/index.ts
# → PowerShellが -- を --%  と誤解釈

# v2.1.126以降: 正常に動作
git diff -- src/index.ts
# → 正しくファイルパスとして処理される

実践例

gitコマンドでの -- 使用例

powershell
# ファイルをパスとして明示する場合(ブランチ名とファイル名の衝突を避ける)
git diff -- "src/main.ts"
git checkout -- "README.md"
git log -- "tests/"

# -- 以降をすべてファイルパスとして扱う
git diff HEAD~1 HEAD -- "src/"

その他の -- を使うコマンド

powershell
# npm scriptへのオプション渡し
npm run test -- --watch
npm run build -- --production

# Claude Codeへの引数渡し
claude --print "タスク" -- --some-arg

注意点

  • この修正はWindows環境でPowerShellツールが有効な場合のみ関係します
  • macOS/Linuxのbash/zshでは問題は発生していません
  • PowerShell固有の --% (stop-parsing token) は引き続き動作します(単に -- との区別が正しくなりました)

関連情報