Hello Daniel,

I will check if there is a Virus checker interacting.

>  there is sufficent time to complete the scan so you don't notice?
it does not matter if i wait 10 seconds or 2 hours.
relevant is that TurtoiseMerge is open while i update by script again.
so to me it looks like Turtoise is locking some data/files and releasing it 
first when i close it.


the result of your testing batch is the following:

L:\TestProject>test_svn_lock.bat

L:\TestProject>svn up
Updating '.':
U    branch\2.2.6\TestProject\src\eDef.pas
U    branch\2.2.6\TestProject\src\eDes.pas
U    branch\2.2.6\TestProject\src\eTyp.pas
U    branch\2.6.1\TestProject\src\eCon.pas
U    branch\2.6.1\TestProject\src\eDefs.pas
U    branch\2.6.1\TestProject\src\eDesCtrls.pas
U    branch\2.6.1\TestProject\src\eTyps.pas
U    trunk\src\eCon.pas
U    trunk\src\eDef.pas
U    trunk\src\eDes.pas
U    trunk\src\eTyp.pas
U    trunk\TestProjectTester.src\Tests\UnitTests\Test_7686.pas

Fetching external item into 'ASL':
Updated external to revision 1062.


Fetching external item into 'CommonLibs':
External at revision 606.

At revision 30790.

L:\TestProject>echo "foo"  1>>test

L:\TestProject>svn add test
A         test

L:\TestProject>svn ci test -m test1
Adding         test
Transmitting file data .done
Committing transaction...
Committed revision 30791.

L:\TestProject>svn up
Updating '.':

Fetching external item into 'ASL':
External at revision 1062.


Fetching external item into 'CommonLibs':
External at revision 606.

At revision 30791.

L:\TestProject>echo "bar" 1>>test

L:\TestProject>svn ci test -m test2
Sending        test
Transmitting file data .done
Committing transaction...
Committed revision 30792.

L:\TestProject>svn up
Updating '.':

Fetching external item into 'ASL':
External at revision 1062.


Fetching external item into 'CommonLibs':
External at revision 606.

At revision 30792.

L:\TestProject>



Mit freundlichen Grüßen / With kind regards

i.A. Ansgar Arbeiter
Graduate Engineer - Development

[cid:Boening_493f6312-01a6-44b0-88a0-16303b493993.jpg]

Böning Automationstechnologie GmbH & Co. KG
Am Steenöver 4
27777 Ganderkesee
Germany

Tel.: +49 4221 9475-51
Fax: +49 4221 9475-9051
ansgar.arbei...@boening.com<mailto:ansgar.arbei...@boening.com>

[cid:Facebook_2f4ac43e-2ef4-42ea-be4c-5ef7c46b00f3.png]<https://www.facebook.com/boening.info>
  [cid:LinkedIn_820abf21-38cb-4fc8-a17a-e0801ab8dc39.png] 
<https://www.linkedin.com/company/boning>   
[cid:Instagram_0c88878d-9a82-4fbf-a7cd-9e127d1ee40e.png] 
<https://www.instagram.com/boening_automationstechnologie/> 
<https://www.instagram.com/boening_automationstechnologie/>

www.boening.com<http://www.boening.com>

Amtsgericht Oldenburg: HRA140737
Komplementär: Böning Verwaltungs GmbH
Amtsgericht Oldenburg: HRB141420
Geschäftsführer: Dipl.-Ing. Günther Böning
USt-ID Nr.: DE229750191

[cid:Urlaub2021_1fc44cb2-b4fd-44f8-92af-bc26e06d3183.png]

[cid:Boening-Service_e87882bd-b8e0-48ef-a3c5-f9e75a5dffc9.jpg]<http://www.boening.com/support.html?&L=1>
Von: Daniel Sahlberg <daniel.l.sahlb...@gmail.com>
Gesendet: Mittwoch, 21. Juli 2021 20:10

I tried to reproduce the problem with exclusive-locking = true. I get another 
error message in this case, E200033:

[[[
C:\Devel\test>svn up
svn: E200033: Another process is blocking the working copy database, or the 
underlying filesystem does not support file locking; if the working copy is on 
a network filesystem, make sure file locking has been enabled on the file server
svn: E200033: sqlite[S5]: database is locked, executing statement 'PRAGMA 
case_sensitive_like=1;PRAGMA synchronous=OFF;PRAGMA 
recursive_triggers=ON;PRAGMA foreign_keys=OFF;PRAGMA locking_mode = 
NORMAL;PRAGMA journal_mode = TRUNCATE;'

C:\Devel\test>
]]]

So it seems Subversion is properly detecting that the database is already 
locked (as indicated by the error code 5, SQLITE_BUSY, see [1]) and give 
another error message. In fact, E200030 is a fallback meaning "Sqlite returned 
an error for which we don't have a specific Subversion errorcode" [2].

That being said and combined with the fact that the error is intermittent, 
makes me wonder if you might have a problem with an antivirus/security 
software. Maybe TortoiseSVN is updating the database, which is caught by the 
security software triggering a scan, then when you run `svn up` the database is 
still locked exclusively by the security software. When you close 
TortoiseMerge, there is sufficent time to complete the scan so you don't 
notice? (I personally hate this explaination, but I've run into strange bugs 
where things start to work after some whitelisting, maybe whitelist the wc.db 
file?).

To test you could probably write a batch file along the following lines and run 
in a test wc.
[[[
svn up
echo "foo" >>test
svn add test
svn ci test -m test1
svn up
echo "bar">>test
svn ci test -m test2
svn up
]]]

Kind regards,
Daniel Sahlberg

Reply via email to