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

strange diffs reported due to wc round-trip in zip

From: Richard Carlsson <richard.carlsson_at_iar.se>
Date: Thu, 06 Mar 2008 14:00:59 +0100

We've seen some recent weirdness which seems to boil down
to the following:

   1. A text-base file contains $Id:$, rather than $Id$
   2. The wc being zipped up, and then unzipped again.

The result is that in the unzipped version of the wc (which is
otherwise identical to the original wc, according to diff/cmp),
the svn client (tested with Windows command line client, Tortoise
SVN 1.4.6, and Cygwin 1.4.5) reports the following differences:

>svn st original unzipped
M unzipped\src\Table.cpp

>svn diff unzipped
Index: unzipped/src/Table.cpp
===================================================================
--- unzipped/src/Table.cpp (revision 38506)
+++ unzipped/src/Table.cpp (working copy)
@@ -1,6 +1,6 @@
  ///////////////////////// -*- C++ -*- ////////////////////
  // Copyright 2007 yada yada yada. All rights reserved.
-// $Id:$
+// $Id$

  /*
   * bla bla bla

The only differences between the two wc:s, as far as we can see,
is in the file timestamps. Apparently, these diffs only happen for
files containing $Id:$ in the text-base version. Note also that the
diff says "+// $Id$". The wc file contains an expanded Id string that
looks quite normal:
  // $Id: Table.cpp 25464 2007-11-01 15:03:08Z dan $

The file properties are also normal:
   svn:keywords : Id Date Author Rev
   svn:eol-style : native
and furthermore, at least some of these files with $Id:$ in the text-base
version had not been modified since they were first added, so they got
their properties set immediately, as specified by the client config file.

I've looked for some documentation that describes in more detail how svn
will treat $keyword...$ annotations when doing a commit, but couldn't
find anything. How does Subversion decide that there's been a change to
the keyword field, that actually needs to be sent to the repo? Are file
timestamps involved in setting the LastChangedDate?

     /Richard Carlsson

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe_at_subversion.tigris.org
For additional commands, e-mail: dev-help_at_subversion.tigris.org
Received on 2008-03-06 14:01:11 CET

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