Keyword substitution, in CVS and elsewhere, is an entirely client-side
issue. The reason you get merge conflicts is that merges are also
entirely client side (commit comes after the working-copy merge). You
can avoid keyword conflicts by specifying no keyword expansion in the
working copy.
-K
"Brent J. Nordquist" <bjn@visi.com> writes:
> >From empirical evidence, I gather that CVS does keyword substitution on
> commit, and the resulting meta-data becomes part of the content (data) of
> the file. The hassle is that merges almost always generate phantom
> "conflicts" on the lines with the keywords.
>
> Some CCSes do keyword substitution dynamically on checkout (and store the
> "plain" unsubstituted version). This has the advantages that (1) if
> metadata changes, the corrections are seen on checkout from that point
> forward, even if the data didn't change, and (2) no phantom conflicts from
> merges.
>
> Just wondering if this issue has been discussed before; didn't see much in
> the design doc about it. I suspect this issue will be in your face
> because of Subversion's feature of meta-data revisioning.
>
> --
> Brent J. Nordquist <bjn@visi.com>
> Yahoo!: Brent_Nordquist / AIM: BrentJNordquist / ICQ: 76158942
Received on Sat Oct 21 14:36:05 2006