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

Failing patch_tests.py 27: revert a patch by reverse patching

From: Paul Burba <ptburba_at_gmail.com>
Date: Thu, 16 Sep 2010 10:39:59 -0400

Today in IRC:

<stsp> Bert, pburba do you think a sleep for timestamps is needed to
fix patch test 27 on windows?
<stsp> not sure what else could be the problem

<pburba> stsp: Not sure, will try to look in a moment

<stsp> thank you

<Bert> stsp: Not likely.. On NTFS you don't need to sleep for timestamps
<Bert> stsp: You need sleeps on filesystems with a high timestamp
granularity (e.g. the 1 second timestamps of ext2/ext3/hfs or the 2
seconds of FAT). NTFS and Ext4 have at least microsecond precision so
it is very unlikely to change a file after subversion exited, but
still see a change
<Bert> s/still see a change/still see no change in timestamp/
<Bert> stsp: My first guess would be a different eol style
<Bert> (And if you had to add the sleep you would miss the
modification.. You wouldn't see an unexpected modification)

~~~~~

Stefan,

Bert is correct, the problem is eols.

Let's just look at one file to demonstrate the problem...

Here is the test's patch:

[[[
Index: A/D/gamma<CR><LF>
===================================================================<CR><LF>
--- A/D/gamma (revision 1)<CR><LF>
+++ A/D/gamma (working copy)<CR><LF>
@@ -1 +1 @@<CR><LF>
-This is the file 'gamma'.<CR><LF>
+It is the file 'gamma'.<CR><LF>
]]]

The test applies that patch and leaves us with this diff to gamma:

[[[
Index: A/D/gamma<CR><LF>
===================================================================<CR><LF>
--- A/D/gamma (revision 1)<CR><LF>
+++ A/D/gamma (working copy)<CR><LF>
@@ -1 +1 @@<CR><LF>
-This is the file 'gamma'.<LF>
+It is the file 'gamma'.<CR><LF>
]]]

So the first application of the patch changes the text and the line endings.

Then we apply the patch with --reverse-diff:

[[[
Index: A/D/gamma<CR><LF>
===================================================================<CR><LF>
--- A/D/gamma (revision 1)<CR><LF>
+++ A/D/gamma (working copy)<CR><LF>
@@ -1 +1 @@<CR><LF>
-This is the file 'gamma'.<LF>
+This is the file 'gamma'.<CR><LF>
]]]

And that changes it back to its original text, but with Window's
"\r\n" line endings.

Paul
Received on 2010-09-16 16:40:38 CEST

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