pysvn安装及常用方法

centos 6.5,svn 1.6.11,pysvn 1.7.6,文章内容来自官网文档:http://pysvn.tigris.org/docs/pysvn_prog_guide.html

直接用yum安装即可

yum install pysvn -y

创建一个client

import pysvn
def get_login(realm, username, may_save):
    retcode = True    #True,如果需要验证;否则用False
    username = ‘myuser‘    #用户名
    password = ‘mypwd‘    #密码
    save = False    #True,如果想之后都不用验证;否则用False
    return retcode, username, password, save
client = pysvn.Client()
client.callback_get_login = get_login

用这个client进行下面的各种操作

svnurl = ‘svn://......‘    #svn的路径
outpath = ‘./test‘    #检出到的目标路径
client.checkout(svnurl, outpath)    #检出最新版本
rv = pysvn.Revision(pysvn.opt_revision_kind.number, 1111))
client.checkout(svnurl, outpath, revision=rv)    #检出指定版本#Revision类型可以通过rv.number获取对应的数字
entry = client.info(‘./test‘)
print entry.url    #拷贝对应的svn url
print entry.commit_revision    #最新提交的revision
print entry.commit_author    #最新提交的用户
import time
t = time.localtime(entry.commit_time)    #最新提交的时间
print time.strftime(‘%Y-%m-%d %H:%M:%S‘, t)
entries_list = client.ls(‘./other‘)
for en in entries_list:
    print en.name,en.size,en.time,en.last_author    #文件属性
    print en.created_rev    #文件的revision
    print en.kind    #文件类型,file,dir,none,unknown 可以通过str(kind)==‘file‘判断
client.update(‘./test‘)    #更新
changes = client.status(‘./test‘)  #检测状态,获取各种新增、删除、修改、冲突、未版本化的状态
for f in changes:
    if f.text_status == pysvn.wc_status_kind.added:
        print f.path,‘A‘
    elif f.text_status == pysvn.wc_status_kind.deleted:
        print f.path,‘D‘
    elif f.text_status == pysvn.wc_status_kind.modified:
        print f.path,‘M‘
    elif f.text_status == pysvn.wc_status_kind.conflicted:
        print f.path,‘C‘
    elif f.text_status == pysvn.wc_status_kind.unversioned:
        print f.path,‘U‘
tmppath = ‘/tmp‘    #对比需要使用临时文件,这个是临时文件的位置,会自动清除
print client.diff(tmppath, ‘./svntest‘)    #效果与svn diff一致
client.add(‘./svntest/add.txt‘)    #添加一个文件到版本控制
client.revert(‘./svntest/modify.txt‘)    #还原文件的修改
client.move(‘./svntest/move1.txt‘, ‘./svntest/move2.txt‘)    #重命名或移动
client.remove(‘./svntest/delete.txt‘)    #删除文件或目录
client.mkdir(‘./svntest/testdir‘, ‘提交message‘) #新建一个文件夹,提交message这里没用,当第一个参数是svnurl时直接提交才有用

client.checkin([‘./svntest/delete.txt‘], ‘提交message‘)    #提交一个或多个修改
entries_list = client.log(‘./other‘, discover_changed_paths=True)
for en in entries_list:
    print en.author,en.date,en.message,en.revision    #版本信息
    for e in en.changed_paths:
        print ‘\t‘,e.path,e.action    #版本具体修改的信息

over

时间: 2024-08-05 02:35:10

pysvn安装及常用方法的相关文章

pysvn安装

系统环境 # cat /etc/redhat-release  CentOS release 6.6 (Final) # uname -m x86_64 svn 版本 # svnversion --version svnversion,版本 1.8.16 (r1740329) python版本 # python -V Python 2.7.8 安装 # cd /data # wget http://tigris.org/files/documents/1233/49509/pysvn-1.9.0

SD卡路径问题以及如何获取SDCard 内存

昨天在研究拍照后突破的存储路径的问题,开始存储路径写死为:    private String folder = "/sdcard/DCIM/Camera/"(SD卡上拍照程序的图片存储路径); 后来发现这样写虽然一般不会出错,但不是很好,因为不同相机,可能路径会出问题.较好的方法是通过Environment 来获取路径,最后给出一个例子,教你怎样获取SDCard 的内存,显示出来告诉用户.讲述的内容如下:     0.获取sd卡路径.      1.讲述 Environment 类.

