Re: I have end-of-lifed cvsps
- From
Eric S. Raymond <esr@thyrsus.com>
- Date
- Dec 12, 2013, 20:58 UTC
- Message-ID
- <20131212205819.GA18166@thyrsus.com>
- In-Reply-To
- <CACPiFCLXeK9DH=f80ReSmYHJ7zjOn-D2zvs3WmdiV-k=wBGgjA@mail.gmail.com>
Martin Langhoff <martin.langhoff@gmail.com>:
> If someone creates a nonsensical tag or branch point, tagging files > from different commits, how do you handle it? > > - without commit ids, does it affect your guesses?
No. Tagging is never used to deduce changesets. Look:
/*
* The heart of the merge operation; detect when two
* commits are "the same"
*/
static bool
rev_commit_match (rev_commit *a, rev_commit *b)
{
/*
* Versions of GNU CVS after 1.12 (2004) place a commitid in
* each commit to track patch sets. Use it if present
*/
if (a->commitid && b->commitid)
return a->commitid == b->commitid;
if (a->commitid || b->commitid)
return false;
if (!commit_time_close (a->date, b->date))
return false;
if (a->log != b->log)
return false;
if (a->author != b->author)
return false;
return true;
}> - regardless of commit ids, do you synthesize an artificial commit? > How do you define parenthood for that artificial commit?
Because tagging is never used to deduce changesets, the case does not arise.
I have added an item to my to-do: document what the tool does with inconsistent tags.
-- <a href="http://www.catb.org/~esr/">Eric S. Raymond</a>