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
_______________________________________________
freebsd-questions@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-questions
To unsubscribe, send any mail to "freebsd-questions-unsubscr...@freebsd.org"

Reply via email to