From owner-freebsd-questions@FreeBSD.ORG Thu Jan 24 22:17:08 2013 Return-Path: Delivered-To: freebsd-questions@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 2FC2B292 for ; Thu, 24 Jan 2013 22:17:08 +0000 (UTC) (envelope-from xyne@archlinux.ca) Received: from oproxy12-pub.bluehost.com (oproxy12-pub.bluehost.com [50.87.16.10]) by mx1.freebsd.org (Postfix) with SMTP id E7E75A5D for ; Thu, 24 Jan 2013 22:17:07 +0000 (UTC) Received: (qmail 6708 invoked by uid 0); 24 Jan 2013 22:16:40 -0000 Received: from unknown (HELO box539.bluehost.com) (74.220.219.139) by oproxy12.bluehost.com with SMTP; 24 Jan 2013 22:16:40 -0000 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=archlinux.ca; s=default; h=Content-Transfer-Encoding:Content-Type:Mime-Version:References:In-Reply-To:Message-ID:Subject:Cc:To:From:Date; bh=P/nzoKe/MWj/ArYRbv1DGzfnN/236aQsWqo9EvUmBnA=; b=gacWz1DebJCOVQ9+qj6ZNQ+czQmMgtn+Jr08BBYau9em1KCK9OWMsjhE9I99+zZp6DTKcUeBrPjtB+vIXNBs8wrqI81H6AGulkwBgYbd8wj6qFyTJclKmAxlOM+s4Y0C; Received: from [83.154.192.247] (port=58385 helo=localhost.localdomain) by box539.bluehost.com with esmtpsa (SSLv3:RC4-SHA:128) (Exim 4.80) (envelope-from ) id 1TyV68-0008RH-8G; Thu, 24 Jan 2013 15:16:40 -0700 Date: Thu, 24 Jan 2013 22:16:36 +0000 From: Xyne To: glarkin@FreeBSD.org Subject: Re: svn-export Re: svn bdb checkout? Message-ID: <20130124221636.307dca09@archlinux.ca> In-Reply-To: <51004B62.5090305@FreeBSD.org> References: <20130116185832.GB8524@external.screwed.box> <50F6FD37.5060309@gmail.com> <20130116193534.GC8524@external.screwed.box> <50F704CE.3010904@gmail.com> <20130116200754.GD8524@external.screwed.box> <50F70C60.4000108@FreeBSD.org> <20130116205533.GE8524@external.screwed.box> <20130117045431.GB5392@external.screwed.box> <20130119052245.004da49b@archlinux.ca> <51004B62.5090305@FreeBSD.org> Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit X-Identified-User: {4243:box539.bluehost.com:archlinu:archlinux.ca} {sentby:smtp auth 83.154.192.247 authed with xyne@archlinux.ca} Cc: Peter Vereshagin , freebsd-questions@freebsd.org X-BeenThere: freebsd-questions@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: User questions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 24 Jan 2013 22:17:08 -0000 Greg Larkin wrote: >Hi Xyne, > >Thanks for turning that around so quickly, and I am doing some testing >here with the idea to incorporate svn-export into the FreeBSD ports tree. > >I've run into a couple of problems that I hope you can take a look at it: > >- - Changesets containing directory or file deletions cause the script >to exit. Here is an example where I fetched the FreeBSD ports tree at >a particular revision, then attempted to update to the latest revision: > ># python3 svn-export --revision-file foo2.dat >http://svn.freebsd.org/head/ports-mgmt ports-mgmt >Determining current revision. >Current revision is 310894. >Determining changes [310000:310894]. >16 new/modified files, 5 deletions >Traceback (most recent call last): > File "svn-export", line 407, in > svn.main() > File "svn-export", line 380, in main > self.remove_old_files(deleted) > File "svn-export", line 302, in remove_old_files > os.unlink(path) >PermissionError: [Errno 1] Operation not permitted: 'ports-mgmt/pkg/files' > >- - I can't get the --to-script option to work if there are any >file/directory deletions in the changeset. It looks like the actual >deletion operations are attempted (like above) even when the >- --to-script option is selected. > >Let me know if you need any other information. > >Thank you, >Greg Hi, I think I have fixed both errors in svn-export-2013.1.24, along with another directory-related error that I discovered while debugging (attempts to cat new directories in incremental exports instead of recursing them). Please try again and let me know if it works. If not, please post steps to reproduce the error with a publicly accessible repo. I was unable to access the ports-mgmt repos in your example. Incidentally, if anyone is looking at the code for svn-export, feel free to suggest a better way to incrementally export new subdirectories (see the "get_new_files()" method). Incidentally, my release scripts do not leave old source archives on the server for very long after a new release and I tend to update often when I can. If you need me to increase the shelf life of old archives to prevent 404's, let me know (give me a reasonable interval and I will update my scripts). In the future I may switch to posting my private Git repos, but I tend to rewrite history and I know that really irks people. Regards, Xyne