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

RE: Working copy corruptions due to dual use of SVN on Linux and Windows against same working copy

From: David Balažic <david.balazic_at_comtrade.com>
Date: Tue, 20 Nov 2012 11:37:11 +0100

A line or two in the code that checks the version and drops out with an error message* would save a lot of user trouble and developer time (as mail threads like this one etc.).
* - like "Incompatible sqlite db, not opening to prevent possible corruption"


David Balažic
Software Engineer



        From: Guido Leenders [mailto:Guido.Leenders_at_invantive.com]
        Sent: Tuesday, November 20, 2012 11:15 AM
        To: users_at_tortoisesvn.tigris.org
        Subject: RE: Working copy corruptions due to dual use of SVN on Linux and Windows against same working copy
        Importance: Low

        Thanks for the tip.


        I have checked the wc.db versions as follows:


        Svn checkout on Windows, look at byte 96.99 according to the file format. Version = 3.7.12.


        Svn checkout of same project from Linux, strangely enough the bytes 96..99 are all 0. Instead checked search path. Sqlite version = 3.6.20.


        So there is a version difference indeed. Now I have learnt that the sqlite libraries obviously can not handle a database well when running cross versions. According to SQLite itself it uses a single cross-platform file (locking entire database during writing and allows multiple readers).


        I will try aligning the sqlite version on Linux with the one of Windows which is an unsupported but for our purposes helpful configuration.


        To improve usability I would find it helpful that SVN would complain when the database files had been created by a different (incompatible) version. I know now the problem, but for first time users a good error message would help.





        From: Niemann, Hartmut [mailto:hartmut.niemann_at_siemens.com]
        Sent: Tuesday, November 20, 2012 10:28 AM
        To: users_at_tortoisesvn.tigris.org
        Subject: AW: Working copy corruptions due to dual use of SVN on Linux and Windows against same working copy


        Hello Guido!


        The key change in SVN 1.7 is the .svn reorganisation using a sqlite database.

        So if the versions of the sqlite libraries differ, that might make the working copys icompatible

        and that would explain the message you got from windows.

        Maybe you can force your linux system to use the exact same sqlite library version tortoiseSVN uses on windows.

        Maybe you can open the wc.db database with sqlite3(.exe) on linux and windows and see whether it looks the same on both sides?


        Just a guess.


        Mit freundlichen Grüßen
        Dr. Hartmut Niemann
        Siemens AG
        Infrastructure & Cities Sector
        Rail Systems Division
        Locomotives and Components
        IC RL LOC EN LE 8
        Werner-von-Siemens-Str. 67
        91052 Erlangen, Deutschland
        Tel.: +49 9131 7-34264
        Fax: +49 9131 7-26254
        Siemens Aktiengesellschaft: Vorsitzender des Aufsichtsrats: Gerhard Cromme; Vorstand: Peter Löscher, Vorsitzender; Roland Busch, Brigitte Ederer, Klaus Helmrich, Joe Kaeser, Barbara Kux, Hermann Requardt, Siegfried Russwurm, Peter Y. Solmssen, Michael Süß; Sitz der Gesellschaft: Berlin und München, Deutschland; Registergericht: Berlin Charlottenburg, HRB 12300, München, HRB 6684; WEEE-Reg.-Nr. DE 23691322




                                Von: Guido Leenders [mailto:Guido.Leenders_at_invantive.com]
                Gesendet: Samstag, 17. November 2012 09:41
                An: users_at_tortoisesvn.tigris.org <mailto:users_at_tortoisesvn.tigris.org>
                Betreff: Working copy corruptions due to dual use of SVN on Linux and Windows against same working copy

                We are using SVN 1.7.7 (TortoiseSVN 1.7.10) on Windows and SVN 1.7.7 on Linux with Samba against the same working copies. The working copies are located on the home directory of the user (/home/XXX or h:\).
                Reason for such dual use is that some build software runs only on Windows and some only on Linux and there are no really reliable platform crossing mechanisms.
                This worked fine with SVN 1.6, but since a few weeks we are working with 1.7. We have tested 1.7 in our setup for months on a Windows only laptop and working copies had little to no problems.
                Since we started using dual use of the working copies, we are frequently and consistenly having working copy issues. It seems that either Windows or Linux changes something, probably in the .svn folder, that causes the other side to complain. If you stick to Windows only Tortoise or Linux only Tortoise it works fine. But for several operations that is not practically feasible (Linux side scripting, but users on Windows which do not all know all complex SVN command line arguments).
                Sample of errors:
                Windows (with commandline here):
                PS H:\ws\p104> svn info .\build.xml
                svn: E155036: Please see the 'svn upgrade' command
                svn: E155036: Working copy 'H:\ws\p104' is an old development version (format 12); to upgrade it, use a format 18 client , then use 'tools/dev/wc-ng/bump-to-19.py', then use the current client PS H:\ws\p104>
                $ svn info build.xml
                Path: build.xml
                Name: build.xml
                Working Copy Root Path: /home/smoke/ws/p104
                URL: http://svn.invantive.com/repos/p104/trunk/build.xml <http://svn.invantive.com/repos/p104/trunk/build.xml>
                Repository Root: http://svn.invantive.com/repos/p104 <http://svn.invantive.com/repos/p104>
                Repository UUID: c849056f-1cdd-4f09-aa32-1c9aa175cbcf
                Revision: 20444
                Node Kind: file
                Schedule: normal
                Last Changed Author: smoke
                Last Changed Rev: 20444
                Last Changed Date: 2012-11-14 23:47:24 +0100 (Wed, 14 Nov 2012) Text Last Updated: 2012-11-14 23:47:25 +0100 (Wed, 14 Nov 2012)
                Checksum: 8f216a7b6bf719ad5201948f8209399ab00d1a87
                Any suggestions how to overcome this? I had expected that if you stick to exactly the same SVN version on both sides, we could further continue our dual use.


To unsubscribe from this discussion, e-mail: [users-unsubscribe_at_tortoisesvn.tigris.org].
Received on 2012-11-20 11:37:29 CET

This is an archived mail posted to the TortoiseSVN Users mailing list.

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.