4
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

SourceTree 3.0.6にアップデートしたら、リモートからの操作ができなくなったので解決した忘備録

Last updated at Posted at 2018-10-18

序文

当然このページを見ているプログラマーはgitを使ってソースコード管理をしていると思うのですが、
@yosida001 は、gitはgitでもSourceTreeというUIでgitを操作することができるアプリケーションを使っています。

「SourceTreeは便利だよ!使うといいよ!」みたいなことを書いてもいいのですが、面倒なので詳しい説明は、公式サイトを見るか、解説サイトを読んでください。

問題発生

さて、そんな日、いつもの通りにリモートからフェッチしようとしたらこんなエラーが発生しました
タイトルなし.png
「そういえば直前に、何も考えずにSourceTreeをアップデートしたな・・・・」
と思い出しながら、エラーを解決することにしましょう。

Askpass.exeって何?

どうやらエラーを見る限り
C:\Users\{User}\AppData\Local\SourceTree\app-3.0.6\tools\Askpass.exe
が悪さをしているのは間違いがありません。
何の悪さをしているかは、どうも文字化けしていて読めませんが…
そのあとのエラーを読む限りは、SSHアクセスができなくなっているようです。

さて、このAskpass.exeというアプリケーションですが、具体的にはSourceTreeの中の、SSH接続やGit接続に利用するパスワードを管理するアプリケーションです。
パスワードの読み出しに失敗しているのでしょうか・・・?

原因発見

具体的にアプリケーションの設置場所までエラー文に書かれているので、直接exeファイルを見に行きましょう。

なおAppDataディレクトリは隠しディレクトリなので、見つからなかったらなんとかして見えるようにしておいてください。方法はググればすぐ出ます。

以下はこのエラーが出た時の実際のC:\Users\{User}\AppData\Local\SourceTree\app-3.0.6\tools\ディレクトリの中身です。
タイトルなし(1).png

そもそもAskpass.exeが無いことが判明します。
そりゃあエラーも出るわけです。
このあたりでSourceTreeをすべてアンインストールし、もう一度最初からインストールすれば解決しそうな予感を思いますが、現在の設定データが消えてしまうのが惜しいのでがんばります。

Askpass.exeの調達

ところでこのエラーが出る前に私はSouceTreeをアップデートしていました。
つまりapp-3.0.6以外にもバージョンを記したディレクトリを持っているわけです。
その中でも一番最近のやつを開いてみましょう。手元の環境ではapp-2.5.5です。
中を見てみると、ありました、Askpass.exeです。
コピーして持っていきましょう。

そしてSourceTreeを再起動してからfetch

・・・

�n���h������Ă��Ȃ���O: System.IO.FileNotFoundException: �t�@�C���܂��̓A�Z���u�� 'SourceTreeShared, Version=1.6.14.0, Culture=neutral, PublicKeyToken=null'�A�܂��͂��̈ˑ��֌W�� 1 �‚��ǂݍ��߂܂���ł����B�w�肳�ꂽ�t�@�C�������‚���܂���B
   �ꏊ Askpass.App.Main()
Error reading SSH_ASKPASS output for prompt: git@{IP_Address}'s password: 
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

で す よ ね!
Askpassを動かすためのライブラリが入っていないようです。ファイルを見比べて足りない分をすべて入れてしまいましょう。

解決

具体的には

  • Askpass.exe
  • Askpass.UI.Wpf.dll
  • SourceTreeShared.dll

の三つをコピーして入れると正常に動きます。

みなさんもよいSourceTreeライフを!

4
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?