xref: /dflybsd-src/contrib/cvs-1.12/src/edit.h (revision 86d7f5d305c6adaa56ff4582ece9859d73106103)
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