Lines Matching refs:cf
194 cvs_update_enterdir(struct cvs_file *cf) in cvs_update_enterdir() argument
199 cvs_log(LP_TRACE, "cvs_update_enterdir(%s)", cf->file_path); in cvs_update_enterdir()
201 cvs_file_classify(cf, NULL); in cvs_update_enterdir()
203 if (cf->file_status == DIR_CREATE && build_dirs == 1) { in cvs_update_enterdir()
204 cvs_parse_tagfile(cf->file_wd, &dirtag, NULL, NULL); in cvs_update_enterdir()
205 cvs_mkpath(cf->file_path, cvs_specified_tag != NULL ? in cvs_update_enterdir()
209 if ((cf->fd = open(cf->file_path, O_RDONLY)) == -1) in cvs_update_enterdir()
211 cf->file_path, strerror(errno)); in cvs_update_enterdir()
214 cvs_server_clear_sticky(cf->file_path); in cvs_update_enterdir()
217 (void)xasprintf(&entry, "D/%s////", cf->file_name); in cvs_update_enterdir()
219 entlist = cvs_ent_open(cf->file_wd); in cvs_update_enterdir()
223 } else if ((cf->file_status == DIR_CREATE && build_dirs == 0) || in cvs_update_enterdir()
224 cf->file_status == FILE_UNKNOWN) { in cvs_update_enterdir()
225 cf->file_status = FILE_SKIP; in cvs_update_enterdir()
228 cf->file_path, CVS_PATH_TAG); in cvs_update_enterdir()
232 cvs_write_tagfile(cf->file_path, in cvs_update_enterdir()
238 cvs_update_leavedir(struct cvs_file *cf) in cvs_update_leavedir() argument
248 cvs_log(LP_TRACE, "cvs_update_leavedir(%s)", cf->file_path); in cvs_update_leavedir()
250 if (cvs_server_active == 1 && !strcmp(cf->file_name, ".")) in cvs_update_leavedir()
253 entlist = cvs_ent_open(cf->file_path); in cvs_update_leavedir()
259 if (fstat(cf->fd, &st) == -1) in cvs_update_leavedir()
264 cf->file_name); in cvs_update_leavedir()
271 if (lseek(cf->fd, 0, SEEK_SET) == -1) in cvs_update_leavedir()
274 while ((nbytes = getdents(cf->fd, buf, bufsize)) > 0) { in cvs_update_leavedir()
306 cvs_rmdir(cf->file_path); in cvs_update_leavedir()
309 entlist = cvs_ent_open(cf->file_wd); in cvs_update_leavedir()
310 cvs_ent_remove(entlist, cf->file_name); in cvs_update_leavedir()
316 cvs_update_local(struct cvs_file *cf) in cvs_update_local() argument
322 cvs_log(LP_TRACE, "cvs_update_local(%s)", cf->file_path); in cvs_update_local()
324 if (cf->file_type == CVS_DIR) { in cvs_update_local()
325 if (cf->file_status == FILE_SKIP) { in cvs_update_local()
327 cvs_printf("? %s\n", cf->file_path); in cvs_update_local()
331 if (cf->file_status != FILE_UNKNOWN && in cvs_update_local()
333 cvs_log(LP_ERR, "Updating %s", cf->file_path); in cvs_update_local()
343 cvs_file_classify(cf, tag); in cvs_update_local()
345 if (kflag && cf->file_rcs != NULL) in cvs_update_local()
346 rcs_kwexp_set(cf->file_rcs, kflag); in cvs_update_local()
348 if ((cf->file_status == FILE_UPTODATE || in cvs_update_local()
349 cf->file_status == FILE_MODIFIED) && cf->file_ent != NULL && in cvs_update_local()
350 cf->file_ent->ce_tag != NULL && reset_tag) { in cvs_update_local()
351 if (cf->file_status == FILE_MODIFIED) in cvs_update_local()
352 cf->file_status = FILE_MERGE; in cvs_update_local()
354 cf->file_status = FILE_CHECKOUT; in cvs_update_local()
356 if ((cf->file_rcsrev = rcs_head_get(cf->file_rcs)) == NULL) in cvs_update_local()
358 cf->file_path); in cvs_update_local()
362 cvs_server_clear_sticky(cf->file_wd); in cvs_update_local()
366 if (cf->file_status != FILE_UNKNOWN && cf->file_rcs != NULL && in cvs_update_local()
367 cf->file_rcsrev != NULL && !cf->file_rcs->rf_dead && in cvs_update_local()
368 (cf->file_flags & FILE_HAS_TAG)) { in cvs_update_local()
369 rcsnum_tostr(cf->file_rcsrev, rbuf, sizeof(rbuf)); in cvs_update_local()
373 cf->file_path); in cvs_update_local()
374 cvs_log(LP_RCS, "RCS: %s", cf->file_rpath); in cvs_update_local()
378 cvs_checkout_file(cf, cf->file_rcsrev, tag, CO_DUMP); in cvs_update_local()
383 if (cf->file_ent != NULL) { in cvs_update_local()
384 if (cf->file_ent->ce_opts == NULL) { in cvs_update_local()
386 cf->file_status = FILE_CHECKOUT; in cvs_update_local()
387 } else if (cf->file_rcs != NULL) { in cvs_update_local()
388 if (strlen(cf->file_ent->ce_opts) < 3) in cvs_update_local()
390 cf->file_path); in cvs_update_local()
392 ent_kflag = rcs_kflag_get(cf->file_ent->ce_opts + 2); in cvs_update_local()
393 rcs_kflag = rcs_kwexp_get(cf->file_rcs); in cvs_update_local()
397 cf->file_status = FILE_CHECKOUT; in cvs_update_local()
401 switch (cf->file_status) { in cvs_update_local()
403 cvs_printf("? %s\n", cf->file_path); in cvs_update_local()
407 cvs_backup_file(cf); in cvs_update_local()
409 cvs_checkout_file(cf, cf->file_rcsrev, NULL, flags); in cvs_update_local()
410 cvs_printf("U %s\n", cf->file_path); in cvs_update_local()
412 ret = update_has_conflict_markers(cf); in cvs_update_local()
413 if (cf->file_ent->ce_conflict != NULL && ret == 1) in cvs_update_local()
414 cvs_printf("C %s\n", cf->file_path); in cvs_update_local()
416 if (cf->file_ent->ce_conflict != NULL && ret == 0) in cvs_update_local()
417 update_clear_conflict(cf); in cvs_update_local()
418 cvs_printf("M %s\n", cf->file_path); in cvs_update_local()
423 cvs_printf("A %s\n", cf->file_path); in cvs_update_local()
426 cvs_printf("R %s\n", cf->file_path); in cvs_update_local()
429 cvs_printf("C %s\n", cf->file_path); in cvs_update_local()
435 cvs_directory_date != -1 || (cf->file_ent != NULL && in cvs_update_local()
436 cf->file_ent->ce_tag != NULL))) in cvs_update_local()
439 if (cf->file_flags & FILE_ON_DISK && (cf->file_ent == NULL || in cvs_update_local()
440 cf->file_ent->ce_type == CVS_ENT_NONE)) { in cvs_update_local()
442 cf->file_path); in cvs_update_local()
443 cvs_printf("C %s\n", cf->file_path); in cvs_update_local()
445 cvs_checkout_file(cf, cf->file_rcsrev, tag, flags); in cvs_update_local()
446 cvs_printf("U %s\n", cf->file_path); in cvs_update_local()
447 cvs_history_add(CVS_HISTORY_UPDATE_CO, cf, NULL); in cvs_update_local()
451 d3rev1 = cf->file_ent->ce_rev; in cvs_update_local()
452 d3rev2 = cf->file_rcsrev; in cvs_update_local()
453 cvs_checkout_file(cf, cf->file_rcsrev, tag, CO_MERGE); in cvs_update_local()
456 cvs_printf("C %s\n", cf->file_path); in cvs_update_local()
458 cf, NULL); in cvs_update_local()
460 update_clear_conflict(cf); in cvs_update_local()
461 cvs_printf("M %s\n", cf->file_path); in cvs_update_local()
462 cvs_history_add(CVS_HISTORY_UPDATE_MERGED, cf, NULL); in cvs_update_local()
466 (void)unlink(cf->file_path); in cvs_update_local()
468 entlist = cvs_ent_open(cf->file_wd); in cvs_update_local()
469 cvs_ent_remove(entlist, cf->file_name); in cvs_update_local()
470 cvs_history_add(CVS_HISTORY_UPDATE_REMOVE, cf, NULL); in cvs_update_local()
473 cvs_checkout_file(cf, cf->file_rcsrev, tag, CO_REMOVE); in cvs_update_local()
483 if (cf->file_rcs->rf_dead != 1 && in cvs_update_local()
484 (cf->file_flags & FILE_HAS_TAG)) in cvs_update_local()
485 cvs_checkout_file(cf, cf->file_rcsrev, in cvs_update_local()
493 update_join_file(cf); in cvs_update_local()
497 update_clear_conflict(struct cvs_file *cf) in update_clear_conflict() argument
503 cvs_log(LP_TRACE, "update_clear_conflict(%s)", cf->file_path); in update_clear_conflict()
505 rcsnum_tostr(cf->file_rcsrev, revbuf, sizeof(revbuf)); in update_clear_conflict()
508 if (cf->file_ent != NULL && cf->file_ent->ce_tag != NULL) in update_clear_conflict()
510 cf->file_ent->ce_tag); in update_clear_conflict()
513 if (cf->file_ent != NULL && cf->file_ent->ce_opts != NULL) in update_clear_conflict()
514 strlcpy(opt, cf->file_ent->ce_opts, sizeof(opt)); in update_clear_conflict()
517 cvs_ent_line_str(cf->file_name, revbuf, "Result of merge", in update_clear_conflict()
521 entlist = cvs_ent_open(cf->file_wd); in update_clear_conflict()
532 update_has_conflict_markers(struct cvs_file *cf) in update_has_conflict_markers() argument
541 cvs_log(LP_TRACE, "update_has_conflict_markers(%s)", cf->file_path); in update_has_conflict_markers()
543 if (!(cf->file_flags & FILE_ON_DISK) || cf->file_ent == NULL) in update_has_conflict_markers()
546 bp = buf_load_fd(cf->fd); in update_has_conflict_markers()
576 update_join_file(struct cvs_file *cf) in update_join_file() argument
605 rev2 = rcs_translate_tag(jrev2, cf->file_rcs); in update_join_file()
617 rev1 = rcs_translate_tag(jrev1, cf->file_rcs); in update_join_file()
624 rcsnum_cpy(cf->file_rcsrev, rev1, 0); in update_join_file()
630 state1 = rcs_state_get(cf->file_rcs, rev1); in update_join_file()
632 state2 = rcs_state_get(cf->file_rcs, rev2); in update_join_file()
638 if (cf->file_status == FILE_REMOVED || in update_join_file()
639 cf->file_rcs->rf_dead == 1) in update_join_file()
642 if (cf->file_status == FILE_MODIFIED || in update_join_file()
643 cf->file_status == FILE_ADDED) in update_join_file()
646 (void)unlink(cf->file_path); in update_join_file()
647 (void)close(cf->fd); in update_join_file()
648 cf->fd = -1; in update_join_file()
649 cvs_remove_local(cf); in update_join_file()
653 if (cf->file_ent != NULL) { in update_join_file()
654 if (!rcsnum_cmp(cf->file_ent->ce_rev, rev2, 0)) in update_join_file()
658 if (cf->file_rcsrev == NULL) { in update_join_file()
660 cf->file_path); in update_join_file()
665 if (cf->file_flags & FILE_ON_DISK) { in update_join_file()
667 cf->file_path, jrev2); in update_join_file()
669 cvs_printf("A %s\n", cf->file_path); in update_join_file()
670 cvs_checkout_file(cf, cf->file_rcsrev, NULL, 0); in update_join_file()
671 cvs_add_local(cf); in update_join_file()
679 if (!(cf->file_flags & FILE_ON_DISK)) { in update_join_file()
681 cf->file_path, jrev2); in update_join_file()
685 if (rcs_kwexp_get(cf->file_rcs) & RCS_KWEXP_NONE) { in update_join_file()
687 cf->file_path); in update_join_file()
698 rcsnum_tostr(cf->file_rcsrev, rbuf, sizeof(rbuf)); in update_join_file()
699 cvs_printf("into %s (%s)\n", cf->file_path, rbuf); in update_join_file()
703 cvs_checkout_file(cf, cf->file_rcsrev, NULL, CO_MERGE); in update_join_file()
706 update_clear_conflict(cf); in update_join_file()
716 cvs_backup_file(struct cvs_file *cf) in cvs_backup_file() argument
721 if (cf->file_status == FILE_ADDED) in cvs_backup_file()
724 rcsnum_tostr(cf->file_ent->ce_rev, revstr, sizeof(revstr)); in cvs_backup_file()
727 cf->file_wd, cf->file_name, revstr); in cvs_backup_file()
729 cvs_file_copy(cf->file_path, backup_name); in cvs_backup_file()
732 cf->file_name, revstr); in cvs_backup_file()
734 cf->file_name, backup_name); in cvs_backup_file()