[py-dev] svn st --xml support for py.path - progress
Hi! Yesterday I had some time to spare so decided to work on using the XML output of svn st rather than the text to get py.path.svnwc.status() reports. After some refactoring, adding some tests and battling the test code a bit, I ended up with something that at least satisfies the tests - they all work with the new code, using the old code as fallback if the --xml switch gets refused. I did this on a branch, as at first it seemed like I had to do a lot of refactoring of the tests (which I ended up mostly rolling back). The URL of this branch is: https://codespeak.net/svn/py/branch/guido-svnwc-xml-status Unfortunately I didn't find the time to test on any platform other than Linux, using SVN v. 1.3. Therefore I think the code, in its current status, shouldn't be merged into the next release branch, or at least not without more testing (this also because I have the feeling a lot of edge cases aren't covered in the tests). However, what is there should be feature-complete... If people feel like testing, I'd greatly appreciate it... If not, I'll do it the first opportunity I have. I think the most important questions now are if it works on Windows, and on SVN versions besides 1.3. If that's done I think it can be merged into trunk and release branch. Cheers, Guido
Hi Guido, On Wed, Jul 30, 2008 at 12:15 +0200, Guido Wesdorp wrote:
Yesterday I had some time to spare so decided to work on using the XML output of svn st rather than the text to get py.path.svnwc.status() reports. After some refactoring, adding some tests and battling the test code a bit, I ended up with something that at least satisfies the tests - they all work with the new code, using the old code as fallback if the --xml switch gets refused.
I did this on a branch, as at first it seemed like I had to do a lot of refactoring of the tests (which I ended up mostly rolling back). The URL of this branch is:
https://codespeak.net/svn/py/branch/guido-svnwc-xml-status
Unfortunately I didn't find the time to test on any platform other than Linux, using SVN v. 1.3. Therefore I think the code, in its current status, shouldn't be merged into the next release branch, or at least not without more testing (this also because I have the feeling a lot of edge cases aren't covered in the tests). However, what is there should be feature-complete...
first feedback (i am not much working currently, am ill/feverish): tests pass for me on Win XP with svn 1.4.4. They take 38 seconds instead of 24 on dist, though. cheers, holger
holger krekel wrote:
first feedback (i am not much working currently, am ill/feverish): tests pass for me on Win XP with svn 1.4.4. They take 38 seconds instead of 24 on dist, though.
That's rather strange, as I (unexpectedly) didn't touch the test code much... But I'll investigate. Cheers, Guido
Guido Wesdorp wrote:
Unfortunately I didn't find the time to test on any platform other than Linux, using SVN v. 1.3. The tests seem to run successfully on:
Linux with SVN 1.3 and 1.4 Mac OS-X with SVN 1.4 Windows XP with SVN 1.4 Also tested SVN 1.5 on Windows XP, which fails, but that also happens with trunk... The only thing I'm not sure how to handle, and which is currently not supported, is the 'kindmismatch' attribute name. There doesn't seem to be a test for this, and I'm not even sure how to produce a report with such an attribute... Apart from that, I think the branch can be merged. (Note that I left in the old code for when the --xml switch fails, this should be removed when 1.2 support is dropped.) Cheers, Guido
Hi Guido, On Thu, Aug 07, 2008 at 22:39 +0200, Guido Wesdorp wrote:
Guido Wesdorp wrote:
Unfortunately I didn't find the time to test on any platform other than Linux, using SVN v. 1.3. The tests seem to run successfully on:
Linux with SVN 1.3 and 1.4 Mac OS-X with SVN 1.4 Windows XP with SVN 1.4
same here, good.
Also tested SVN 1.5 on Windows XP, which fails, but that also happens with trunk...
could you attach a textual log of the failures?
The only thing I'm not sure how to handle, and which is currently not supported, is the 'kindmismatch' attribute name. There doesn't seem to be a test for this, and I'm not even sure how to produce a report with such an attribute... Apart from that, I think the branch can be merged. (Note that I left in the old code for when the --xml switch fails, this should be removed when 1.2 support is dropped.)
did you get to check the degraded test speed? cheers, holger
holger krekel wrote:
Also tested SVN 1.5 on Windows XP, which fails, but that also happens with trunk...
could you attach a textual log of the failures?
Hrmph, not easily, but I'll do my best (nice to work on a platform where e.g. copy/paste from a console doesn't work)...
did you get to check the degraded test speed?
Ah, right, did that just now... I fear the problem is that SVN interaction is just slow, there's a test (test_status_conflict) that takes about 7 seconds to run on my machine, while I don't think it does anything unexpected... It just creates a second wc, checks out the repo, does some writes and commits and checks for conflicts, which I guess is what it _should_ do. I already changed it so that it doesn't build its own repo anymore, but still it takes a _long_ time to run - i fear the problem is just SVN. :( Cheers, Guido
Hi Guido! On Fri, Aug 08, 2008 at 09:21 +0200, Guido Wesdorp wrote:
holger krekel wrote:
Also tested SVN 1.5 on Windows XP, which fails, but that also happens with trunk...
could you attach a textual log of the failures?
Hrmph, not easily, but I'll do my best (nice to work on a platform where e.g. copy/paste from a console doesn't work)...
did you get to check the degraded test speed?
Ah, right, did that just now... I fear the problem is that SVN interaction is just slow, there's a test (test_status_conflict) that takes about 7 seconds to run on my machine, while I don't think it does anything unexpected... It just creates a second wc, checks out the repo, does some writes and commits and checks for conflicts, which I guess is what it _should_ do. I already changed it so that it doesn't build its own repo anymore, but still it takes a _long_ time to run - i fear the problem is just SVN. :(
i guess any test that takes more than two seconds should be categorized as slow and only run when --runslowtests is enabled. Could you do this and otherwise merge the branch to trunk? best & thanks! holger
participants (2)
-
Guido Wesdorp -
holger krekel