How SVN:Keywords are expanded into the file when committing into repository

Thenmozhi
Thenmozhi
I read in several forums that $Log$ is not supported in SVN. Also warned that in hooks the transaction should not modified which end up with abrupt results. But i need to know how SVN:Keywords properties are achieved. How the specified properties $Author$, $Id$ are expanded into the file where i have defined these when i commiting it into the repository.    Is this doesn't change the transaction before committing into repository by expanding the keywords. why SVN didn't handle the $Log$ specifically when it supports other properties expansion in some way.    Please let me know how the svn:keyword are handled and its properties are expanded.    Thanks in advance.

Last updated

andyl
andyl
Keywords are expanded by the client, not the server.
philip
philip
That's right. In the repository the keyword is typically stored unexpanded as "$Id:$" or "$Revision:$"/
Thenmozhi
Thenmozhi
andyl;121750Keywords are expanded by the client, not the server.
  Thanks andyl..  If that is the case, then can we include a new keyword for log and try to expand it in our own client. Is this feasible?? Whether these keywords are expanded before the file committing to the repository??
andyl
andyl
Thenmozhi;121755Thanks andyl..    If that is the case, then can we include a new keyword for log and try to expand it in our own client. Is this feasible?? Whether these keywords are expanded before the file committing to the repository??
   Expanded keywords are not committed to the repository. They're "collapsed" before being transmitted.    The source for Subversion is open, so you can do whatever you want to create your own custom client that implements features you want. But I would advise that you not do this - the reasons laid out by the developers are good and well thought-out, and the result of ignoring those reasons is redundant, verbose content in your source files which potentially could break your files and cause all manner of headaches in diffing.    Plus, how will you enforce all users of your repository using only your custom client?    IOW...find a better way to achieve your goal that doesn't do what the SVN developers have stated quite clearly shouldn't be done.
Thenmozhi
Thenmozhi
andyl;121756Expanded keywords are not committed to the repository. They're "collapsed" before being transmitted.
  Can you please explain how the changes (Expanded keyword values) are available in repository if keywords are expanded by client.
andyl
andyl
Thenmozhi;122185Can you please explain how the changes (Expanded keyword values) are available in repository if keywords are expanded by client.
   You'll have to explain what you mean by that.    Anytime you look at repository contents, you are looking at them through the client library, therefore keywords will be expanded.

1-7 of 7

Reply to this discussion

You cannot edit posts or make replies: You should be logged in before you can post.