3

私は git を初めて使用し、現在、opensuse で gitolite と trac を使用して環境をセットアップしようとしています。

http://john.albin.net/git/git-svn-migrateのスクリプトを使用して、古い svn リポジトリを移行することができました。

git-receive-pack コマンドが期待どおりに動作しないため、trac/git-integration に行き詰まっています。

以下のコマンドを実行すると、0000 を出力した後にハングし、CTRL+C を押して戻る必要がありました。

$ git-receive-pack .
0072c0b863c86da4bb75caa8cb5b6cd46604096b84e9 refs/heads/master report-status delete-refs side-band-64k ofs-delta
0046c0b863c86da4bb75caa8cb5b6cd46604096b84e9 refs/remotes/origin/HEAD
0048c0b863c86da4bb75caa8cb5b6cd46604096b84e9 refs/remotes/origin/master
0000

新しく移行したリポジトリ、gitolite 管理リポジトリ、および cygwin で git を使用した Windows クライアントのローカル クローンでコマンドを実行しようとしました。すべての場合において、私は上記の動作に固執しています。

receive-pack はおそらく正しい行をいくつか返し、その後に 0000 が続き、ハングします。

ここで何が起こっているのか誰にも分かりますか?

git-receive-pack に関するすべてのコメントは、証明書またはパスのエラーに焦点を当てています - そして、それらはすべて完全に機能するかどうかにかかわらず. しかし、私の場合、数行が返されて停止しますか???

なぜ私はこれを尋ねるのですか?

私の trac インストールは次のエラーを返します:

Trac[git_fs] ERROR: GitError: Could not retrieve GIT version (tried to execute/parse '/usr/bin/git-receive-pack --version' but got ValueError('need more than 0 values to unpack',))

クローン作成、プル、プッシュは機能しているようですが、svn-to-git-migration の後に gitolite で問題を引き起こした svn のタグ名の「ä」で別のエラーが発生しました。だから私はgitに別の問題があるかもしれないと思った。

4

2 に答える 2

1

マニュアルページで述べたように

によって呼び出されgit send-pack、リモート エンドから提供された情報でリポジトリを更新します。

このコマンドは通常、エンド ユーザーが直接呼び出すことはありません
プロトコルの UI は git send-pack 側にあり、プログラム ペアは更新をリモート リポジトリにプッシュするために使用することを意図しています。

したがって、そのコマンドのテストに時間をかけすぎないでください。リポジトリを複製/プッシュ/プルできるかどうかを確認してください。

于 2012-08-29T20:43:19.697 に答える
0

あなたの研究は間違った方向にあなたを連れて行きました。問題は、openSUSE が Git をビルドしてインストールする方法と、実行可能ファイルをリンクする方法です。次のチェーンに従ってください。

  1. /usr/bin/git -> ../lib/git/git-add
  2. /usr/lib/git/git-add -> git
  3. /usr/lib/git/git -> ../../bin/git-receive-pack

Trac が最初に[git] git_binaを作成したようPathOptionに、Trac は実際にリンクを含むパスを解決し、実際に を実行し/usr/bin/git-receive-pack --versionます。問題はもちろん、引数をgit-receive-packサポートしていないため失敗することです。--version

これは最近の Trac バージョンで変更されています。http://trac.edgewall.org/ticket/10997を参照してください。

古いバージョンの Trac とプラグインを修正するためのパッチは簡単です ( PathOption-> Option)。

于 2013-03-18T14:22:42.567 に答える