subversion-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From LUGNIER, Cédric (CA-CIB) <>
Subject svn error E720145 with svn cleanup --remove-unversioned
Date Wed, 27 Nov 2019 10:24:58 GMT

We sometimes have the following error when we do use svn cleanup -remove-unversioned under
svn: E720145: Can't remove directory 'C:\dev\Jenkins\workspace\qlib_full \Sources\x12ComInterface\_compilation\vc17_Release':
The directory is not empty.

Before running the command line, we kill all the processes that has an handle on files in
our working copy except the cmd which is in the root folder and TSVNCache.
I had a look into your code to see if there could be something that could explain this error
This message is returned by svn_io_dir_remove_nonrecursive function.
For me the message is not accurate as svn_io_remove_dir2 replicates the 'rm -rf' command.
As the folder is not empty, it means that a file couldn't be removed. You don't return that
file name, neither the error code.

One of your comments:
  /* On Windows, a process may not release file locks before closing the
     handle, and in this case the outstanding locks are unlocked by the OS.
     However, this is not recommended, because the actual unlocking may be
     postponed depending on available system resources.  We explicitly unlock
     the file as a part of the pool cleanup handler. */

As you use locks to remove unversioned files and folders, could this be the reason why the
folder isn't empty when you try to remove the folder?


Cédric Lugnier

This message and any attachments are intended for the sole use of its addressee.
If you are not the addressee, please immediately notify the sender and then destroy the message.
As this message and/or any attachments may have been altered without our knowledge, its content
is not legally binding on Crédit Agricole Corporate and Investment Bank.
All rights reserved.
Crédit Agricole Corporate and Investment Bank’s Registered office: 12, Place des Etats-Unis
- CS 70052 - 92547 Montrouge Cedex, France.

Ce message et ses pièces jointes sont destinés à l'usage exclusif de leur destinataire.
Si vous recevez ce message par erreur, merci d'en aviser immédiatement l'expéditeur et de
le détruire ensuite.
Le présent message pouvant être altéré à notre insu, Crédit Agricole Corporate and Investment
Bank ne peut pas être engagé par son contenu.
Tous droits réservés.
Siège social de Crédit Agricole Corporate and Investment Bank : 12, Place des Etats-Unis
- CS 70052 - 92547 Montrouge Cedex, France.
Where you have received a communication from Crédit Agricole Corporate and Investment Bank
this may include information which constitutes an investment recommendation as defined by
the European Market Abuse Regulation of 16 April 2014 (MAR), Investment Research as defined
by the European Markets in Financial Instruments Directive of 15 May 2014 (MiFID II) or Investment
Advice as defined by MiFID II. Where Investment Advice is provided, it should be noted that
it is not provided on an independent basis.

Please see
for more details regarding the important regulatory information in this regard.

If you have any questions in relation to MAR or MiFID II and their impact on your relationship
with Crédit Agricole Corporate & Investment Bank please let your sales person know.
Please refer to
for any Dodd-Frank Disclosure for U.S. Persons pursuant to CFTC Regulation 23.431
View raw message