Skip to content
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

Merged
merged 3 commits into from
Mar 5, 2019

Conversation

berryzplus
Copy link
Contributor

@berryzplus berryzplus commented Mar 1, 2019

表題の通り、githash.batに対する微改善です。

現在のコードは、git hashする前に where git して、
見つからなければ No git command と表示しています。
これは Git に PATH を通している場合にだけ有効なコードです。
ぼくが愛用している自宅環境では、毎回コレが出ます...orz

まぁ、PATH通したらいいだけの話なんですけども、
PATHを通すかどうかは、一応「個人の自由」だと思います。
他のツール向けの find-tools.bat では結構色々探す努力をしているので、
そちらとの差が大きいのも少し気になっていました。

対策として以下2点を対応してみました。

  1. 他ツール同様に環境変数 GIT_CMD を定義できるようにする。
  2. 標準のインストールパス(%ProgramFiles%\Git\Cmd)も見るようにする。

コメントで find-tools.bat に組み込んだほうが良いとの指摘を貰ったので、「find-tools.batに機能追加」 + 「githash.batfind-tools.bat を使う」に組み替えました。

利用する環境変数は GIT_CMDCMD_GIT になります。

where gitでPATHから検索しているので、
PATHを通してないとNo git commandになってしまう。
対策として他ツール同様にGIT_CMDを定義できるようにし、
標準のインストールパスも見るようにする。
@m-tmatma
Copy link
Member

m-tmatma commented Mar 1, 2019

他と合わせるのであれば、find-tools.bat で探すようにした方がいいと思います。
このバッチ以外で git を使いにくいからです。

@berryzplus
Copy link
Contributor Author

他と合わせるのであれば、find-tools.bat で探すようにした方がいいと思います。
このバッチ以外で git を使いにくいからです。

このバッチは他バッチと性質が違うと思っています。
他バッチが汎用ユーティリティバッチであるのに対し、このバッチはビルド工程の一部です。

たぶん色々紆余曲折すると思っていますが、最終的には CMake でかき集めたビルド変数を configure_file する感じのmakeターゲットになると思っています。msbuildからcmakeを叩くことは可能で、CMakeには FindGit があります。自作バッチでfindするよりも、オープンソースで実績のある FindGit を使うほうが確度は高いと思います。すぐに要らなくなる予定のツールを作るやる気はおきないのです。

githash.batのCMake化については、いまんとこ作業予定なしです。

目論見としては、いったんこの暫定対応を出してみて、みんながみんな「PATH通せやヴォケ!」的な感じだったらひっこめようと考えていました。

@KageShiron
Copy link
Member

個人的にはfind-tools.batで探すようにした方がCMakeに移行するにしても混乱がない気がします。
find-tools.batに書く分量は今回の差分と同程度でしょうし。

(個人的にはパスは自分で通すべきで、現状のfind-tools.batですらおまけという意識)

@ds14050
Copy link
Contributor

ds14050 commented Mar 2, 2019

みんながみんな「PATH通せやヴォケ!」的な感じだったらひっこめようと考えていました。

(個人的にはパスは自分で通すべきで、現状のfind-tools.batですらおまけという意識)

「PATH を通すべき」というのはまったくその通りで、勝手にディスクを漁るのはマナーに反するように感じるので、優先順位も手段も間違っているというのが感想ですが、find-tools.bat やその前身ですでにやってしまっているので今さらそれを言うのもなあというところです。

@berryzplus
Copy link
Contributor Author

find-tools.bat に機能追加する方向でコミットを積みました。

@@ -1,4 +1,4 @@
@echo off
@rem echo off
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

とんでもないアフォなミスをやらかしたんで削っときます 😭

@m-tmatma
Copy link
Member

m-tmatma commented Mar 3, 2019

tests/build-project.bat とかで git を直書きしているところがありますが、
まあ変えなくていいと思います。

@berryzplus
Copy link
Contributor Author

レビューありがとうございます。マージしちゃいます。

@berryzplus berryzplus merged commit 8087f26 into sakura-editor:master Mar 5, 2019
@berryzplus berryzplus deleted the feature/find_git branch March 5, 2019 15:45
@m-tmatma m-tmatma added this to the next release milestone Mar 7, 2019
HoppingTappy pushed a commit to HoppingTappy/sakura that referenced this pull request Jun 11, 2019
githash.batでgitを探すようにする
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants