我正在努力做一个简单的结帐。我已经得到了我认为可行的代码,我可以编译它。
#include "stdafx.h"
#include "svn_pools.h"
#include "svn_client.h"
int _tmain(int argc, _TCHAR* argv[])
{
svn_error_t *err;
apr_pool_t *pool;
svn_client_ctx_t *ctx;
apr_initialize();
pool = svn_pool_create( NULL );
if ( err = svn_client_create_context( &ctx, pool ) )
{
svn_pool_destroy( pool );
return 0;
}
err = svn_client_checkout( NULL, "http://tortoisesvn.googlecode.com/svn/trunk/src/ResText", "C:\\sve", NULL, true, ctx, pool );
svn_pool_destroy( pool );
return 0;
}
但是在运行时有错误的功能svn_client_checkout()。读取0x00000000时访问冲突。我发现我忘了初始化我的一个变量。但是什么,在哪里?
答案 0 :(得分:0)
似乎第4个参数const svn_opt_revision_t *peg_revision
不是可选的,因此NULL
不会这样做。
初始化它,例如这样应该有效:
svn_opt_revision_t rev = {svn_opt_revision_head, 0};
svn_client_checkout(..., "C:\\sve", &rev, true, ...);
有关您可以设置和使用它的方法的详细信息,请参阅documentation for svn_opt_revision_t
。