Seite 1 von 1

python + svn

Verfasst: Freitag 9. November 2007, 12:32
von SEAr
Hallihallo Python-Gemeinde!

Ich habe folgendes Problemchen ... seit einigen Tagen versuche ich mit dem modul "svn" ein svn-update meiner working-copy durchzuführen.
Aber das will einfach nicht ...

Code: Alles auswählen

import os, svn.client, svn.core, datetime, urllib

sys_path = "/home/sear/test"
revision = svn.core.svn_opt_revision_t()
revision.kind = svn.core.svn_opt_revision_head
ctx = svn.client.svn_client_ctx_t()
revnum = svn.client.svn_client_update(sys_path, revision, True, ctx)
Als Ausgabe erhalte ich dann:

Code: Alles auswählen

Segmentation fault (core dumped)
Hat jemand eine Idee? Ist das vielleicht sogar ein Fehler des svn Moduls?

Viele Grüße!

Verfasst: Freitag 9. November 2007, 13:40
von keppla
Jup, das ist ein fehler, den du mit python eigentlich nicht verursachen können dürftest (zumindest ohne tricks nicht).
Probiere mal, die module neu zu installieren.

Verfasst: Freitag 9. November 2007, 15:29
von birkenfeld
keppla hat geschrieben:Jup, das ist ein fehler, den du mit python eigentlich nicht verursachen können dürftest (zumindest ohne tricks nicht).
Mit schlecht geschriebenen C-Extensions geht das sehr schnell auch ohne Tricks. Wenn ein Binding z.B. nur die entsprechenden C-Funktionen wrappt, segfaultet das Python-Programm an denselben Stellen, an denen ein entsprechendes C-Programm segfaulten würde.

Verfasst: Freitag 9. November 2007, 16:04
von keppla
birkenfeld hat geschrieben:Mit schlecht geschriebenen C-Extensions geht das sehr schnell auch ohne Tricks.
da macht man es aber nicht "selber", sondern die Programmierer der Module, darauf wollte ich hinaus.
Ich halte es eigentlich für einen guten Ansatz, dass, wenn man nicht selber C-Extensions schreibt, man, wenn man auf einen segfault trifft, die benötigten Module kritisch beäugt und ggf ersetzt.

Verfasst: Freitag 9. November 2007, 16:12
von birkenfeld
keppla hat geschrieben:
birkenfeld hat geschrieben:Mit schlecht geschriebenen C-Extensions geht das sehr schnell auch ohne Tricks.
da macht man es aber nicht "selber", sondern die Programmierer der Module, darauf wollte ich hinaus.
Ich halte es eigentlich für einen guten Ansatz, dass, wenn man nicht selber C-Extensions schreibt, man, wenn man auf einen segfault trifft, die benötigten Module kritisch beäugt und ggf ersetzt.
Das ist unbestritten.

Verfasst: Samstag 10. November 2007, 10:06
von SEAr
OK, Danke für die Hinweise :-)

Ich bin mir noch nicht ganz sicher wie ich das Problem behebe.
Zur Zeit sehe ich 2 Möglichkeiten:
1. aktuellere Python-Version organisieren
2. PySVN verwenden

Natürlich würde mir Punkt 1 am besten gefallen, da anscheinend das SVN Modul zum Standard von Python gehört.
Aber ich habe festgestellt, dass das PySVN-Modul weiter verbreitet ist und dazu bessere Dokumentationen verfügbar sind.

Was würdet ihr mir empfehlen?