diff -r a76e43d89f55 -r 0e45b04236a7 dav/sync.c --- a/dav/sync.c Fri Feb 12 18:26:58 2016 +0100 +++ b/dav/sync.c Fri Feb 26 20:54:42 2016 +0100 @@ -45,6 +45,7 @@ #include "scfg.h" #include "sopt.h" #include "db.h" +#include "error.h" #include "sync.h" #include "ucx/properties.h" @@ -90,7 +91,7 @@ ret = cmd_push(args); } else if(!strcasecmp(cmd, "version") || !strcasecmp(cmd, "-version") || !strcasecmp(cmd, "--version")) { #ifdef DEBUG - fprintf(stderr, "dav-synv %s unstable\n", DAV_VERSION); + fprintf(stderr, "dav-sync %s unstable\n", DAV_VERSION); #else fprintf(stderr, "dav-sync %s\n", DAV_VERSION); #endif @@ -106,11 +107,12 @@ fprintf(stderr, "Commands:\n"); fprintf(stderr, " pull [-c] \n"); - fprintf(stderr, " push [-r] \n\n"); + //fprintf(stderr, " push [-r] \n\n"); + fprintf(stderr, " push \n\n"); fprintf(stderr, "Options:\n"); - fprintf(stderr, " -c Disable conflict detection\n"); - fprintf(stderr, " -r Read changes from stdin\n\n"); + fprintf(stderr, " -c Disable conflict detection\n\n"); + //fprintf(stderr, " -r Read changes from stdin\n\n"); } static int res_matches_filter(SyncDirectory *dir, char *res_path) { @@ -191,13 +193,14 @@ DavResource *ls = dav_query(sn, "select D:getetag,idav:status from / with depth = infinity"); if(!ls) { - fprintf(stderr, "Error\n"); + print_resource_error(sn, "/"); // TODO: free return -1; } if(!ls->children) { // TODO: free + fprintf(stderr, "Repository is empty\n"); return 0; // empty repository } @@ -591,16 +594,24 @@ // upload every changed file if (local_resource_is_changed(dir, db, local_res)) { DavResource *res = dav_resource_new(sn, local_res->path); + if(!res) { + print_resource_error(sn, local_res->path); + break; + } if(local_res->isdirectory) { printf("mkcol: %s\n", local_res->path); if(sync_mkdir(dir, res, local_res)) { - // TODO: I don't know what to do now + print_resource_error(sn, res->path); + dav_resource_free(res); + break; } } else { printf("put: %s\n", local_res->path); if(sync_put_resource(dir, res, local_res)) { - // TODO: I don't know what to do now + print_resource_error(sn, res->path); + dav_resource_free(res); + break; } } dav_resource_free(res); @@ -621,6 +632,10 @@ if (!res_matches_filter(dir, local->path+1)) { if(sync_delete_remote_resource(sn, local)) { ucx_map_cstr_put(lclres, local->path, local); + if(sn->error != DAV_NOT_FOUND) { + print_resource_error(sn, local->path); + break; + } } } }