Troy Curtis Jr wrote on Mon, 16 Oct 2017 01:00 +0000: > Howdy guys, >
Welcome back! > It has been quite some time since I was last on here, but as I was looking Almost a decade, according to contribulyzer. :-) > through Fedora's Python 3 porting status list [1] I saw the familiar > Subversion project showed as not yet supporting Python 3. So I was > wondering if you are interested in having me take a shot at getting it > working. For a really small effort, I would have just implemented it and > then see if you would take the patch. However, after spending a bit of > time on it this afternoon, I realized it will take a bit more time to get > right. So I wanted to make sure the dev team was interesting in taking in > such a patch before I bothered to finish it out. > Thanks for asking. In general, we'd like to support Python 3. In 1.9 we dropped Python 2.6 support in order to make it easier to add Python 3.x support. > I've looked around a bit, and other than a note about getting the top-level > tests running under Python 3, I haven't seen much mention about > implementing this. I did notice there is a separate pysvn project, which > lists Python 3 support, so I specifically wanted to make sure that the > built-in python bindings are anticipated to be a supported feature going > forward. There hasn't been any suggestion to deprecate swig-py. Moreover, they are our favourite bindings for tools/ scripts, so I don't anticipate them to be deprecated, either. That said, the bindings see few changes nowadays, and we have always had few swig-savvy devs around; so any help would be most welcome. > I also wanted to know of any partial efforts that might have > already been started, or if there were discussions related to the > implementation that my searches did not turn up. There are several separate uses of Python in the source tree. I recall patches to build/, tools/, and subversion/tests/cmdline/ that improve 3.x compatibility, but I don't recall any such changes to the bindings. Note that we have both SWIG bindings at subversion/bindings/swig/python/ and ctypes bindings at subversion/bindings/ctypes-python/. I take it that of all these, you're interested in the swig-py bindings? Or are the build system and test suite also within your scope? You said the patch was going to be a largeish one. How large/invasive are we talking about? (This affects how easy it'd be for us to review/apply it) Cheers, Daniel