>> Now, I need a list of all changes made after rel_5_0_1 up to the >> rel_5_0_2 tag, i.e. all changes added in release 5.0.2. > > If you get the current development release of CVS from www.cvshome.org > you can do that with: > > cvs log -r rel_5_0_1::rel_5_0_2
I started using the current development release of CVS to get the revision range log feature mentioned above, and I've been very happy with how it works on the trunk of a simple example, but I've run into a stumbling block when applying it to a repository with a branch. It looks as though the revision range can't run from the trunk to a branch off the trunk. Let's say rel_5_0_1 tags revision 1.3 on the trunk, and rel_5_0_2 tags revision 1.3.2.1 - in this case, CVS complains about the range -rrel_5_0_1::rel_5_0_2 and selects no revisions. Is there a chance the cvs log features recently added can be further extended to work across branches? To a user, I think 1.3, 1.3.2.1, 1.3.2.2, ... looks like a legal sequence that cvs log should be able to follow. Would it make sense to allow ranges A::B, where A precedes B on the same branch, *or* A::B' is itself a legal range, where B' is the origin of the branch B is on? Then the code could walk backwards from B, jumping to the branch origin of B while A has fewer "numdots" than B. Does this make sense when coming at it from the point of view of implementing CVS? I think this is a really common and simple case that people will run into again and again when reporting log messages. It's pretty common to release a version of your product and create a branch to handle bugfixes to that version, and if you want ChangeLogs for the changes between bugfix releases on that branch, you're going to need cvs log -rtag1::tag2 to work from the trunk to the branch. This makes sense to me; does it make sense to other CVS users? Here's a more detailed example of the desired behavior at work: 1. Start with a module, "examples", with two files, "bar.java" and "foo.java", at revisions 1.1 and 1.2, respectively. 2. Tag with "release_1_0". 3. Create branch tag "release_1_0_bugfixes" from regular tag "release_1_0". 4. Checkout branch. 5. Change and commit bar.java to create branch revision 1.1.2.1. 6. Tag branch with "release_1_0_bugfix1". 7. Change and commit foo.java to create branch revision 1.2.2.1. 8. Tag branch with "release_1_0_bugfix2". 9. Try to get log messages for revisions between release_1_0 and release_1_0_bugfix1: "cvs log -rrelease_1_0::release_1_0_bugfix1". The user needs the log message for revision 1.1.2.1 of bar.java. But no revisions are selected: "cvs log: invalid branch or revision pair release_1_0:release_1_0_bugfix1 in `/home/jim/repository/examples/bar.java,v'". 10. Try to get log messages for revisions between release_1_0_bugfix1 and release_bugfix2: "cvs log -rrelease_1_0_bugfix1::release_1_0_bugfix2". The user needs the log message for revision 1.2.2.1 of foo.java. But no revisions are selected: "cvs log: invalid branch or revision pair release_1_0_bugfix1:release_1_0_bugfix2 in `/home/jim/repository/examples/foo.java,v'". I really appreciate any comments. I'd like to know if this feature might get implemented in CVS, or if I should bother working on a patch myself, or if I need to just create some workaround outside of CVS. Thanks, Jim Doyle [EMAIL PROTECTED] _______________________________________________ Info-cvs mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/info-cvs
