-
Notifications
You must be signed in to change notification settings - Fork 167
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
githash.batでgitを探すようにする #794
Conversation
where gitでPATHから検索しているので、 PATHを通してないとNo git commandになってしまう。 対策として他ツール同様にGIT_CMDを定義できるようにし、 標準のインストールパスも見るようにする。
他と合わせるのであれば、find-tools.bat で探すようにした方がいいと思います。 |
このバッチは他バッチと性質が違うと思っています。 たぶん色々紆余曲折すると思っていますが、最終的には CMake でかき集めたビルド変数を configure_file する感じのmakeターゲットになると思っています。msbuildからcmakeを叩くことは可能で、CMakeには FindGit があります。自作バッチでfindするよりも、オープンソースで実績のある FindGit を使うほうが確度は高いと思います。すぐに要らなくなる予定のツールを作るやる気はおきないのです。 githash.batのCMake化については、いまんとこ作業予定なしです。 目論見としては、いったんこの暫定対応を出してみて、みんながみんな「PATH通せやヴォケ!」的な感じだったらひっこめようと考えていました。 |
個人的にはfind-tools.batで探すようにした方がCMakeに移行するにしても混乱がない気がします。 (個人的にはパスは自分で通すべきで、現状のfind-tools.batですらおまけという意識) |
「PATH を通すべき」というのはまったくその通りで、勝手にディスクを漁るのはマナーに反するように感じるので、優先順位も手段も間違っているというのが感想ですが、find-tools.bat やその前身ですでにやってしまっているので今さらそれを言うのもなあというところです。 |
|
sakura/githash.bat
Outdated
@@ -1,4 +1,4 @@ | |||
@echo off | |||
@rem echo off |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
とんでもないアフォなミスをやらかしたんで削っときます 😭
|
レビューありがとうございます。マージしちゃいます。 |
githash.batでgitを探すようにする
表題の通り、githash.batに対する微改善です。
現在のコードは、
git hash
する前にwhere git
して、見つからなければ
No git command
と表示しています。これは Git に PATH を通している場合にだけ有効なコードです。
ぼくが愛用している自宅環境では、毎回コレが出ます...orz
まぁ、PATH通したらいいだけの話なんですけども、
PATHを通すかどうかは、一応「個人の自由」だと思います。
他のツール向けの
find-tools.bat
では結構色々探す努力をしているので、そちらとの差が大きいのも少し気になっていました。
対策として以下2点を対応してみました。他ツール同様に環境変数GIT_CMD
を定義できるようにする。標準のインストールパス(%ProgramFiles%\Git\Cmd)
も見るようにする。コメントで
find-tools.bat
に組み込んだほうが良いとの指摘を貰ったので、「find-tools.bat
に機能追加」 + 「githash.bat
でfind-tools.bat
を使う」に組み替えました。利用する環境変数は
GIT_CMD
⇒CMD_GIT
になります。