You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@subversion.apache.org by Insert Real Name <in...@yahoo.ca> on 2005/07/15 19:10:17 UTC
Help in diagnosing make fsfscheck
Hello,
I'm a complete SVN beginner.
I successfully compiled subversion-1.2.1 on my hosting provider's
machine (a Linux host) with the options --without-berkeley-db
--with-zlib --with-ssl and then executed 'make fsfscheck'. All the
tests passed, except the following:
FAIL: diff_tests.py 15: repos-repos diff on item deleted from HEAD
FAIL: diff_tests.py 19: diff between two file URLs (issue #1311)
FAIL: diff_tests.py 23: diff a file within a renamed directory
FAIL: diff_tests.py 24: diff a prop change on a dir named explicitly
FAIL: diff_tests.py 25: ensure that diff won't show keywords
FAIL: diff_tests.py 26: show diffs for binary files with --force
FAIL: externals_tests.py 3: update to lose an external module
FAIL: externals_tests.py 4: update change to an unmodified external module
FAIL: externals_tests.py 5: update changes to a modified external module
FAIL: externals_tests.py 6: update changes under an external module
FAIL: externals_tests.py 7: commit and update additional externals
FAIL: merge_tests.py 1: performing a merge, with mixed results
FAIL: merge_tests.py 7: merge on deleted directory in target
FAIL: merge_tests.py 9: merge operations using PREV revision
I'm not sure where to go from here: some of these seem like fairly
serious failures--but I know very little of subversion so far, I'm
reading the red-bean book and learning with my own Windows machine. I
have posted the config.{log,nice,status} from my build are at
http://lotbiniere.org/subversion along with the full tests.log
Can anyone give me any ideas on what might be wrong and how to diagnose
it correctly?
--
Insert Real Name
insertrealname AT yahoo.ca
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org
Re: Help in diagnosing make fsfscheck
Posted by Dirk Schenkewitz <sc...@docomolab-euro.com>.
Ben Collins-Sussman wrote:
> Looking at your tests.log, it seems that the test failures are related
> to situations whereby a file should be locally modified, but subversion
> isn't detecting the modification.
>
> Are you perhaps running the tests on a FAT filesystem? FAT has a 2-
> second time resolution for timestamps, so it's possible that a script
> can append to a file and then ask 'svn' to stat the file all within 2
> seconds. Subversion sees no change in timestamp, so it assumes that
> the file hasn't changed.
:(
Sorry to nag again, but - knowing that FAT has 2s time resolution, the
algorithm you described somewhere else on the list:
>> stat working and textbase files.
>> if (mtimes of working and textbase are equal):
>> return NOT_CHANGED;
>> else if (filesizes of working and textbase are unequal):
>> return CHANGED;
>> else
>> compare the files byte-by-byte. /* very slow */
is rather prone to give false negatives. And then: Better "very slow"
than wrong.
It is high time to have an alternative algorithm that can be selected
via an entry in the config file of a repository, so that people could
go for a really fast one on unix (as it is now) or a slower one on FAT.
The abovementioned algorithm is IMO buggy. It would be better to do:
stat working and textbase files.
if (mtimes of working and textbase are not equal):
return CHANGED;
else if (filesizes of working and textbase are unequal):
return CHANGED;
else
return UNCHANGED;
That would be a bit better than it is now (less false negatives) and
would be even faster than now. And please note that you don't get any
false positives, because if a user just 'touch'ed a file, he probably
WANTS to bump up the revnum. If the actual data is not changed, so
what?! Xdiff will find out and make a very cheap new revnum.
But an industrial-strength algorithm has to be exactly as follows:
stat working and textbase files.
if (mtimes of working and textbase are not equal):
return CHANGED;
else if (filesizes of working and textbase are unequal):
return CHANGED;
else
compare the files byte-by-byte. /* very slow */
I admit that it is unlikely to hit the 2s-problem when only humans are
involved, but what if some script is used to checkout something, make
a small change and commit?
Best regards
Dirk (now going into a holiday) :)
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org
Re: Help in diagnosing make fsfscheck
Posted by Insert Real Name <in...@yahoo.ca>.
Ben Collins-Sussman wrote:
> Looking at your tests.log, it seems that the test failures are related
> to situations whereby a file should be locally modified, but subversion
> isn't detecting the modification.
>
> Are you perhaps running the tests on a FAT filesystem? FAT has a 2-
> second time resolution for timestamps, so it's possible that a script
> can append to a file and then ask 'svn' to stat the file all within 2
> seconds. Subversion sees no change in timestamp, so it assumes that
> the file hasn't changed.
>
>
>
No, this is on a Linux x86 system (shared hosting machine). I won't be
creating/using berkeley-db type repositories, just fsfs somewhere below
my home directory on the web hoster.
In any event, I've now done this test at least 3 times:
rm -rf subversion-1.2.1
tar zxf subversion-1.2.1.tar.gz
cd subversion-1.2.1
./configure --prefix=/home/myhome/opt --without-berkeley-db --with-ssl
--with-zlib
make
make fsfscheck
And each time the last make step gives different test failures!
But I had forgotten that the hosting company keeps home directories
mounted via NFS--as soon as I did the same build procedure on the
hosting machine in /usr/local/tmp (locally mounted ext3 filesystem), all
tests passed O.K.
So, sorry to have bothered the mailing list with this, which is
mentioned somewhere in the build instructions.
I notice that the FAQ addresses the problem of NFS Subversion fsfs
repositories on Linux by suggesting that such NFS shares be mounted with
subtree checking disabled, something which I doubt I can convince the
hosting company to try... is there any other way around this particular
Linux/Subversion problem?
--
Insert Real Name
insertrealname AT yahoo.ca
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org
Re: Help in diagnosing make fsfscheck
Posted by Ben Collins-Sussman <su...@collab.net>.
Looking at your tests.log, it seems that the test failures are
related to situations whereby a file should be locally modified, but
subversion isn't detecting the modification.
Are you perhaps running the tests on a FAT filesystem? FAT has a 2-
second time resolution for timestamps, so it's possible that a script
can append to a file and then ask 'svn' to stat the file all within 2
seconds. Subversion sees no change in timestamp, so it assumes that
the file hasn't changed.
On Jul 15, 2005, at 2:10 PM, Insert Real Name wrote:
> Hello,
> I'm a complete SVN beginner.
>
> I successfully compiled subversion-1.2.1 on my hosting provider's
> machine (a Linux host) with the options --without-berkeley-db --
> with-zlib --with-ssl and then executed 'make fsfscheck'. All the
> tests passed, except the following:
>
> FAIL: diff_tests.py 15: repos-repos diff on item deleted from HEAD
> FAIL: diff_tests.py 19: diff between two file URLs (issue #1311)
> FAIL: diff_tests.py 23: diff a file within a renamed directory
> FAIL: diff_tests.py 24: diff a prop change on a dir named explicitly
> FAIL: diff_tests.py 25: ensure that diff won't show keywords
> FAIL: diff_tests.py 26: show diffs for binary files with --force
> FAIL: externals_tests.py 3: update to lose an external module
> FAIL: externals_tests.py 4: update change to an unmodified
> external module
> FAIL: externals_tests.py 5: update changes to a modified external
> module
> FAIL: externals_tests.py 6: update changes under an external module
> FAIL: externals_tests.py 7: commit and update additional externals
> FAIL: merge_tests.py 1: performing a merge, with mixed results
> FAIL: merge_tests.py 7: merge on deleted directory in target
> FAIL: merge_tests.py 9: merge operations using PREV revision
>
> I'm not sure where to go from here: some of these seem like fairly
> serious failures--but I know very little of subversion so far, I'm
> reading the red-bean book and learning with my own Windows machine.
> I have posted the config.{log,nice,status} from my build are at
> http://lotbiniere.org/subversion along with the full tests.log
>
> Can anyone give me any ideas on what might be wrong and how to
> diagnose it correctly?
>
> --
> Insert Real Name
>
> insertrealname AT yahoo.ca
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
> For additional commands, e-mail: users-help@subversion.tigris.org
>
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org