186d7f5d3SJohn Marino /* Interface to "cvs edit", "cvs watch on", and related features 286d7f5d3SJohn Marino 386d7f5d3SJohn Marino This program is free software; you can redistribute it and/or modify 486d7f5d3SJohn Marino it under the terms of the GNU General Public License as published by 586d7f5d3SJohn Marino the Free Software Foundation; either version 2, or (at your option) 686d7f5d3SJohn Marino any later version. 786d7f5d3SJohn Marino 886d7f5d3SJohn Marino This program is distributed in the hope that it will be useful, 986d7f5d3SJohn Marino but WITHOUT ANY WARRANTY; without even the implied warranty of 1086d7f5d3SJohn Marino MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 1186d7f5d3SJohn Marino GNU General Public License for more details. */ 1286d7f5d3SJohn Marino 1386d7f5d3SJohn Marino extern int watch_on (int argc, char **argv); 1486d7f5d3SJohn Marino extern int watch_off (int argc, char **argv); 1586d7f5d3SJohn Marino 1686d7f5d3SJohn Marino #ifdef CLIENT_SUPPORT 1786d7f5d3SJohn Marino /* Check to see if any notifications are sitting around in need of being 1886d7f5d3SJohn Marino sent. These are the notifications stored in CVSADM_NOTIFY (edit,unedit); 1986d7f5d3SJohn Marino commit calls notify_do directly. */ 2086d7f5d3SJohn Marino extern void notify_check (const char *repository, const char *update_dir); 2186d7f5d3SJohn Marino #endif /* CLIENT_SUPPORT */ 2286d7f5d3SJohn Marino 2386d7f5d3SJohn Marino /* Issue a notification for file FILENAME. TYPE is 'E' for edit, 'U' 2486d7f5d3SJohn Marino for unedit, and 'C' for commit. WHO is the user currently running. 2586d7f5d3SJohn Marino For TYPE 'E', VAL is the time+host+directory data which goes in 2686d7f5d3SJohn Marino _editors, and WATCHES is zero or more of E,U,C, in that order, to specify 2786d7f5d3SJohn Marino what kinds of temporary watches to set. */ 2886d7f5d3SJohn Marino extern void notify_do (int type, const char *filename, const char *upadte_dir, 2986d7f5d3SJohn Marino const char *who, const char *val, const char *watches, 3086d7f5d3SJohn Marino const char *repository); 3186d7f5d3SJohn Marino 3286d7f5d3SJohn Marino /* Set attributes to reflect the fact that EDITOR is editing FILENAME. 3386d7f5d3SJohn Marino VAL is time+host+directory, or NULL if we are to say that EDITOR is 3486d7f5d3SJohn Marino *not* editing FILENAME. */ 3586d7f5d3SJohn Marino extern void editor_set (const char *filename, const char *editor, 3686d7f5d3SJohn Marino const char *val); 3786d7f5d3SJohn Marino 3886d7f5d3SJohn Marino /* Take note of the fact that FILE is up to date (this munges CVS/Base; 3986d7f5d3SJohn Marino processing of CVS/Entries is done separately). */ 4086d7f5d3SJohn Marino extern void mark_up_to_date (const char *file); 4186d7f5d3SJohn Marino 4286d7f5d3SJohn Marino void editors_output (const char *fullname, const char *them); 4386d7f5d3SJohn Marino 4486d7f5d3SJohn Marino void edit_file (void *data, List *ent_list, const char *short_pathname, 4586d7f5d3SJohn Marino const char *filename); 46