python常用模块(模块和包的解释,time模块,sys模块,random模块,os模块,json和pickle序列化模块)

1.1模块 什么是模块: 在计算机程序的开发过程中,随着程序代码越写越多,在一个文件里代码就会越来越长,越来越不容易维护. 为了编写可维护的代码,我们把很多函数分组,分别放到不同的文件里,这样,每个文件包含的代码就相对较少,在python中.一个.py文件就称为一个模块(Module) 使用模块的好处: 提高了代码的可维护性. 其次,编写代码不必从零开始.当一个模块编写完毕,就可以被其他地方引用.我们编写程序的时候也经常引用其他模块,包括python的内置的模块和第三方模块. 包(package

【转】安装计算机系统的几种常用方法

原文:http://jingyan.baidu.com/article/49ad8bce6a5b295834d8fa90.html 任务:装系统有几种方法.标题更改为:安装计算机系统的几种常用方法.安装计算机系统的方法很多,下面介绍几种安装计算机系统的常用方法,供大家参考. 工具/原料 硬件:计算机 方法/步骤 1 安装计算机系统的几种常用方法 第一种方法:制作U盘启动盘安装系统. 这种方法适合绝大多数的计算机,但也有少数计算机的主板没有USB启动设置,这类型的计算机不能用U盘安装系统的方法来安

为python3安装pysvn模块

对于pysvn之前一直都是通过apt-get install python-svn来安装的,系统默认的python版本为2.7,使用一直正常.今天由于项目需要,想使用python3来做新的项目开发,就像给python3装上pysvn模块.把源码下载下来,解压后运行 easy_install3 ./ 屡不成功,不是找不到头文件就是找不到共享库. 根据提示把subversion重新安装了新版本,源码的页面不知什么原因一片空白,给apt加了一个有新版本的源,安装了1.7的版本.apr,apr-util

python安装模块的最常用方法

前提:首先确定已经在你的电脑上安装了python,然后配置了python的环境变量.例如:我要安装的模块是xlrd 1.把要安装的包copy到python的安装目录,例如我的C:\Python27,或者在安装目录下新建一个文件夹(packages),方便存放导入的模块.注:我的copy到C:\Python27\packages 2.运行cmd,cd 到你的安装目录,我的C:\Python27\packages\xlrd-0.9.3,输入python setup.py install,完成 3.打

致不熟悉LINUX服务器操作安装的PHP程序员、PHP工程的一些常用方法 - Ubuntu

作为WEB编程老鸟,本人一直对服务器配置.操作不感兴趣,都有运维搞定,何必我去操心?也许我花1天的时间的事情,人家专业的几分钟轻松搞定! 必定每个有理想的程序员发展方向不一样嘛! 程序+前端 程序+运维 程序+UI 程序+测试 程序+管理 程序+销售 程序+实施 程序+售后 ... 但是身在职场,总有那么多无奈,需要1人顶数人使用,我只想说几句: 阿里云什么配置没有?有故障一个电话搞定!人家是专业的! vps.国外空间.linode,cpanel.24*7客服各种服务搞定!人家是专业的! 运维是

Linux软件安装常用方法

1.软件安装卸载,分几种情况: A:RPM包,这种软件包就像windows的EXE安装文件一样,各种文件已经编译好,并打了包,哪个文件该放到哪个文件夹,都指定好了,安装非常方便,在图形界面里你只需要双击就能自动安装. ==如何卸载:1.打开一个SHELL终端2.因为Linux下的软件名都包括版本号,所以卸载前最好先确定这个软件的完整名称.查找RPM包软件:rpm -qa ×××*注意:×××指软件名称开头的几个字母,不要求写全,但别错,*就是通配符号“*”,即星号,如你想查找机子里安装的REAL

eclipse安装插件的常用方法

安装插件1.从eclipse安装压缩jar包,如安装svn工具包:eclipse_svn_site-1.10.5.zip(不要解压)2.Help3.Install New Software,如下图,Name随意写,选择插件路径4.select all5.next6.选中"I accept the terms of license...",点击finish,开始安装7.重启Eclipse8.打开window->Preference,在左侧类别区,打开"team"