On Sun, Aug 8, 2010 at 5:24 PM, Stefan Sperling <s...@elego.de> wrote: > On Sun, Aug 08, 2010 at 11:50:13AM -0400, Nico Kadel-Garcia wrote: >> disabling the keywords: quite sensible, really. I'd like to see a >> similar setting for "svn diff" > > What use case do you have in mind that requires an --ignore-keywords > option for "svn diff"? > > "svn diff" already deals with keywords in contracted form. > Differences due to keyword expansion changing aren't being shown.
Mixed histories with "svn:keywords" turned off, then on, for imported software that already has $Id$ or $Author$. Let's take the Linux kernel as an example. On first import, a developer may not be aware of and ready to set svn:keywords properly, especially for a n ew repository without a forced or default policy for *.c files. They do some work, make some changes, make a few branches. Then they realize that such flags in the original software are not being updated to match the local author or latest edits, so they enable keywords. Now, they need to mail Linus Torvalds the patches. The "svn diff" is now cluttered with mismatched $Id$ lines from before and after svn:keywords was enabled, almost all of which are irrelevant but which are awkward at best to filter out. And because Subversion is so excellent at preserving its history, including broken history, that mishandled original kernel is now nearly impossible to remove from the source tree: the only way to get it properly recorded, from scratch, is to get the change history and overlay it on top of a brand new, correctly imported kernel. I've actually had to do this, in an environment where developers were being careless about both svn:keywords and svn:eol, and doing their text editing from TortoiseSVN environments. It wasn't pretty.