version 1.207, 2008/01/10 10:09:27 |
version 1.208, 2008/01/10 10:12:09 |
|
|
cf->file_rpath = xstrdup(rcsfile); |
cf->file_rpath = xstrdup(rcsfile); |
entlist = cvs_ent_open(cf->file_wd); |
entlist = cvs_ent_open(cf->file_wd); |
cf->file_ent = cvs_ent_get(entlist, cf->file_name); |
cf->file_ent = cvs_ent_get(entlist, cf->file_name); |
|
cvs_ent_close(entlist, ENT_NOSYNC); |
|
|
if (cf->file_ent != NULL) { |
if (cf->file_ent != NULL) { |
if (cf->file_ent->ce_type == CVS_ENT_DIR && |
if (cf->file_ent->ce_type == CVS_ENT_DIR && |
|
|
else |
else |
cf->file_status = FILE_UNKNOWN; |
cf->file_status = FILE_UNKNOWN; |
|
|
cvs_ent_close(entlist, ENT_NOSYNC); |
|
return; |
return; |
} |
} |
|
|
|
|
case CVS_OP_RLOG: |
case CVS_OP_RLOG: |
rflags |= RCS_PARSE_FULLY; |
rflags |= RCS_PARSE_FULLY; |
break; |
break; |
|
default: |
|
break; |
} |
} |
|
|
cf->repo_fd = open(cf->file_rpath, O_RDONLY); |
cf->repo_fd = open(cf->file_rpath, O_RDONLY); |
|
|
} else { |
} else { |
cf->file_status = FILE_UPTODATE; |
cf->file_status = FILE_UPTODATE; |
} |
} |
} else if (cf->file_ent->ce_status == CVS_ENT_ADDED) { |
|
|
return; |
|
} |
|
|
|
switch (cf->file_ent->ce_status) { |
|
case CVS_ENT_ADDED: |
if (cf->fd == -1) { |
if (cf->fd == -1) { |
if (cvs_cmdop != CVS_OP_REMOVE) { |
if (cvs_cmdop != CVS_OP_REMOVE) { |
cvs_log(LP_NOTICE, |
cvs_log(LP_NOTICE, |
|
|
cf->file_path); |
cf->file_path); |
cf->file_status = FILE_CONFLICT; |
cf->file_status = FILE_CONFLICT; |
} |
} |
} else if (cf->file_ent->ce_status == CVS_ENT_REMOVED) { |
break; |
|
case CVS_ENT_REMOVED: |
if (cf->fd != -1) { |
if (cf->fd != -1) { |
cvs_log(LP_NOTICE, |
cvs_log(LP_NOTICE, |
"%s should be removed but is still there", |
"%s should be removed but is still there", |
|
|
cf->file_status = FILE_REMOVED; |
cf->file_status = FILE_REMOVED; |
} |
} |
} |
} |
} else if (cf->file_ent->ce_status == CVS_ENT_REG) { |
break; |
|
case CVS_ENT_REG: |
if (cf->file_rcs == NULL || rcsdead == 1 || |
if (cf->file_rcs == NULL || rcsdead == 1 || |
(reset_stickies == 1 && cf->in_attic == 1) || |
(reset_stickies == 1 && cf->in_attic == 1) || |
(notag == 1 && tag != NULL)) { |
(notag == 1 && tag != NULL)) { |
|
|
} |
} |
} |
} |
} |
} |
|
break; |
|
default: |
|
break; |
} |
} |
|
|
cvs_ent_close(entlist, ENT_NOSYNC); |
|
} |
} |
|
|
void |
void |