On 2017-08-10, pipfsta...@openmailbox.org <pipfsta...@openmailbox.org> wrote:
> CVS is delivering me my daily dose of PITA (and I'm delivering a daily
> dose of whining to the list). I feel like I'm trying to use a wooden bicycle
> driven by jolts from the ground to make a tour from Washington, DC to
> Sacramento, California.
> I've found cvs2cl.pl that turns pretty useless output of `cvs log` into
> something meaningful.
> But I didn't made my way through branches and tags.
The output from cvsps might be better for this. It's not perfect and can
get confused in some cases (the fact that the rcs files in repo aren't
squeaky clean plays some part in this). It generally works better when
done in smaller parts of the tree.
> I know that when release is done, sources are tagged with a
> 'OPENBSD_x_y_BASE' tag. But cvs doesn't provide a way (well, at least
> I didn't find it) to find a commit id when a certain tag was created.
Commit ids were hacked into CVS fairly late in its history and there's
not much tooling for them. For the main part you'll just need to look at
per-file revisions. A CVS tree is just a collection of separate RCS files.
> And it is not a new file, first revision is dated 2016/08/15. It might
> be some development branch, but then how do I differ which commits are
> made into a release, and which are not?
If there's no release tag in "cvs log", that file didn't make it into a
release. For your example file it was renamed/moved and the moved version
did make it to a release (but cvs doesn't track moves).
> Is there any way to make cvs show a bunch of changes that are made
> between two releases in the -CURRENT and -STABLE branches?
You can do a diff or log between revision markers, but again as it's per
file it's not going to be directly very useful.
The other thing you could do is look at the git conversion. You'll need
to figure out the *dates* the tree was tagged (sys/conf/newvers.sh is
a good way to get close to these) because none of the conversion tools
that we've tried are able to successfully convert branch information
from the OpenBSD repo.