[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: line-ending conversion and keyword substitution

From: Ben Collins-Sussman <sussman_at_collab.net>
Date: 2001-12-12 20:23:58 CET

Greg Hudson <ghudson@MIT.EDU> writes:

> On Wed, 2001-12-12 at 13:54, Ben Collins-Sussman wrote:
> > My confusion is in the bootstrapping of this process. How does one
> > create and add a file that contains keywords? If we expanded the
> > keywords in the working file after the very first commit, then as soon
> > as the commit was over, the file would have a local mod (because it
> > would no longer match text-base, which still has the unexpanded
> > keyword.) Is this ok? Would the user have to commit *again*?
>
> It doesn't count as a local mod. Our is-modified predicate has to
> keyword-expand the repository contents before comparing against the
> working version to determine if a file is locally modified.
>
> This is how CVS works...

Ah, cool, that makes sense. But am I right about the first part of
my mail?

I mean, after I do the first commit of my file:

   Repository: $Date$
   Text-Base: $Date$
   Working: $03/03/02 $

And 'svn diff' shows no difference, because it compares against an
expanded text-base. Fine.

Now I edit the file some more, and commit it again:

   Repository: $03/04/02 $
   Text-Base: $03/04/02 $
   Working: $03/04/02 $
   
And now the unexpanded $Date$ keyword will never be seen ever again,
anywhere. The client will just be substituting into already-existing
expansions forevermore. Do I understand correctly?

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Sat Oct 21 14:36:52 2006

This is an archived mail posted to the Subversion Dev mailing list.

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.