libgit2sharpを使用してコミットをリモートリポジトリにプッシュするのに苦労しています。git bashを使用すると、正常に機能します。
リモートは、「// computer_name/remote.git」のようにUNC経由でアドレス指定されます。つまり、アクセス可能なフォルダを持つローカルネットワーク内のマシン上のフォルダです。
libgit2sharpを使用してローカルリポジトリにクローンを作成することは問題なく機能し、リモートの構築も成功しました。
Remote remote = localrepo.Network.Remotes["origin"];
今、私がリモートにプッシュしようとすると:
localrepo.Network.Push(remote, "HEAD", "origin");
Proxy.csのgit_push_add_refspec()で例外が発生します
An error was raised by libgit2. Category = Invalid (Error).
Not a valid reference 'origin'
だから私は試しました:
repo.Network.Push(remote, "HEAD", @"refs/remotes/origin/master");
Proxy.csのgit_push_finish()で例外が発生しました
An error was raised by libgit2. Category = Net (Error).
Remote transport doesn't support push.
これを行う正しい方法はありますか、それとも私のユースケースのサポートに問題がありますか?前もって感謝します!
[アップデート]
今、私のコマンドは次のようになります
repo.Network.Push(remote, "HEAD", @"refs/remote/origin/master", pushStErrHnd, null);
には、コンソールにPushStatusErrorHandler
書き込む必要のあるコードが1行しかありません。PushErrorStatus
ただし、コンソールは空白のままであるため、上記の例外が発生します。
[更新2]
上記を経験したとき、静的変数Repository.Versionは0.9.5でした。