Hi,
We sometimes have the following error when we do use svn cleanup
-remove-unversioned under Windows:
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 message.
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?
Regards,
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
https://www.ca-cib.com/about-us/financial-information/general-disclaimer-sales-trading
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
https://www.ca-cib.com/about-us/financial-information/dodd-frank-disclosures-and-notices
for any Dodd-Frank Disclosure for U.S. Persons pursuant to CFTC Regulation
23.431