=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/cvs/diff.c,v retrieving revision 1.120 retrieving revision 1.121 diff -c -r1.120 -r1.121 *** src/usr.bin/cvs/diff.c 2007/06/28 21:38:09 1.120 --- src/usr.bin/cvs/diff.c 2007/09/22 16:01:22 1.121 *************** *** 1,4 **** ! /* $OpenBSD: diff.c,v 1.120 2007/06/28 21:38:09 xsa Exp $ */ /* * Copyright (c) 2006 Joris Vink * --- 1,4 ---- ! /* $OpenBSD: diff.c,v 1.121 2007/09/22 16:01:22 joris Exp $ */ /* * Copyright (c) 2006 Joris Vink * *************** *** 173,179 **** return; } ! cvs_file_classify(cf, NULL); if (cf->file_status == FILE_LOST) { cvs_log(LP_ERR, "cannot find file %s", cf->file_path); --- 173,179 ---- return; } ! cvs_file_classify(cf, cvs_directory_tag); if (cf->file_status == FILE_LOST) { cvs_log(LP_ERR, "cannot find file %s", cf->file_path); *************** *** 196,205 **** if (rev1 != NULL) if ((diff_rev1 = rcs_translate_tag(rev1, cf->file_rcs)) == NULL) ! fatal("cvs_diff_local: could not translate tag `%s'", rev1); if (rev2 != NULL) if ((diff_rev2 = rcs_translate_tag(rev2, cf->file_rcs)) == NULL) ! fatal("cvs_diff_local: could not translate tag `%s'", rev2); diff_file = cf->file_path; cvs_printf("Index: %s\n%s\nRCS file: %s\n", cf->file_path, --- 196,206 ---- if (rev1 != NULL) if ((diff_rev1 = rcs_translate_tag(rev1, cf->file_rcs)) == NULL) ! return; ! if (rev2 != NULL) if ((diff_rev2 = rcs_translate_tag(rev2, cf->file_rcs)) == NULL) ! return; diff_file = cf->file_path; cvs_printf("Index: %s\n%s\nRCS file: %s\n", cf->file_path, *************** *** 236,252 **** cvs_printf("Retrieving revision %s\n", rbuf); rcs_rev_write_stmp(cf->file_rcs, diff_rev2, p2, 0); } else if (cf->file_status != FILE_REMOVED) { ! if (fstat(cf->fd, &st) == -1) ! fatal("fstat failed %s", strerror(errno)); ! if ((b1 = cvs_buf_load_fd(cf->fd, BUF_AUTOEXT)) == NULL) ! fatal("failed to load %s", cf->file_path); ! tv2[0].tv_sec = st.st_mtime; ! tv2[0].tv_usec = 0; ! tv2[1] = tv2[0]; ! cvs_buf_write_stmp(b1, p2, tv2); ! cvs_buf_free(b1); } cvs_printf("%s", diffargs); --- 237,259 ---- cvs_printf("Retrieving revision %s\n", rbuf); rcs_rev_write_stmp(cf->file_rcs, diff_rev2, p2, 0); } else if (cf->file_status != FILE_REMOVED) { ! if (cvs_server_active == 1 && ! cf->file_status != FILE_MODIFIED) { ! rcs_rev_write_stmp(cf->file_rcs, ! cf->file_rcsrev, p2, 0); ! } else { ! if (fstat(cf->fd, &st) == -1) ! fatal("fstat failed %s", strerror(errno)); ! if ((b1 = cvs_buf_load_fd(cf->fd, BUF_AUTOEXT)) == NULL) ! fatal("failed to load %s", cf->file_path); ! tv2[0].tv_sec = st.st_mtime; ! tv2[0].tv_usec = 0; ! tv2[1] = tv2[0]; ! cvs_buf_write_stmp(b1, p2, tv2); ! cvs_buf_free(b1); ! } } cvs_printf("%s", diffargs);