PySvn
PySvn copied to clipboard
svn status can now include changelists' items
Idea products often create SVN changelists while performing basic file operations. Your SVN status only parses the files not included in any changelist. This is 'svn status --xml' output for such case:
<?xml version='1.0' encoding='utf8'?>
<status>
<target path="E:\Source\folder">
<entry path="E:\Source\folder\scripts">
<wc-status item="unversioned" props="none">
</wc-status>
</entry>
<entry path="E:\Source\folder\other_scripts\test6.xml">
<wc-status item="unversioned" props="none">
</wc-status>
</entry>
</target>
<changelist name="my_changelist">
<entry path="E:\Source\folder\miscs\my.py">
<wc-status item="modified" props="none" revision="110">
<commit revision="108">
<author>someone</author>
<date>2019-02-11T19:16:48.900000Z</date>
</commit>
</wc-status>
</entry>
<entry path="E:\Source\folder\miscs\acc.py">
<wc-status item="modified" props="none" revision="110">
<commit revision="107">
<author>not_me</author>
<date>2018-12-18T17:07:58.188000Z</date>
</commit>
</wc-status>
</entry>
</changelist>
</status>
I added an option to include changelist/entry xml blocks in parsing svn status.
Coverage decreased (-28.7%) to 71.268% when pulling 761162e67f7366982918d58f8704166e93f1eae4 on ALERTua:master into 0c222a9a49b25d1fcfbc170ab9bc54288efe7f49 on dsoprea:master.
Coverage decreased (-28.7%) to 71.268% when pulling 761162e67f7366982918d58f8704166e93f1eae4 on ALERTua:master into 0c222a9a49b25d1fcfbc170ab9bc54288efe7f49 on dsoprea:master.
Coverage decreased (-28.7%) to 71.268% when pulling 0475d9ca3f87975956020facd2361294573e39a8 on ALERTua:master into 0c222a9a49b25d1fcfbc170ab9bc54288efe7f49 on dsoprea:master.
Please fix the coverage drop and drop the version bump, squash your changes and make sure those exclamation points dont stay in the commit messages (and capitalized the initial while you're at it), and we can review.
Sorry about the delay. I thought I'd already asked about the coverage drop.
#162 is an alternative implementation: instead of an argument to add changelists, it always gets changelists and adds the changelist to the returned status object. This makes it possible to see which files are in which changelists.