Hi,
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>
Linux:
=====
$ 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
Repository Root: 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.
Regards,
Guido
Hi,
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).
Hi Andy, thanks for your feedback. Obviously my problem is not a bug, but unsupported use and a little weird error.
Is it a good suggestion to change the working copy format to include some type of “supported platform and user”, just as it already does check on the version of the repository? This ensures that users such as me and my collegeaus can only use the software in a supported way. This reduces the risk of data corruption.
Regards,
Guido
--
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
mailto:hartmut...@siemens.com
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.L...@invantive.com]
Gesendet: Samstag, 17. November 2012 09:41
An: us...@tortoisesvn.tigris.org
Betreff: Working copy corruptions due to dual use of SVN on Linux and Windows against same working copy
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.
Regards,
Guido