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]](../cyclic-pages/cyclichome.gif)
![[ Valid XHTML 1.0! ]](/branding/w3c-valid-xhtml10-44x16.png)
![[ Valid CSS! ]](/branding/w3c-valid-css-44x16.png)
