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 BFB4C10B22 for ; Sun, 7 Jul 2013 15:45:54 +0000 (UTC) Received: (qmail 67749 invoked by uid 500); 7 Jul 2013 15:45:54 -0000 Delivered-To: apmail-subversion-users-archive@subversion.apache.org Received: (qmail 66634 invoked by uid 500); 7 Jul 2013 15:45:48 -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 66621 invoked by uid 99); 7 Jul 2013 15:45:47 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Sun, 07 Jul 2013 15:45:47 +0000 X-ASF-Spam-Status: No, hits=-0.7 required=5.0 tests=RCVD_IN_DNSWL_LOW,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (nike.apache.org: local policy) Received: from [192.109.42.8] (HELO einhorn.in-berlin.de) (192.109.42.8) by apache.org (qpsmtpd/0.29) with ESMTP; Sun, 07 Jul 2013 15:45:39 +0000 X-Envelope-From: stsp@stsp.name Received: from ted.stsp.name (ted.stsp.name [217.197.84.34]) by einhorn.in-berlin.de (8.13.6/8.13.6/Debian-1) with ESMTP id r67FjEfD021876 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NOT); Sun, 7 Jul 2013 17:45:14 +0200 Received: from ted.stsp.name (stsp@localhost [127.0.0.1]) by ted.stsp.name (8.14.6/8.14.3) with ESMTP id r67FiPnD004656; Sun, 7 Jul 2013 17:44:25 +0200 (CEST) Received: (from stsp@localhost) by ted.stsp.name (8.14.6/8.14.3/Submit) id r67FiOnK007753; Sun, 7 Jul 2013 17:44:24 +0200 (CEST) Date: Sun, 7 Jul 2013 17:44:24 +0200 From: Stefan Sperling To: Frank Loeffler Cc: users@subversion.apache.org Subject: Re: Parallel checkout within checkout Message-ID: <20130707154424.GA27437@ted.stsp.name> Mail-Followup-To: Frank Loeffler , users@subversion.apache.org References: <20130706113927.GA25200@topf.wg> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20130706113927.GA25200@topf.wg> User-Agent: Mutt/1.5.21 (2010-09-15) X-Scanned-By: MIMEDefang_at_IN-Berlin_e.V. on 192.109.42.8 X-Virus-Checked: Checked by ClamAV on apache.org On Sat, Jul 06, 2013 at 06:39:27AM -0500, Frank Loeffler wrote: > My theory is that the checkout of the contained repository tries to look > into .svn of the containing repository, and finds it 'currently used'. You mean "working copy" (the copy being checked out), not "repository" (the database we check out from). Yes, I believe what you are seeing is that the nested 'svn checkout' operation ends up using the .svn directory of the enclosing working copy. > This was not the case for versions <1.7, maybe because these didn't use > a 'central' .svn directory. > > I would now argue that this is a regression, since svn <1.7 worked fine > in this scenario, while >=1.7 doesn't. I would argue that you were relying on an implementation detail. Nowhere does the documentation mention or even recommend what you are doing. > Ways to reproduce: > > 1. svn co some_repo > 2. interrupt during checkout (control-Z) > 3. cd into new (partial) checkout > 4. svn co some_other_repo I have two suggestions: When using 1.7 clients, run checkouts in parallel but into temporary directories that are not nested. When done, move the temporary working copies into each other to create the nested structure. This should work. If you keep all temp working copies on the same disk then moving them should be very cheap. If you use HTTP to access the repository, my other suggestion is to update both clients and server to 1.8 and test checkout performance. You might benefit from the new HTTP client layer (serf) in skelta mode, which might improve throughput to the point where you don't need to checkout different working copies in parallel for performance reasons. See here for details: http://subversion.apache.org/docs/release-notes/1.8.html#neon-deleted