svn-export Re: svn bdb checkout?
Xyne
xyne at archlinux.ca
Fri Jan 25 18:53:47 UTC 2013
Greg Larkin wrote:
># python3 svn-export -r 310000
>http://svn.freebsd.org/ports/head/ports-mgmt ports-mgmt
>Exporting new repository.
>Exported revision 310000
># python3 svn-export --revision-file rev.dat
>http://svn.freebsd.org/ports/head/ports-mgmt ports-mgmt
>Determining current revision.
>Current revision is 310981.
>Determining changes [310000:310981].
>16 new/modified files, 5 deletions
>Traceback (most recent call last):
> File "svn-export", line 459, in <module>
> svn.main()
> File "svn-export", line 432, in main
> self.remove_old_files(deleted)
> File "svn-export", line 310, in remove_old_files
> os.unlink(path)
>PermissionError: [Errno 1] Operation not permitted: 'ports-mgmt/pkg/files'
># exit
>
>As far as I can tell, svn-export attempts to remove a directory before
>the file contained within that directory. It seems like
>PermissionError isn't the best error code for Python to throw in that
>case, since it appears to mask the root problem.
On Arch Linux, Python raises the expected "IsADirectoryError" exception. Perhaps
"PermissionError" is due to a bug in Python 3 on FreeBSD. It would not be the
first exception bug that I have encountered (e.g. os.makedirs(...,
exist_ok=True) raises "FileExists" when permissions differ on existing
directories... very confusing the first time it shows up).
Regardless, svn-export now tries to remove a directory in both cases. Please
updated to version 2013.1.25 and let me know if it works on FreeBSD.
>> 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).
>
>I'll take a look at that soon to see if there are any possible
>optimizations.
Ok, thanks.
>Once we create a port for svn-export, we typically point to the
>original download site in the port Makefile. It's a good idea for the
>port maintainer to find a mirror site and include that too, but if
>not, all distro files are eventually mirrored to the FreeBSD cluster.
>
>Ideally, the source distros remain in place forever or at least until
>the FreeBSD port is updated to the latest version, but if that's not
>possible, I can mirror the files too.
I have changed the time-to-live to 6 months for old archives.
Regards,
Xyne
More information about the freebsd-questions
mailing list