2

作業コピーをチェックアウトしたい:

apr_pool_t *pool = NULL;
apr_pool_create(&pool, NULL);
svn_client_ctx_t *context = NULL;
svn_client_create_context(&context, pool);
svn_opt_revision_t revision;
revision.kind = svn_opt_revision_head;
svn_client_checkout3(NULL,
                     repo.URL.absoluteString.UTF8String, // repo URL
                     localURL.path.UTF8String, // local path
                     &revision,
                     &revision,
                     svn_depth_infinity,
                     TRUE,
                     FALSE,
                     context,
                     pool);
apr_pool_destroy(pool);

でクラッシュしsvn_client_checkout3ますEXC_BAD_ACCESS(おそらくセグメンテーション違反)。ドキュメントを読みましたが、何が間違っているのかわかりません。

このエラーの原因は何ですか?

4

1 に答える 1

2

このコード スニペットの前に、APR、svn_utf、svn_fs、svn_ra などを初期化したと思いますか?

Subversion リポジトリには、初期化を実行する方法と、承認などのコールバック プロンプトを処理する方法を示すコード例がいくつかあります。

これをすべて回避したい場合は、Python (Subversion の一部)、Java (JavaHL および SvnKit)、および .Net ( SharpSvn ) 用に存在するより高いレベルのバインディングのいくつかを見ることをお勧めします。または、1 つのコマンドだけを実行したい場合は、シェルアウトしてsvn.

于 2011-11-16T11:39:18.793 に答える