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内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • Python实现发送带有pdf附件的电子邮件

    目录 前言 一.如何使用Python发送电子邮件 二.使用步骤 总结 前言 使用Python发邮件,是个简单的话题,可是如何可以优雅的轻松的群发邮件,并附加PDF附件,是很多小伙伴的日常工作,却也是很多小白需要费力才能解决的问题.为了方便理解和使用,本文对邮件发送进行了类的包装.将连接服务器.生成邮件.发送邮件分开执行.可以解决工作中遇到的绝大部分问题. 话不多说,上代码. 提示:以下是本篇文章正文内容,邮箱配置参数需要自行修改方可使用 一.如何使用Python发送电子邮件 使用Python发送

  • python批量翻译excel表格中的英文

    目录 需求背景 主要设计 分析 具体实现 表格操作 请求百度翻译api 多线程 控制台显示进度 完整源码 需求背景 女朋友的论文需要爬取YouTube视频热评,但爬下来的都是外文. 主要设计 读取一个表格文件,获取需要翻译的文本 使用百度翻译 API 进行翻译,获取翻译结果 将翻译结果保存到原表格中,然后提取需要的列组成一个新的 DataFrame 处理多个表格文件,将它们的翻译结果分别保存 使用线程池加速翻译过程,可以同时翻译多个表格 显示进度条 分析 目标文件为xlsx格式,可以借助pand

  • ChatGPT教你用Python实现BinarySearchTree详解

    目录 前言 ChatGPT 截图 对 ChatGPT 的一些感悟 1.ChatGPT 成为下一代搜索引擎,毋庸置疑 2.上下文关联能力强 3.未来的可能性 前言 至今,ChatGPT 已经火了很多轮,我在第一轮的时候注册了账号,遗憾的是,没有彻头彻尾好好地体验过一次.最近这一次火爆,ChatGPT 确实出圈了,各行各业的人们都在晒,趁着周末,我也小试了一把. 这篇文会介绍我使用 ChatGPT 的过程以及使用时的一些感悟,最后浅谈下我对 ChatGPT 的一些理解,不喜勿喷哈~ 我的问题是:我是

  • python常用时间库time、datetime与时间格式之间的转换教程

    目录 一,python中储存时间的三种格式 1,时间元组(结构体时间) 2,时间戳 3,格式化时间 二.time库 1,time.time() 2,time.localtime([ sec ]) 3,time gmtime([ sec ]) 4,time.strftime(format[, t]) 5,time.strptime(string[, format]) 6,time mktime(t) 7,time.sleep(nums) 8,timeit.Timer.timeit([number]

  • Python创建一个自定义视频播放器的实现

    这个例子使用VLC作为视频播放器,并且使用tkinter创建了一个简单的GUI界面,其中包括一个Canvas用于播放视频,几个按钮用于控制视频播放,以及一个滑动条用于控制音量.你可以根据自己的需求修改GUI界面的布局和功能. 1.安装vlc的64位版本. https://vlc.letterboxdelivery.org/vlc/3.0.18/win64/vlc-3.0.18-win64.exe 2.安装python的vlc模块. pip install vlc 3.编写如下代码,包含了播放,暂

  • python在windows调用svn-pysvn的实现

    作为EBS开发人员,开发工具用的多,部署代码类型多,管理程序麻烦,操作繁琐,一直是我最讨厌的事情.部署一次程序要使用好几个工具,改来改去,上传下载,实在难受. 扣了一下python,打算做一款集成工具,把代码管理.程序部署一步搞下来.中间有几个技术难点需要打通: 1. ERP调用linux的ssh执行shell获得源代码,下载到本机 2. 将源代码结构化存储并放到svn下,上传svn同步版本 3. 调用Jenkins执行部署,将源代码部署到正式环境 4. 该操作步骤做记录留底 现在测试的就是py

  • Python制作Windows系统服务

    最近有个Python程序需要安装并作为Windows系统服务来运行,过程中碰到一些坑,整理了一下. Python服务类 首先Python程序需要调用一些Windows系统API才能作为系统服务,具体内容如下: #!/usr/bin/env python # -*- coding: utf-8 -*- import sys import time import win32api import win32event import win32service import win32serviceuti

  • python在windows下实现ping操作并接收返回信息的方法

    本文实例讲述了python在windows下实现ping操作并接收返回信息的方法.分享给大家供大家参考.具体分析如下: 这段python代码调用windows下的ping命令,通过subprocess在其子进程里面实现,由于windows下的ping和linux下的ping返回的消息不太一样,所以这段python代码要想在linux下运行,需要修改一下正则匹配 复制代码 代码如下: import subprocess   import re p = subprocess.Popen(["ping

  • 利用Python实现Windows定时关机功能

    是最初的几个爬虫,让我认识了Python这个新朋友,虽然才刚认识了几天,但感觉有种莫名的默契感.每当在别的地方找不到思路,总能在Python找到解决的办法.自动关机,在平时下载大文件,以及跑程序的时候能用到的,刚才写了个windows自动关机的小程序,程序过于简单,就当是玩玩吧,当然还有很多可改进的地方.下面正文:  #ui制作: 照旧,笔者由Qt制作完成需要的ui,包括label,label_2,label_3,lable_4,lineEdit,lineEdit_2,pushButton组件.

  • python在windows命令行下输出彩色文字的方法

    本文实例讲述了python在windows命令行下输出彩色文字的方法.分享给大家供大家参考.具体分析如下: 默认情况下python在控制台输出的文字信息都是黑白的,如果能将文字做成彩色的输出,输出效果会更完美,也很酷,不是吗,下面是一段演示代码,这段代码封装了一个color类用来输出带颜色的文字,只要调用该类里面的相关方法就可以了,非常简单. 复制代码 代码如下: #!/usr/bin/env python #encoding: utf-8 import ctypes STD_INPUT_HAN

  • Windows下SVN服务器搭建方法整理(apache)

    本节和大家谈谈Windows下SVN服务器搭建问题,在这里拿出来和大家分享一下,希望对大家有用. 1,软件下载 Windows下SVN服务器搭建,下载Subversion服务器程序.到官方网站的下载二进制安装文件,来到二进制包下载部分,找到WindowsNT,2000,XPand2003部分,然后选择"thisdirectory",这样我们可以看到许多下载的内容,目前可以下载svn-1.4.0-setup.exe.下载Subversion的Windows客户端TortoiseSVN.T

  • python关闭windows进程的方法

    本文实例讲述了python关闭windows进程的方法.分享给大家供大家参考.具体如下: 下面的python代码根据进程的名字调用windows的taskkill命令关闭指定的进程 import os command = 'taskkill /F /IM QQ.exe' #比如这里关闭QQ进程 os.system(command) 希望本文所述对大家的Python程序设计有所帮助.

  • 代码讲解Python对Windows服务进行监控

    我们首先来看下python的全部代码,大家可以直接复制后测试: #-*- encoding: utf-8 -*- import logging import wmi import os import time from ConfigParser import ConfigParser import smtplib from email.mime.text import MIMEText import socket from datetime import datetime import re i

  • Python使用Windows API创建窗口示例【基于win32gui模块】

    本文实例讲述了Python使用Windows API创建窗口.分享给大家供大家参考,具体如下: 一.代码 # -*- coding:utf-8 -*- #! python3 import win32gui from win32con import * def WndProc(hwnd,msg,wParam,lParam): if msg == WM_PAINT: hdc,ps = win32gui.BeginPaint(hwnd) rect = win32gui.GetClientRect(hw

  • Python编写Windows Service服务程序

    如果你想用Python开发Windows程序,并让其开机启动等,就必须写成windows的服务程序Windows Service,用Python来做这个事情必须要借助第三方模块pywin32,自己去下载然后安装(注意下载符合自己OS的版本). 1.示例分析 1).幸运的是这里有一个简单的服务模版,足以满足大多数人的要求: #encoding=utf-8 #ZPF import win32serviceutil import win32service import win32event class

随机推荐