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
0d50adfc04
commit
27155f7a1d
@ -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