Compared to Subversion (SVN)

Apr 17, 2011 at 10:13 AM

I just attended a TFS "MSDN Briefing" and was shocked that TFS does not support keyword expansion .... So I've asked Dr. Google and found this project and (90 votes atm does not convince MS to implement it ... ^^).

So I have a few questions:

  1. Why does MS not implement that feature for TFS (I assume there is a "good reason" for that)?
  2. Does this "Keyword Expansion" (aka "Keyword Substitution") project store the expanded keywords into the source file at the repository or does it only do it locally like Subversion does?
  3. Does it also work for binary files (e.g. SVN: $keyword::         $ is working fine for .doc, .xls etc.)?
  4. Does it work for UNICODE files (SVN does not support keyword expansion for Unicode files ...)
  5. Is there a support for zip-container files formats (e.g. .docx, .xlsx etc. SVN does it not support)

Thanks in advance!

Harald-René Flasch (aka hfrmobile)

Apr 17, 2011 at 12:34 PM


1. You should ask MS and not me…

2. The keywords are stored in the source file during and therefor also in the servers database’ file

3. It does currently not work for binary files. If you know who to do it, I can try to implement it.

4. It works with any encoding; including Unicode

5. It does currently not work for zip files. If you know who to do it, I can try to implement it.



Apr 21, 2011 at 11:57 AM

Hi Jochen,

thank you for your reply!

  1. At a  MSDN Briefing (Microsoft Austria) about VSS --> TFS they told that this feature is missing but they don't told us why. Maybe even Microsoft employees do not know it ;-)
  2. The only drawback at the moment (but maybe the only approach so that TFS does not recognize it and diff will work etc.?)
  3. I would suggest a similar/same approach as SVN does: $keyword::__________$ the :: has the effect that the number of characters between $ are always the same. If the expanded text is to short it will be filled with spaces if the expanded text is to long it is limited - this works fine for binary files like MS-Word, MS-Excel etc. since the number of bytes/size of the file is never changed
  4. This is an advantage (compared to SVN)
  5. The simplest approach (maybe the only approach?) when committing (checking in) extract it, do the expanding and zip it again) (FYI: .docx and .xlsx are .zip files)