]> git.mxchange.org Git - flightgear.git/blobdiff - utils/TerraSync/terrasync.cxx
Merge branch 'next' into comm-subsystem
[flightgear.git] / utils / TerraSync / terrasync.cxx
index bcf6e0ca838ecafaf9e9e2f20eec1f04ec6d8f2e..d15078d9a8dccdbcd1e79a2497ae23d7a01dd3d6 100644 (file)
@@ -183,8 +183,10 @@ int mysvn_setup(void) {
     if (err)
         return svn_cmdline_handle_exit_error(err, pool, "terrasync: ");
     mysvn_ctx->auth_baton = ab;
+#if (SVN_VER_MINOR >= 5)
     mysvn_ctx->conflict_func = NULL;
     mysvn_ctx->conflict_baton = NULL;
+#endif
     // Now our magic revisions
     mysvn_rev = (svn_opt_revision_t*) apr_palloc(pool, 
         sizeof(svn_opt_revision_t));
@@ -229,16 +231,31 @@ void sync_tree(const char* dir) {
        if (mysvn_setup() != EXIT_SUCCESS)
            exit(1);
        apr_pool_t *subpool = svn_pool_create(mysvn_pool);
+       
+#if (SVN_VER_MINOR >= 5)
        err = svn_client_checkout3(NULL,
            command,
            dest_base_dir,
            mysvn_rev_peg,
            mysvn_rev,
            svn_depth_infinity,
-           0,
-           0,
+           0, // ignore-externals = false
+           0, // allow unver obstructions = false
            mysvn_ctx,
            subpool);
+#else
+    // version 1.4 API
+    err = svn_client_checkout2(NULL,
+           command,
+           dest_base_dir,
+           mysvn_rev_peg,
+           mysvn_rev,
+           1, // recurse=true - same as svn_depth_infinity for checkout3 above
+           0, // ignore externals = false
+           mysvn_ctx,
+           subpool);
+#endif
+           
        if (err) {
            // Report errors from the checkout attempt
            cout << "failed: " << endl
@@ -273,7 +290,7 @@ void sync_tree(const char* dir) {
 
 #if defined(_MSC_VER) || defined(__MINGW32__)
 typedef void (__cdecl * sighandler_t)(int);
-#elif defined( __APPLE__ )
+#elif defined( __APPLE__ ) || defined (__FreeBSD__)
 typedef sig_t sighandler_t;
 #endif