For reference, the discussion over at Tortoisesvn-dev: https://groups.google.com/g/tortoisesvn-dev/c/A9g8NgQic2Q
TLDR; TortoiseSVN's pre-lock client-side hookscript can be used to accomplish this however for optimum use (including displaying the lock message) there are a few bugfixes in the next release. Den sön 3 jan. 2021 kl 16:43 skrev Martin Rupp <[email protected]>: > Dear Mr. Sahlberg, > > thank you for your answer. > > I have played with the client hook pre-lock script of Tortoise SVN. The > idea is very good. > The first argument is a temporary file. It should contain the paths to the > files which should be locked. > But unfortunately this file is empty. > Therefore I am not able to add the paths to the log message via client > hook scripts. > > The svn lock command should know which file(s) in which working copy is > (are) locked. > > I don't understand why this command doesn't transfer this information to > the server and doesn't show it in the log or better in the message which is > shown if another user wants to get a lock on this file. > > I need much time to find the working copy (plus client computer name) > where a file is locked because I don't know where it is locked. > > A software which provides the locking feature should also told the user > where it is locked. > I know this from other software products. > > I don't want to do a force unlock. > > As workaround I use subversion usernames which contains the hostnames of > the clients. > > So I know on which host the lock was done. > > But I need also the path of the working copy and I don't want to add also > each working copy to the username > > > Best regards > > Martin Rupp > > > Am 03.01.2021 um 09:53 schrieb Daniel Sahlberg: > > Den sön 3 jan. 2021 kl 06:37 skrev Martin Rupp <[email protected]>: > >> Hi, >> >> If a file is locked I get an error message like: >> >> Lock failed: C:\test\svn\TestSvn\Test-o1.fodt >> Error: Path '/Martin/Test-o1.fodt' is already locked by user 'martin' in >> filesystem >> Error: '75510a91-dada-4f23-b575-03fe34008164' >> >> (TortoiseSVN 1.14.0, Build 28885 - 64 Bit , 2020/05/24 13:32:45) >> >> It is okay that I get an error but I need the path of the working copy >> instead of a hex number which doesn't help me. >> Why I get a such unknown number instead a path? >> >> c:\test\svn\TestSvn>svn lock Test-o1.fodt >> svn: warning: W160035: Path '/Martin/Test-o1.fodt' is already locked by >> user 'martin' in filesystem '75510a91-dada-4f23-b575-03fe34008164' >> svn: E200009: One or more locks could not be obtained >> >> c:\test\svn\TestSvn>svn lock Test-o1.fodt >> svn: warning: W160035: Path '/Martin/Test-o1.fodt' is already locked by >> user 'martin' in filesystem '75510a91-dada-4f23-b575-03fe34008164' >> svn: E200009: One or more locks could not be obtained >> >> c:\test\svn\TestSvn>svn --version >> svn, version 1.14.0 (r1876290) >> compiled May 24 2020, 17:07:49 on x86-microsoft-windows >> >> Copyright (C) 2020 The Apache Software Foundation. >> This software consists of contributions made by many people; >> see the NOTICE file for more information. >> Subversion is open source software, see http://subversion.apache.org/ >> >> The following repository access (RA) modules are available: >> >> * ra_svn : Module for accessing a repository using the svn network >> protocol. >> - with Cyrus SASL authentication >> - handles 'svn' scheme >> * ra_local : Module for accessing a repository on local disk. >> - handles 'file' scheme >> * ra_serf : Module for accessing a repository via WebDAV protocol using >> serf. >> - using serf 1.3.9 (compiled with 1.3.9) >> - handles 'http' scheme >> - handles 'https' scheme >> >> The following authentication credential caches are available: >> >> * Wincrypt cache in E:\Users\Martin-User\AppData\Roaming\Subversion >> >> I have also tried it with cygwin: >> >> Martin-User@JODA /cygdrive/c/Test/svn/TestSvn >> $ svn lock Test-o1.fodt >> svn: Warnung: W160035: Path '/Martin/Test-o1.fodt' is already locked by >> user 'martin' in filesystem '75510a91-dada-4f23-b575-03fe34008164' >> svn: E200009: One or more locks could not be obtained >> >> What is the "filesystem '75510a91-dada-4f23-b575-03fe34008164'"? >> >> It seems it is the id for the svnserver (svnserve). >> >> If I use svn auth the same id is used for the login area: >> >> Martin-User@JODA /cygdrive/c/Test/svn/TestSvn >> $ svn auth >> ------------------------------------------------------------------------ >> Art der Zugangsdaten: svn.simple >> Anmeldebereich: <svn://qnap-nas-ts-231p3:3690> >> 75510a91-dada-4f23-b575-03fe34008164 >> Passwortspeicher: wincrypt >> Passwort: [nicht angezeigt] >> Benutzername: martin >> >> Credentials cache in '/home/Martin-User/.subversion' contains 1 credential >> >> But how can I see in which path (working copy) on which computer the >> file is locked? >> > > There is already a somewhat similar request in JIRA ( > https://issues.apache.org/jira/browse/SVN-4857). It doesn't seem like any > work has done there. The idea would be to put the computer name in the lock > message. But as mentioned in the issue, it would be difficult for the > server to work out the computer name and even more difficult to work out > the working copy path. > > You can of course manually add this information in the lock message and > then inspect it using svn info [url to file in the repository] (or in > TortoiseSVN: "Check for modifications", "Check repository") > > There is a client side Hook Scripts feature in TortoiseSVN. The Pre-Lock > script locks promising from the documentation (it should be executed before > the lock dialog is shown and the script should be able to figure out both > the computer and the path and put it in the log message). However I can't > make it work from a quick test and I don't have time to dig deeper right > now. If you try it out and it doesn't work, please reach out to the > TortoiseSVN mailing lists (https://tortoisesvn.net/community.html). > > Kind regards, > Daniel Sahlberg > >
