version 1.13, 2006/01/05 10:28:24 |
version 1.14, 2006/03/06 08:46:55 |
|
|
/* $OpenBSD$ */ |
/* $OpenBSD$ */ |
/* |
/* |
* Copyright (c) 2005 Xavier Santolaria <xsa@openbsd.org> |
* Copyright (c) 2005, 2006 Xavier Santolaria <xsa@openbsd.org> |
* All rights reserved. |
* All rights reserved. |
* |
* |
* Redistribution and use in source and binary forms, with or without |
* Redistribution and use in source and binary forms, with or without |
|
|
|
|
baserev = rev2 = RCS_HEAD_REV; |
baserev = rev2 = RCS_HEAD_REV; |
|
|
while ((ch = rcs_getopt(argc, argv, "k:p::q::r:TVx:")) != -1) { |
while ((ch = rcs_getopt(argc, argv, "AEek:p::q::r:TVx:")) != -1) { |
switch (ch) { |
switch (ch) { |
|
case 'A': case 'E': case 'e': |
|
break; |
case 'k': |
case 'k': |
kflag = rcs_kflag_get(rcs_optarg); |
kflag = rcs_kflag_get(rcs_optarg); |
if (RCS_KWEXP_INVAL(kflag)) { |
if (RCS_KWEXP_INVAL(kflag)) { |
|
|
else if (rev2 == RCS_HEAD_REV) |
else if (rev2 == RCS_HEAD_REV) |
rcs_set_rev(rcs_optarg, &rev2); |
rcs_set_rev(rcs_optarg, &rev2); |
else |
else |
cvs_log(LP_WARN, "ignored excessive -r option"); |
fatal("too many revision numbers"); |
break; |
break; |
case 'T': |
case 'T': |
/* |
/* |
|
|
if ((file = rcs_open(fpath, RCS_READ)) == NULL) |
if ((file = rcs_open(fpath, RCS_READ)) == NULL) |
continue; |
continue; |
|
|
|
printf("RCS file: %s\n", fpath); |
|
|
if (rev2 == RCS_HEAD_REV) |
if (rev2 == RCS_HEAD_REV) |
frev = file->rf_head; |
frev = file->rf_head; |
else |
else |
frev = rev2; |
frev = rev2; |
|
|
printf("RCS file: %s\n", fpath); |
if (rcsnum_cmp(baserev, frev, 0) == 0) { |
|
rcs_close(file); |
|
continue; |
|
} |
|
|
if ((bp = cvs_diff3(file, argv[i], baserev, frev)) == NULL) { |
if ((bp = cvs_diff3(file, argv[i], baserev, frev)) == NULL) { |
cvs_log(LP_ERR, "failed to merge"); |
cvs_log(LP_ERR, "failed to merge"); |
|
|
|
|
cvs_buf_free(bp); |
cvs_buf_free(bp); |
} |
} |
|
|
if (diff3_conflicts > 0) { |
|
cvs_log(LP_WARN, "%d conflict%s found during merge", |
|
diff3_conflicts, (diff3_conflicts > 1) ? "s": ""); |
|
} |
|
|
|
rcs_close(file); |
rcs_close(file); |
} |
} |
|
|