当前位置: 首页 > news >正文

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

http://www.lryc.cn/news/12550.html

相关文章:

  • office365 word 另存为 pdf 的注意事项和典型设置
  • Spring IoC容器之常见常用注解以及注解编程模型简介
  • 超详细讲解文件函数
  • 【挣值分析】
  • Python3-基础语法
  • 【计算机网络】数据链路层(下)
  • 系统分析师考试大纲
  • 2023上半年软考报名时间已定,你准备好了吗?
  • DPDK — Userspace PMD 源码分析
  • javase基础学习(终)
  • Scala
  • 《数据分析方法论和业务实战》读书笔记
  • 华为OD机试 - 射击比赛(Python)
  • uniapp自定义验证码输入框,隐藏光标
  • 基于SSM框架的生活论坛系统的设计与实现
  • spring注解使用中常见的概念性问题
  • Module理解及使用
  • ngix 常用配置之 location 匹配规则
  • chatGPT与人形机器人,高泽龙接受中国经营报采访谈二者发展
  • 进程同步——读者-写者问题
  • Android自动化配置
  • Java程序怎么运行?final、static用法小范围类型转大范围数据类型可以吗?
  • 【数据管理】谈谈哈希原理和散列表
  • 浙江工业大学关于2023年MBA考试初试成绩查询及复试阶段说明
  • 08:进阶篇 - CTK 插件元数据
  • 数据结构与算法之数组寻找峰值分而治之
  • Metasploit 使用篇
  • Java岗面试题--Java并发(日积月累,每日三题)
  • Prometheus监控案例之blackbox-exporter
  • Makefile基础使用和实战详解