Do not overwrite with an invalid file_id.

This commit is contained in:
Klaas Freitag 2013-11-14 11:30:51 +01:00
parent e9920bd760
commit c3e154b2e6

View File

@ -139,12 +139,18 @@ static int _csync_merge_algorithm_visitor(void *obj, void *data) {
|| cur->type == CSYNC_FTW_TYPE_DIR) {
other->instruction = CSYNC_INSTRUCTION_RENAME;
other->destpath = c_strdup( cur->path );
csync_vio_set_file_id( other->file_id, cur->file_id );
if( !c_streq(cur->file_id, INVALID_FILE_ID) ) {
csync_vio_set_file_id( other->file_id, cur->file_id );
}
cur->instruction = CSYNC_INSTRUCTION_NONE;
} else if (other->instruction == CSYNC_INSTRUCTION_REMOVE) {
other->instruction = CSYNC_INSTRUCTION_RENAME;
other->destpath = c_strdup( cur->path );
csync_vio_set_file_id( other->file_id, cur->file_id );
if( !c_streq(cur->file_id, INVALID_FILE_ID) ) {
csync_vio_set_file_id( other->file_id, cur->file_id );
}
cur->instruction = CSYNC_INSTRUCTION_NONE;
} else if (other->instruction == CSYNC_INSTRUCTION_NEW) {
CSYNC_LOG(CSYNC_LOG_PRIORITY_TRACE, "OOOO=> NEW detected in other tree!");