python在windows调用svn-pysvn的实现

 更新时间:2026年02月07日 09:25:49   作者:刘文钊1  
本文主要介绍了python在windows调用svn-pysvn的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

 作为EBS开发人员,开发工具用的多,部署代码类型多,管理程序麻烦,操作繁琐,一直是我最讨厌的事情。部署一次程序要使用好几个工具,改来改去,上传下载,实在难受。

扣了一下python,打算做一款集成工具,把代码管理、程序部署一步搞下来。中间有几个技术难点需要打通:

1. ERP调用linux的ssh执行shell获得源代码,下载到本机

2. 将源代码结构化存储并放到svn下,上传svn同步版本

3. 调用Jenkins执行部署,将源代码部署到正式环境

4. 该操作步骤做记录留底

现在测试的就是python调用svn,上传源代码。

百度上面好多文章,大部分说的都是ubuntu或者centerOS的,或者就是调用os执行cmd,我是一直没有测通。又发现又说pysvn这个类是可以完美调用svn的,但是使用pycharm直接调入pysvn这个类,版本知识0.1.0,而且里面什么都没有,和文章里说的完全不是一个东西。不得已问了下google,还真的是使用pysvn这个类,但是是.exe的安装文件,一番折腾,缺失可行,做以下记录。

参考文档:Pysvn 程序员指南

pysvn的文档:PySVN - The pythonic interface to Subversion

上面那个参考文档内容基本就是pysvn官网里面“SVN Programmer's Guide”例子的中文翻译,说的很详细的例子。

嗯,这个网址国内也可以打开,但是我用百度是没搜到的。

1. 下载和安装

PySVN - The pythonic interface to Subversion

上面地址里,有download,点进去对应不同python和操作系统的版本,下载下来安装就好。

我是python3.6,windows10,下载的exe文件,直接双击安装就好。

默认是安装到python的“\Lib\site-packages\pysvn”下面,这个文件夹下面有“pysvn_prog_guide.html”里面有比较全的例子可以参考使用

安装的时候有个小插曲,我原来的pycharm里面有一个pysvn,这个pysvn安装完成后,pycharm里面的例子还是不能用。

我就先把pycharm的pysvn删掉了,直接在setting->Project Interpreter里面找到它,然后点右边的减号就好

然后,我在“\Lib\site-packages\pysvn”点击uninstall(好像是这个名字),把pysvn删掉,再重新安装一次,重启pycharm,例子就可用了

我的例子(add一个文件夹,也可以是文件到svn,并且commit)                

import pysvn
# write a file foo.txt
# f = file('./examples/pysvn/foo.txt', 'w')
# f.write('Sample versioned file via pithon\n')
# f.close()
client = pysvn.Client()
#schedule the addition;
#  the working copy will now track the file as a scheduled change
client.add(r'D:\dev_home\EBS\EBS_SVN1\DEV_LIST\Migration\XXCUS\BRAYDEN20230213001xx1')
#committing the change actually adds the file to the repository
client.checkin([r'D:\dev_home\EBS\EBS_SVN1\DEV_LIST\Migration\XXCUS\BRAYDEN20230213001xx1'], 'Adding a sample file')

查看svn的log是成功了的。

到此这篇关于python在windows调用svn-pysvn的文章就介绍到这了,更多相关python在windows调用svn-pysvn内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Python中高级特性dataclass的使用详解

    Python中高级特性dataclass的使用详解

    在 Python 编程中,dataclass 是一个非常实用的装饰器,本文将带你深入理解 dataclass 中属性访问的机制,并通过实际代码示例展示如何优雅地实现自定义 getter 和 setter,快跟随小编一起学习起来吧
    2025-11-11
  • Python自动化实现ODT到DOCX的批量转换

    Python自动化实现ODT到DOCX的批量转换

    在当今数字办公环境中,文档格式的兼容性问题常常令人头疼,本文将深入探讨如何利用Spire.Doc for Python库实现ODT到DOCX的批量转换,感兴趣的小伙伴可以了解下
    2026-02-02
  • Python如何执行系统命令

    Python如何执行系统命令

    这篇文章主要介绍了Python如何执行系统命令,帮助大家更好的利用python操作系统,感兴趣的朋友可以了解下
    2020-09-09
  • python 字符串转列表 list 出现\ufeff的解决方法

    python 字符串转列表 list 出现\ufeff的解决方法

    下面小编就为大家带来一篇python 字符串转列表 list 出现\ufeff的解决方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-06-06
  • python 删除指定时间间隔之前的文件实例

    python 删除指定时间间隔之前的文件实例

    下面小编就为大家分享一篇python 删除指定时间间隔之前的文件实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-04-04
  • Pandas对多列使用条件判断新增列方式

    Pandas对多列使用条件判断新增列方式

    用户通过借鉴贴吧提问和回复,利用Pandas的df.apply结合lambda函数,根据子公司(A/B/C)及销售额≥1000的条件,新增"子公司规模"列,实现数据筛选与标记功能
    2025-09-09
  • Python for循环及基础用法详解

    Python for循环及基础用法详解

    这篇文章为大家介绍python for 循环,它常用于遍历字符串、列表、元组、字典、集合等序列类型,逐个获取序列中的各个元素
    2019-11-11
  • Python报错KeyError: ‘missing_key‘的有效解决方法

    Python报错KeyError: ‘missing_key‘的有效解决方法

    在 Python 编程中,报错信息常常让开发者感到困扰,其中,“KeyError: ‘missing_key’”是一个较为常见的报错,它可能在各种数据处理和字典操作的场景中出现,本文将深入探讨这个报错的原因,并提供多种有效的解决方法,帮助开发者快速解决此类问题
    2024-10-10
  • python 下载m3u8视频的示例代码

    python 下载m3u8视频的示例代码

    这篇文章主要介绍了python 下载m3u8视频的示例代码,帮助大家更好的理解和使用python,感兴趣的朋友可以了解下
    2020-11-11
  • Python代码集pathlib应用之获取指定目录下的所有文件

    Python代码集pathlib应用之获取指定目录下的所有文件

    这篇文章主要介绍了Python代码集pathlib应用之获取指定目录下的所有文件,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-03-03

最新评论