This area is an archive and is no longer actively maintained. Information found on this page is likely to be extremely out of date and therefore highly inaccurate.

Development of CVS: Branching, merging, remove/add

Development of CVS: Branching, merging, remove/add

Branches and dates

A variety of CVS commands (diff, update, checkout, update -j, maybe others) would like to be able to specify both a branch to operate on, and a date, to select a revision within that branch. There should be a consistent syntax for this which works across all commands. Here is one initial patch and revised version for cvs diff. Plus another from another author. All of these need test cases and documentation.

Death support for directories

CVS should be able to handle adding and deleting directories as well as it handles adding and deleting files. Here is a very preliminary patch.

Adding and removing files

Here is a case where CVS will bogusly print "Up-to-date check failed" when it should be doing something much more sensible.

Here is a case involving a remove, where CVS seems to not be handling conflicts correctly.

diff library

Here is a bug report concerning some of CVS's merging behavior.

cvs annotate and branches

Currently cvs annotate does not use your current branch; you must explicitly specify -r to annotate a branch. Here is a slightly more detailed discussion.

Branch naming

If you have a branch named "foo", you can already refer to the revisions on that branch as "foo.1", "foo.2", and so on. The output from "cvs log" should perhaps use those names, which would reduce the standard need to tell new users "don't pay attention to the revision numbers". One tool which can use them in output is cvs2cl (--branches option).

Somewhat along those lines, "foo.0" could refer to the branchpoint, "foo.-1" could refer to the revision before that, &c. This nomenclature reflects the set of revisions which led up to the head of the "foo" branch. "foo.0", in particular, would seem to remove the need to tag the branchpoint manually, which is another non-intuitive but currently recommended practice.

[Cyclic Home]

Derek Price, CVS developer and technical editor of Essential CVS (Essentials line from O'Reilly Press) , and others offer consulting services and training through Ximbiot.