# HG changeset patch # User Olaf Wintermann # Date 1565458489 -7200 # Node ID 0b61755f2852d77d6a47e79b9ff6457285303f78 # Parent ab669d21f82a3e50412b177180a4fc1310b3b538 add missing isdirectory tag in db on pull diff -r ab669d21f82a -r 0b61755f2852 dav/sync.c --- a/dav/sync.c Sat Aug 10 19:18:29 2019 +0200 +++ b/dav/sync.c Sat Aug 10 19:34:49 2019 +0200 @@ -951,6 +951,7 @@ if(issplit) { util_remove_trailing_pathseparator(res->path); } + DavBool iscollection = res->iscollection && !issplit; RemoteChangeType type = cmd_getoption(a, "conflict") ? REMOTE_CHANGE_MODIFIED : REMOTE_CHANGE_CONFLICT_LOCAL_MODIFIED; @@ -973,9 +974,14 @@ } RemoteChangeType ret = REMOTE_NO_CHANGE; - if(res->iscollection && !issplit) { + if(iscollection) { if(!exists) { ret = REMOTE_CHANGE_MKDIR; + } else if(local && S_ISDIR(s.st_mode)) { + local->isdirectory = 1; // make sure isdirectory is set + } else { + // TODO: conflict + ret = REMOTE_NO_CHANGE; } } else if(local) { DavBool nochange = FALSE;