version 1.120, 2008/01/28 20:31:07 |
version 1.121, 2008/01/28 21:26:51 |
|
|
int |
int |
cvs_commit(int argc, char **argv) |
cvs_commit(int argc, char **argv) |
{ |
{ |
int ch; |
int ch, Fflag, mflag; |
char *arg = "."; |
char *arg = "."; |
int flags; |
int flags; |
struct cvs_recursion cr; |
struct cvs_recursion cr; |
|
|
flags = CR_RECURSE_DIRS; |
flags = CR_RECURSE_DIRS; |
|
Fflag = mflag = 0; |
|
|
while ((ch = getopt(argc, argv, cvs_cmd_commit.cmd_opts)) != -1) { |
while ((ch = getopt(argc, argv, cvs_cmd_commit.cmd_opts)) != -1) { |
switch (ch) { |
switch (ch) { |
case 'F': |
case 'F': |
|
/* free previously assigned value */ |
|
if (logmsg != NULL) |
|
xfree(logmsg); |
logmsg = cvs_logmsg_read(optarg); |
logmsg = cvs_logmsg_read(optarg); |
|
Fflag = 1; |
break; |
break; |
case 'f': |
case 'f': |
break; |
break; |
|
|
flags &= ~CR_RECURSE_DIRS; |
flags &= ~CR_RECURSE_DIRS; |
break; |
break; |
case 'm': |
case 'm': |
|
/* free previously assigned value */ |
|
if (logmsg != NULL) |
|
xfree(logmsg); |
logmsg = xstrdup(optarg); |
logmsg = xstrdup(optarg); |
|
mflag = 1; |
break; |
break; |
case 'R': |
case 'R': |
flags |= CR_RECURSE_DIRS; |
flags |= CR_RECURSE_DIRS; |
|
|
|
|
argc -= optind; |
argc -= optind; |
argv += optind; |
argv += optind; |
|
|
|
/* -F and -m are mutually exclusive */ |
|
if (Fflag && mflag) |
|
fatal("cannot specify both a log file and a message"); |
|
|
TAILQ_INIT(&files_affected); |
TAILQ_INIT(&files_affected); |
TAILQ_INIT(&files_added); |
TAILQ_INIT(&files_added); |