On Sat, Aug 7, 2010 at 9:21 PM, Blair Zajac <bl...@orcaware.com> wrote: > > On Aug 6, 2010, at 3:16 PM, Bob wrote: > >> Hi, >> If I do "svn cat" on a file, with the svn:keywords property set, it expands >> out >> SVN keywords such as $Date$, $Revision$, $Id$, etc., in the file (the ones >> there >> were included in the svn:keywords property anyway). Is there an option that >> will >> NOT do the expansion? Or is there some other way of using the svn client that >> will achieve the same thing? As I understand, the file is stored in the >> repository with keywords not expanded, and the client expands them when it >> retrieves them, so shouldn't it be trivial to have a functionality to skip >> this >> step? >> Thanks, >> > > Do you want to do this for all files in a checkout or just get a file? If > the later, you can use curl or wget if you're using http:// or https:// > scheme.
OK, I can write wrapper scripts all day to work my way around the vagaries of inconsistent or mishandled use of keywords, such as the instance I described. With a well-constructed use of a GNU quality diff utility, I can even get it do ignore 'Id:' or 'Author:' or all the other keywords in making a diff report. But having to manually pull all the files to make the diffs, or having to manually reprocess them to get a diff report, is exactly the sort of misfeature that causes many developers to absolutely forbid the use of such keywords as a source of instability. The original poster in this thread asked about using "svn cat" and disabling the keywords: quite sensible, really. I'd like to see a similar setting for "svn diff" It's not fair, to people who are not as skilled with scripting and regexp as some of us, to convert the "$Id:.$", Author, URL, Date, and whatever other keywords are active into something sensible. And stripping and managing fields with "$" or worse yet, "@" in them from author names or URL's can get very finicky. The processing is already going on upstream in Subversion to create those fields: it seems completely reasonable to disable it on request.