/*ARGSUSED*/ static int release_fileproc (void *callerdat, struct file_info *finfo) { int status, q; q=really_quiet; really_quiet = 1; status = Classify_File (finfo, (char *) NULL, (char *) NULL, (char *) NULL, 1, 0, NULL, 0, 0, 0); really_quiet = q; switch (status) { case T_NEEDS_MERGE: case T_CONFLICT: case T_MODIFIED: case T_ADDED: case T_REMOVED: modified_files++; break; case T_CHECKOUT: case T_REMOVE_ENTRY: case T_UNKNOWN: case T_UPTODATE: case T_PATCH: break; } return 0; }
/* ARGSUSED */ static int status_fileproc (void *callerdat, struct file_info *finfo) { Ctype status; char *sstat; Vers_TS *vers; Node *node; status = Classify_File (finfo, (char *) NULL, (char *) NULL, (char *) NULL, 1, 0, &vers, 0, 0, 0); sstat = "Classify Error"; switch (status) { case T_UNKNOWN: sstat = "Unknown"; break; case T_CHECKOUT: sstat = "Needs Checkout"; break; case T_PATCH: sstat = "Needs Patch"; break; case T_CONFLICT: /* I _think_ that "unresolved" is correct; that if it has been resolved then the status will change. But I'm not sure about that. */ sstat = "Unresolved Conflict"; break; case T_ADDED: sstat = "Locally Added"; break; case T_REMOVED: sstat = "Locally Removed"; break; case T_MODIFIED: if (vers->ts_conflict) sstat = "File had conflicts on merge"; else sstat = "Locally Modified"; break; case T_REMOVE_ENTRY: sstat = "Entry Invalid"; break; case T_UPTODATE: sstat = "Up-to-date"; break; case T_NEEDS_MERGE: sstat = "Needs Merge"; break; case T_TITLE: /* I don't think this case can occur here. Just print "Classify Error". */ break; } if(quick>=2 && status == T_UPTODATE) { freevers_ts(&vers); return 0; } if(!quick) { cvs_output ("\ ===================================================================\n", 0); }