6

SSH経由でソース管理サーバーに接続しているときにSmartGitが動作しない理由について、誰かが洞察を与えることができるかどうか疑問に思っています. GitBash は正常に動作します。

バックグラウンド:

ネットワーク上にソース コントロール サーバーをセットアップし、SSH サーバーとして WinSSH を使用して MSYSGit を実行しています。ユーザー名などを解決するためにADにフックし、すべての公開RSAキーなどをインポートしました。すべてがうまく機能します。

Git は ' C:\Program Files (x86)\Git ' にインストールされていますが、実際のソース コードは ' C:\Git ' にあり、定期的にバックアップされています。

すべての SSH セッションのデフォルトをホーム フォルダーとして「 C:\Git 」にするように WinSSH を構成しました。Git Bash を使用してサーバーに接続すると、デフォルトで「C:\Git」になります。完全。

SmartGit (SmartGit SSH クライアントを使用) を取得して同じサーバーに接続すると、次の URL が使用されます。

    ssh://<server>/<folder>/<repo>

パスを言うエラーが表示されます...

    C:\Program Files (x86)\Git\<folder>\<repo> 

...リポジトリではないようです。そうですね... 「 C:\Program Files (x86)\Git」ではなく、「 C:\Git 」で検索する必要があります。

なぜ SmartGit がこのセットアップで適切に配置されないのかはわかりませんが、「C:\Program Files (x86)\Gitからパス全体を完全に指定しているため、デフォルトの WinSSH 設定が SSH クライアントによってバイパスされていると思います'。

私の質問:

SmartGit が「C:\Program Files (x86)\Git」パスを取得する可能性のあるアイデアはありますか?

これはどこかに設定できる変数ですか?

詳細情報(更新)

SmartGit のバージョンは 3.0.4 ですが、この問題は 2.x にもありました。

SmartGit アプリケーション ログに失敗のインスタンスを (私はかなり確信しています) 添付しました。

1782732 (2012-05-10 12:18:56,653) [QThreadPoolThread-2 (smartgit.KL)] INFO smartgit.core.executable - 次のコマンドを実行中: "C:\Program Files\Git\bin\git.exe" ls -リモート ssh://initio-dev01/INIT/INIT.Framework.git refs/heads/

1782732 (2012-05-10 12:18:56,653) [QThreadPoolThread-2 (smartgit.KL)] INFO smartgit.core.executable - ディレクトリ内: null

1783049 (2012-05-10 12:18:56,970) [QThreadPoolThread-8 (smartgit.aqT)] INFO smartgit.server - 受信したコマンド: ssh

1786438 (2012-05-10 12:19:00,359) [QThreadPoolThread-6 (smartgit.cR)] INFO smartgit.command.logging - stderr: 致命的: 'C:/Program Files (x86)/Git/INIT/INIT. Framework.git' は git リポジトリではないようです

1786438 (2012-05-10 12:19:00,359) [QThreadPoolThread-6 (smartgit.cR)] INFO smartgit.core.command - 致命的: 'C:/Program Files (x86)/Git/INIT/INIT.Framework. git' は git リポジトリではないようです

1786439 (2012-05-10 12:19:00,360) [Thread-29] エラー smartgit.ssh.trilead - com.trilead.ssh2.transport.TransportManager: 受信スレッド: receiveLoop のエラー: ソケットが閉じられました

1786763 (2012-05-10 12:19:00,684) [QThreadPoolThread-6 (smartgit.cR)] INFO smartgit.command.logging - stderr: 致命的: リモート エンドが予期せずハングアップしました

1786763 (2012-05-10 12:19:00,684) [QThreadPoolThread-6 (smartgit.cR)] INFO smartgit.core.command - 致命的: リモート エンドが予期せずハングアップしました

1786772 (2012-05-10 12:19:00,693) [QThreadPoolThread-2 (smartgit.KL)] 警告 sg.command.ping - 'C:/Program Files (x86)/Git/INIT/INIT.Framework.git'リモート エンドが突然ハングアップした smartgit.cn: 'C:/Program Files (x86)/Git/INIT/INIT.Framework.git' は git リポジトリではないようです リモート エンドがハングしました意外とアップ

smartgit.gG.a で (ソースファイル:86)

smartgit.ga.a で (ソースファイル:63)

smartgit.ga.a で (ソースファイル:53)

smartgit.hA.a で (ソースファイル:57)

smartgit.ahq.a で (ソースファイル:26)

smartgit.ahl.a で (ソースファイル:39)

smartgit.aL.a で (ソースファイル:46)

smartgit.aD.a で (ソースファイル:41)

smartgit.Kw.a で (ソースファイル:144)

smartgit.KL.run で (ソースファイル:34)

smartgit.Pp.run で (ソースファイル:65)

4

1 に答える 1

1

ここで問題のように見えるかもしれないハードコードされたパスで非常に迷惑?! これが後のバージョンで修正されるまでは、代わりにディレクトリ ジャンクション ポイントまたはシンボリック リンクを作成する必要があります。プログラムの修正に時間を費やすのではなく、(迅速で汚い)解決策になる可能性があります。

(管理者シェルで実行する必要があります)

接合点の場合:

mklink /j "C:\Program Files (x86)\GIT\<folder>" C:\GIT\<folder>

シンボリックリンクの場合:

mklink /d "C:\Program Files (x86)\GIT\<folder>" C:\GIT\<folder>
于 2012-05-16T12:30:42.343 に答える