Merge cvs-1.9.xx -> 1.10 changes onto mainline.
The merge turned up a long-standing bug in local additions. I'm not quite sure it's right yet. (the code in question is dealing with diffs relative to "HEAD" and dead revisions).
This commit is contained in:
parent
6a2d2db53b
commit
b791882da9
@ -434,16 +434,23 @@ diff_fileproc (callerdat, finfo)
|
||||
exists = 0;
|
||||
/* special handling for TAG_HEAD */
|
||||
if (diff_rev1 && strcmp (diff_rev1, TAG_HEAD) == 0)
|
||||
exists = (vers->vn_rcs != NULL && /* XXX ? */
|
||||
!RCS_isdead (vers->srcfile, vers->vn_rcs)); /*XXX*/
|
||||
{
|
||||
char *head =
|
||||
(vers->vn_rcs == NULL
|
||||
? NULL
|
||||
: RCS_branch_head (vers->srcfile, vers->vn_rcs));
|
||||
exists = head != NULL;
|
||||
if (head != NULL)
|
||||
free (head);
|
||||
}
|
||||
else
|
||||
{
|
||||
Vers_TS *xvers;
|
||||
|
||||
xvers = Version_TS (finfo, NULL, diff_rev1, diff_date1,
|
||||
1, 0);
|
||||
exists = (vers->vn_rcs != NULL &&
|
||||
!RCS_isdead (vers->srcfile, vers->vn_rcs)); /*XXX*/
|
||||
exists = (xvers->vn_rcs != NULL &&
|
||||
!RCS_isdead (xvers->srcfile, xvers->vn_rcs)); /*XXX*/
|
||||
freevers_ts (&xvers);
|
||||
}
|
||||
if (exists)
|
||||
@ -816,7 +823,9 @@ diff_file_nodiff (finfo, vers, empty_file)
|
||||
{
|
||||
/* special handling for TAG_HEAD */
|
||||
if (diff_rev1 && strcmp (diff_rev1, TAG_HEAD) == 0)
|
||||
use_rev1 = xstrdup (vers->vn_rcs);
|
||||
use_rev1 = ((vers->vn_rcs == NULL || vers->srcfile == NULL)
|
||||
? NULL
|
||||
: RCS_branch_head (vers->srcfile, vers->vn_rcs));
|
||||
else
|
||||
{
|
||||
xvers = Version_TS (finfo, NULL, diff_rev1, diff_date1, 1, 0);
|
||||
@ -829,7 +838,9 @@ diff_file_nodiff (finfo, vers, empty_file)
|
||||
{
|
||||
/* special handling for TAG_HEAD */
|
||||
if (diff_rev2 && strcmp (diff_rev2, TAG_HEAD) == 0)
|
||||
use_rev2 = xstrdup (vers->vn_rcs);
|
||||
use_rev2 = ((vers->vn_rcs == NULL || vers->srcfile == NULL)
|
||||
? NULL
|
||||
: RCS_branch_head (vers->srcfile, vers->vn_rcs));
|
||||
else
|
||||
{
|
||||
xvers = Version_TS (finfo, NULL, diff_rev2, diff_date2, 1, 0);
|
||||
|
Loading…
x
Reference in New Issue
Block a user