Return-Path: X-Original-To: apmail-subversion-users-archive@minotaur.apache.org Delivered-To: apmail-subversion-users-archive@minotaur.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 0FB0F965C for ; Tue, 12 Jun 2012 14:02:48 +0000 (UTC) Received: (qmail 39425 invoked by uid 500); 12 Jun 2012 14:02:47 -0000 Delivered-To: apmail-subversion-users-archive@subversion.apache.org Received: (qmail 39402 invoked by uid 500); 12 Jun 2012 14:02:47 -0000 Mailing-List: contact users-help@subversion.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Delivered-To: mailing list users@subversion.apache.org Received: (qmail 39395 invoked by uid 99); 12 Jun 2012 14:02:47 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 12 Jun 2012 14:02:47 +0000 X-ASF-Spam-Status: No, hits=-0.0 required=5.0 tests=SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (athena.apache.org: local policy) Received: from [129.143.116.10] (HELO rhlx01.hs-esslingen.de) (129.143.116.10) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 12 Jun 2012 14:02:41 +0000 Received: by rhlx01.hs-esslingen.de (Postfix, from userid 102) id 4BD521FA66; Tue, 12 Jun 2012 16:02:20 +0200 (CEST) Date: Tue, 12 Jun 2012 16:02:20 +0200 From: Andreas Mohr To: Justin Case Cc: SVN users Subject: Re: Cleanup needed after failed update Message-ID: <20120612140220.GA23807@rhlx01.hs-esslingen.de> References: <1338981287.7134.YahooMailNeo@web36502.mail.mud.yahoo.com> <1339501921.99103.YahooMailNeo@web36503.mail.mud.yahoo.com> <4FD73492.8090601@dominolaser.com> <1339508632.41144.YahooMailNeo@web36504.mail.mud.yahoo.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1339508632.41144.YahooMailNeo@web36504.mail.mud.yahoo.com> X-Priority: none User-Agent: Mutt/1.5.21 (2010-09-15) X-Virus-Checked: Checked by ClamAV on apache.org Hi, On Tue, Jun 12, 2012 at 06:43:52AM -0700, Justin Case wrote: > > From: Ulrich Eckhardt > > > > Only you (the user) knows "if it was interrupted" or is maybe still > > running! I would say that this message could be improved[0], but > > I beg to differ: the operation which interrupted itself because it found a file in use knows very well that it was interrupted. So, it would be in the best position to do something instead of just quitting graciously. You later suggestion "leave the working copy in a state of mixed revisions" is exactly what I as user would expect from it: "hey, error! I couldn't finish my job bcoz file X is in use, just close the other app then try updating again". Dito. That context knows that it encountered a problem and knows best what it's been doing, thus it's obviously within its own scope and *responsibility* that it should be doing (or at least attempting to do) proper cleanup. Necessity of "svn cleanup" should definitely be relegated to exceptional use cases, since it's a problematic *foreign* intrusion into the lock-shared processing. Well, so much for idealistic speak - I don't know SVN implementation specifics which might go against implementing it like that. > And I could swear it was like this before, I never had to cleanup even though I always forgot DLLs in use... I just can't test it because the only machine with a 1.6 SVN I have is a server and doesn't have Word (and will never have) - any idea how to mark a file "in use" on Windows Server 2003? Notepad/Wordpad doesn't cut it. Probably see exclusive sharing modes (flags at Win32 CreateFile() API). Either code up a quick app which locks a file, or do an internet search on the terms encountered in CreateFile() docs and thus discover some app which already does that, too. HTH, Andreas Mohr