python在windows调用svn-pysvn的实现

作者:刘文钊1 时间:2022-03-15 05:13:48 

 作为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是成功了的。

来源:https://blog.csdn.net/biqidaoer/article/details/129100291

标签:python,调用,svn-pysvn
0
投稿

猜你喜欢

  • jQuery选择器用法实例详解

    2024-04-09 19:48:41
  • python安装sklearn模块的方法详解

    2023-08-01 17:23:48
  • 解决pycharm安装第三方库失败的问题

    2023-07-13 19:32:12
  • MySQL数据库优化经验详谈(服务器普通配置)第1/3页

    2024-01-27 23:30:51
  • MySQL 数据库 source 命令详解及实例

    2024-01-15 10:50:58
  • 一文详解Python中itertools模块的使用方法

    2022-11-11 06:12:50
  • python机器学习库常用汇总

    2022-05-17 11:55:20
  • asp从Excel中筛选符合条件的记录保存至新的Excel中

    2007-09-06 19:20:00
  • 用Python写冒泡排序代码

    2022-09-14 23:55:11
  • 对比国内门户网站对Flash激活限制的处理

    2007-08-23 11:29:00
  • 利用Tensorflow的队列多线程读取数据方式

    2021-12-24 17:32:30
  • keras在构建LSTM模型时对变长序列的处理操作

    2021-12-06 19:17:31
  • Go之interface的具体使用

    2024-02-08 18:58:41
  • Python中的__init__作用是什么

    2022-05-28 00:27:02
  • MySQL 请选择合适的列

    2024-01-23 05:33:31
  • Python模拟脉冲星伪信号频率实例代码

    2023-02-12 06:01:08
  • scrollWidth,clientWidth,offsetWidth的区别

    2024-04-22 22:29:00
  • pycharm开发一个简单界面和通用mvc模板(操作方法图解)

    2022-10-09 06:28:39
  • 简单实例解释Oracle分页查询

    2023-07-16 00:54:03
  • Python浮点型(float)运算结果不正确的解决方案

    2023-10-04 16:57:44
  • asp之家 网络编程 m.aspxhome.com