On 07.07.2015 20:51, Tim Graham wrote:
I'm a developer on the Django team and we use Trac as our bug tracker. I'm interested in moving our infrastructure to Python 3, but need Trac to support Python 3 in order to do so. Django supports Python 2 and 3, so I have some experience in maintaining a code base that supports both. I started working on a patch (attached), but as it will be a non-trivial effort, I wanted to get an initial review and ensure this approach is agreeable to the Trac team. I also wanted to ensure that when I finish the patch, someone will be interested in reviewing and committing it relatively quickly so that it doesn't go stale. My strategy is to attempt to run the test suite on Python 3 and fix errors, while ensuring the tests pass on Python 2.7 as a I go. Thanks! Tim

Sounds great. Thanks for helping out.
You are certainly right that this will be non-trivial. I'm sure there's some interest in such a patch, but it will take a lot of work and maybe the right timing. If I remember correctly Trac 1.2 is still supposed to support Python 2.6. Only after that release would Trac 1.3 drop Py2.6 support. To avoid your work going stale you might want to adjust / time your strategy accordingly. Early and continued community involvement & reviews will surely help your chances of success.

You should definitely check this ticket if you haven't already:
http://trac.edgewall.org/ticket/10083

Working with the test suite for both Py2 and 3 is a very good idea I think. (But may not be sufficient.)

I see you used the six module. Would that be a new external dependency? (I think Trac has historically used as few dependencies as possible. If that's still a concern, it looks like six.py could be relatively easily "vendored".) Is there any point to using automatic conversion tools like http://python-future.org/automatic_conversion.html?

Some other details I noticed:
0666 (octal) and 0x666 (hex) etc. are not equivalent. Did you mean 0o666 etc.? Your patch contains long lines, which are not allowed in Trac's code. For more information see:
http://trac.edgewall.org/wiki/TracDev/SubmittingPatches
http://trac.edgewall.org/wiki/TracDev/CodingStyle

Peter

--
You received this message because you are subscribed to the Google Groups "Trac 
Development" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to trac-dev+unsubscr...@googlegroups.com.
To post to this group, send email to trac-dev@googlegroups.com.
Visit this group at http://groups.google.com/group/trac-dev.
For more options, visit https://groups.google.com/d/optout.

Reply via email to