version 1.15, 2005/05/20 20:00:53 |
version 1.16, 2005/05/24 04:12:25 |
|
|
extern char *__progname; |
extern char *__progname; |
|
|
|
|
static int cvs_remove_file(CVSFILE *, void *); |
static int cvs_remove_init (struct cvs_cmd *, int, char **, int *); |
static int cvs_remove_options(char *, int, char **, int *); |
static int cvs_remove_file (CVSFILE *, void *); |
|
|
static int force_remove = 0; /* -f option */ |
static int force_remove = 0; /* -f option */ |
|
|
struct cvs_cmd_info cvs_remove = { |
struct cvs_cmd cvs_cmd_remove = { |
cvs_remove_options, |
CVS_OP_REMOVE, CVS_REQ_REMOVE, "remove", |
|
{ "rm", "delete" }, |
|
"Remove an entry from the repository", |
|
"[-flR] [file ...]", |
|
"flR", |
NULL, |
NULL, |
cvs_remove_file, |
|
NULL, NULL, |
|
CF_IGNORE | CF_RECURSE, |
CF_IGNORE | CF_RECURSE, |
CVS_REQ_REMOVE, |
cvs_remove_init, |
|
NULL, |
|
cvs_remove_file, |
|
cvs_remove_file, |
|
NULL, |
|
NULL, |
CVS_CMD_SENDDIR | CVS_CMD_SENDARGS2 | CVS_CMD_ALLOWSPEC |
CVS_CMD_SENDDIR | CVS_CMD_SENDARGS2 | CVS_CMD_ALLOWSPEC |
}; |
}; |
|
|
static int |
static int |
cvs_remove_options(char *opt, int argc, char **argv, int *arg) |
cvs_remove_init(struct cvs_cmd *cmd, int argc, char **argv, int *arg) |
{ |
{ |
int ch; |
int ch; |
|
|
while ((ch = getopt(argc, argv, opt)) != -1) { |
while ((ch = getopt(argc, argv, cmd->cmd_opts)) != -1) { |
switch (ch) { |
switch (ch) { |
case 'f': |
case 'f': |
force_remove = 1; |
force_remove = 1; |
break; |
break; |
case 'l': |
case 'l': |
cvs_remove.file_flags &= ~CF_RECURSE; |
cmd->file_flags &= ~CF_RECURSE; |
break; |
break; |
case 'R': |
case 'R': |
cvs_remove.file_flags |= CF_RECURSE; |
cmd->file_flags |= CF_RECURSE; |
break; |
break; |
default: |
default: |
return (CVS_EX_USAGE); |
return (CVS_EX_USAGE); |