At 4:32 PM -0400 4/11/00, Harvey J. Stein wrote:
>Contrast that to how simple things are if I don't want to commit my
>changes to the repository. Then I can just do cvs update whenever I
>want to merge changes onto my branch & CVS keeps track of which
>versions to use. It's too bad that CVS can't keep track of last merge
>info for future merges. Is such a thing on the to-do list?
Things become even worse if (a) there are any binary files in your
module, and (b) you use keywords like $Id$, $Name$, etc., in your
text files. The keywords cause spurious conflicts on every merge
after the first (if those text files have been modified on the trunk
since the previous merge out to the branch). One solution to this is
to do your update with the -kk flag, but if you have any binary files
in your repository, -kk will corrupt them. Additionally, the -kk
flag is sticky, and if you commit files with this flag, they will be
marked with the -kk flag in the repository, affecting other people's
workspaces, even those not on the branch. Even worse, there's no way
(that I know of) to clear the sticky flags from your branch workspace
and go back to the default, without blowing it away and checking it
out from scratch (the -A option will clear your branch tag). If you
do an update with -kkv (the default for text files), then _that_
becomes explicitly sticky, which is still not what you want (and
again, the binary files will suffer).
We tried doing the following in a branch workspace, but it didn't
help; we still got the spurious conflicts (using cvs 1.10.8, with a
local repository, i.e., non-client-server):
$ cvs update -W"'*' -k 'k'" -jtrunk-tag-at-merge-1 -jtrunk-tag-at-merge-2
Anyone have a solution for this problem?
I can think of two nice-to-haves here:
1) It would be nice if CVS provided an option for update that would
use '-kk' (without making it sticky) on files without explicit sticky
tags, but respect any existing '-kb' flags. Maybe '-km' for 'merge'.
2) If, in a branch workspace, you temporarily check files out with
non-default -k options, and you want to set them back to the default,
it would be nice to be able to say something like 'cvs update -Ak',
and have it set the flags back to normal, to avoid checking your
files back into the repository with the sticky flags.
--
+-------------------------------------------------------------------+
| Dave Makower <[EMAIL PROTECTED]> |
| Manager of Portal Architecture & Development |
+--------------------------------+----------------------------------+
| iClick, Inc. | (914) 872-8030 |
| 120 Bloomingdale Road | (914) 872-8100 fax |
| 3rd Floor | (914) 872-8000 main |
| White Plains, NY 10605 | http://www.iclick.com/ |
+--------------------------------+----------------------------------+