On Wed, 2 Apr 2003, Larry Jones wrote: > Date: Wed, 2 Apr 2003 14:01:30 -0500 (EST) > From: Larry Jones <[EMAIL PROTECTED]> > To: Eric Siegerman <[EMAIL PROTECTED]> > Cc: [EMAIL PROTECTED] > Subject: Re: Ignore local changes? > > Eric Siegerman writes: > > > > CVS should probably print a warning in this case, but it doesn't. > > "This case" is updating a file with a sticky tag or date, which seems > like a good idea to me, too. Anyone disagree?
I agree conditionally. If you have many files (for instance all of them!) sticky to a revision, you don't want a separate warning for each file. What if they are all sticky? Proposal: issue a warning only for those files which are sticky to something different from what their containing directory is sticky to. Examples: 1. The directory ``x'' is sticky to ``foo_branch'' but files ``x/a'' and ``x/b.c'' are sticky to versions 1.3 and 1.9 respectively. The update operation over the directory warns in this case for these two files. 2. The directory ``x'' is sticky to ``foo_release_1'' but files ``x/a'' and ``x/b.c'' are not sticky to anything. Update over the directory does update these two files, but produces a warning. 3. The directory ``x'' on the main trunk, but files ``x/a'' and ``x/b'' are sticky to ``foo_branch''. Update warns for both. 4. The directory ``x'' is sticky, and ``x/b'' is not sticky. The user selectively updates ``x/b''. No warning. 5. The directory ``x'' is sticky to something, and ``x/b'' is sticky to something else. The user selectively updates ``x/b''. No warning. 6. The directory ``x'' is not sticky, and ``x/b'' is sticky. The user selectively updates ``x/b''. No warning. 7. The directory, and all its files, are sticky to the same tag, ``release_1_0''. Update does nothing, and produces no warning. Alternative: update warns that nothing is being done because of the sticky tag. Basically any situation in which the stickiness of a file contradicts the stickiness of the directory should be a cause for warning on update. A commit, if otherwise allowed, should probably fail because of this: the user should be forced to commit the differently-sticky files individuall. Example: 8. The directory ``x'' is sticky to branch ``foo'' and ``x/b'' is sticky to branch ``bar''. User commits in the directory. The commit fails, explaining the stickiness conflict---that the commit would be split into two or more branches. 9. The directory ``x'' is sticky to branch ``foo'' and ``x/b'' is sticky to branch ``bar''. User commits ``x/b'' selectively. The commit proceeds normally. _______________________________________________ Info-cvs mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/info-cvs
