Best way to do subversion stuff

Grant Edwards grant.b.edwards at gmail.com
Thu Apr 28 14:36:37 EDT 2016


I'd like to write some small command-line utilities to do some tasks
in subversion:

 * Do a commit that includes all modified externals.

 * Do a status that includes status of all externals.

 * Do a log that combines logs of . and all externals.

There appear to be three options:

 1) pysvn  <http://pysvn.tigris.org/>

   This seems to be the canonical Python API, but is a little out of
   date (I'd have to downgrade subversion from 1.9.3 to 1.9.1).

 2) PySvn  <https://github.com/dsoprea/PySvn>

   Doesn't do commit or status operations and doesn't handle
   externals at all. AFIACT it's running the the command-line
   /usr/bin/svn with various options.

   Nice job picking a name that's not going to get mixed up with
   pysvn. ;)

 3) os.subproces + /usr/bin/svn 

   This is more or less re-inventing 2) The xml output option makes
   this approach fairly easy. It might be faster to write something
   special-purpose from scratch than to figure out the internals of
   PySvn and modify it to add the operations/options I want.

Any recommendations?

-- 
Grant Edwards               grant.b.edwards        Yow! Finally, Zippy
                                  at               drives his 1958 RAMBLER
                              gmail.com            METROPOLITAN into the
                                                   faculty dining room.




More information about the Python-list mailing list