rhysd / committia.vim

A Vim plugin for more pleasant editing on commit messages
MIT License
731 stars 30 forks source link

Set GIT_INDEX_FILE for 'status' #29

Closed anekos closed 7 years ago

anekos commented 7 years ago

status の時も GIT_INDEX_FILE をセットしないと、意図通りにならないようです。 何もかも変更された風の出力になってしまいます。

rhysd commented 7 years ago

プルリクありがとうございます.

すみません,何が問題でそれがこの変更でどのように修正されているのかが掴めていないので,

何もかも変更された風の出力になってしまいます。

この辺りをもう少し噛み砕いて説明していただけると助かります.もしくは再現手順とかあると試してみます.

anekos commented 7 years ago

すみません。

要するに環境変数 GIT_INDEX_FILE を持っていない場合に問題があるのですが、1例としては以下のようになります。 Arch Linux でやってます。

$ mkdir wanwan
$ git init wanwan
$ date > NAINU
$ git add NAINU
$ git commit -am 'Add NAINU'
$ date > nyannyan
$ git add nyannyan
$ gvim --servername inu
$ GIT_EDITOR='gvim --servername inu --remote-wait' git commit

--remote-wait を使っているので、let g:committia_open_only_vim_starting = 0 である必要もあります。 本来であれば持っているはずの GIT_INDEX_FILE が無い場合をフォローしているのが元のコードだと思いますが、status のときも必要だよ、といぬうことです。

rhysd commented 7 years ago

ありがとうございます,お昼頃に試してみます :dog:

rhysd commented 7 years ago

@anekos レビューしましたので,ご確認お願いします!

anekos commented 7 years ago

@rhysd やったで。 :cat:

rhysd commented 7 years ago

まあそこは置いておいても、言葉の意味から考えて、ensure_index_file が偽を返したら、GIT_INDEX_FILE の確保に失敗したと解釈するほうが自然だと思います。 つまり、関数名と実際の返り値にギャップがあるので、よくない気がします。

ぬーまあそれはそうですね.本来 GIT_INDEX_FILE がセットされているかどうかと無ければ別の値をセットするという2つのことを同時にやってしまってるので関数名が付けにくいのかなという気もしますが,PR マージ後に僕のほうで考えてみます.とりあえず ensure_* のままでお願いします.

rhysd commented 7 years ago

元からな気がするけど、ついでになおそうぞってことですかね。 それとも別な話デショカ。

はい,元からでした.以前の PR で考慮漏れしていたようです.この PR で直るとありがたいです.

anekos commented 7 years ago

@rhysd やったかもしれないで。 細々とミスっててすみません…。

ちなみに、イヌデントは Vim というテキストエディタの機能で修正しました。オススメです。

rhysd commented 7 years ago

いえ,こちらこそ細々と直していただいてありがとうございます. パーフェクトです :cat: :confetti_ball: :dog: