- 浏览: 2538758 次
- 性别:
- 来自: 深圳
文章分类
- 全部博客 (676)
- linux运维 (157)
- php (65)
- mysql (78)
- nginx (27)
- apche (18)
- framework (6)
- windows (9)
- IDE工具 (23)
- struts2 (7)
- java (13)
- 移动互联网 (14)
- memcache redis (23)
- shell基础/命令/语法 (37)
- shell (50)
- puppet (4)
- C (11)
- python (9)
- 产品经理 (27)
- Sphinx (4)
- svn (12)
- 设计构建 (12)
- 项目管理 (44)
- SEO (1)
- 网站架构 (26)
- 审时度势 (42)
- 网络 (14)
- 激发事业[书&视频] (81)
- 其它 (12)
- 摄影 (8)
- android (21)
最新评论
-
zhongmin2012:
原文的书在哪里
数据库水平切分的实现原理解析---分库,分表,主从,集群,负载均衡器 -
renzhengzhi:
你好,请问个问题,从master同步数据到slave的时候,s ...
数据库水平切分的实现原理解析---分库,分表,主从,集群,负载均衡器 -
ibc789:
你好,看了你的文章,我想请教个问题, 我在用 redis的时候 ...
redis 的两种持久化方式及原理 -
iijjll:
写得非常好
数据库水平切分的实现原理解析---分库,分表,主从,集群,负载均衡器 -
iijjll:
写得非常好
数据库水平切分的实现原理解析---分库,分表,主从,集群,负载均衡器
======================= 1 基于red hat6.0上自带的python2.6.5安装pysvn1.7.6
查看os版本方法
# lsb_release -a
查看python版本方法
# python
Python 2.6.5 (r265:79063, Jul 14 2010, 11:36:05)
# whereis python
python: /usr/bin/python /usr/bin/python2.6-config /usr/bin/python2.6 /usr/lib/python2.6 /usr/lib64/python2.6 /usr/include/python2.6 /usr/share/man/man1/python.1.gz
pysvn官网:
http://pysvn.tigris.org/project_downloads.html
======================= 2 安装pysvn前的准备
-------------2.1 挂载nfs
其实和以前的centos5没啥区别,只不过centos的安装是选mini的还真够mini的,啥都要自己yum。这不连nfs都默认不装了。
mount -t nfs 192.168.1.1:/nfs1 /mnt/nfs
直接提示
mount: wrong fs type, bad option, bad superblock on 192.168.1.1:/nfs1,
missing codepage or helper program, or other error
(for several filesystems (e.g. nfs, cifs) you might
need a /sbin/mount.<type> helper program)
In some cases useful info is found in syslog - try
dmesg | tail or so
需要安装下相关的软件包
yum -y install nfs-utils nfs-utils-lib
这时再尝试依然会出错
mount.nfs: rpc.statd is not running but is required for remote locking.
mount.nfs: Either use '-o nolock' to keep locks local, or start statd.
mount.nfs: an incorrect mount option was specified
原因是rpcbind没启动
chkconfig –list看见是默认启动的,应该是刚装后没启动,手工启动下。
/etc/rc.d/init.d/rpcbind start
然后再
mount -t nfs 192.168.1.1:/nfs1 /mnt/nfs 就正常了
-------------2.2 挂载nfs
#service portmap start
#mount 192.168.1.216:/mnt /mnt
#mount -l
# ll /mnt/
#vim /etc/yum.repos.d/local.repo
[Server]
name=Server Directory
baseurl=file:///mnt/rhel6_64/Server
enabled=1
gpgcheck=0
-------------2.2 准备安装pysvn其它包
#yum search apr
#yum install apr-devel.x86_64
#yum search apr-util
#yum install apr-util-devel.x86_64
清除自带的subversion
#yum remove subversion*
rpm下载安装subversion subversion-devel
#cd /usr/local/shell/automation/
#rpm -ivh subversion-1.6.11-2.el6_1.4.x86_64.rpm
#rpm -ivh subversion-devel-1.6.11-2.el6_1.4.x86_64.rpm
======================= 3 安装 pysvn
wget http://pysvn.barrys-emacs.org/source_kits/pysvn-1.7.6.tar.gz
tar zxvf pysvn-1.7.6.tar.gz
cd pysvn-1.7.6/Source
python setup.py configure
make
\cp -a pysvn /usr/lib/python2.6
\cp -a pysvn /usr/lib64/python2.6
\cp -a pysvn /usr/include/python2.6
mkdir -p /usr/local/lib/python2.6/pysvn
cp -a pysvn/* /usr/local/lib/python2.6/pysvn
测试:
#!/usr/bin/python
import pysvn
client=pysvn.Client()
client.update('/data/website/')
# chmod +x test.py
# python test.py
======================= 4 测试svnchanged_export.py
wget http://svn-script.googlecode.com/svn/trunk/tools/svnchanged_export.py
执行
# python svnchanged_export.py -r 7490:7495 --username zheng.dl --password 111111 http://192.168./trunk/06-程序源码/01-源码 /tmp/test/
====================== 5 应用实践
----------5.1 两次版本的最终效果是文件没有变化则无法导出该文件:
1 对比:手动导出sc 9107:9557 的变更 和 使用py自动导出的变更
2 使用BCompare.exe工具对比目录和文件,汇总统计对比检查
发现两个异常文件:
ResultController.php(发生了两次svn变更版本号:9209,9442)
9209 变更 :null -> echo "1111";exit;
9442 变更:echo "1111";exit; -> null
BUserDiscount.php(发生了两次svn变更版本号:9271,9552)
9271 变更:klcwebsite -> pkwebsite
9552 变更:pkwebsite -> klcwebsite
3 以ResultController.php为例子演示:部分文件没有发布成功的现象
ResultController.php(两次svn变更版本号:9209,9442)
9209 变更 :null -> echo "1111";exit;
9442 变更:echo "1111";exit; -> null
例如sc发布脚本执行 9107:9440,那么dev环境ResultController.php文件内容就变更为echo "1111";exit;
当发布脚本执行9107:9557,那么就无法导出ResultController.php(因为文件内容都是null所以没有变更),那么dev环境ResultController.php文件内容依旧为echo "1111";exit;
4 结论:
部分文件发布不成功的问题不是由于一次发布文件太多时会漏文件,而是两次版本的最终效果是文件没有变化则无法导出该文件。
5 修复
5.1api资料
http://pysvn.tigris.org/docs/pysvn_prog_ref.html#pysvn_client_diff_summarize
summary = \
diff_summarize( url_or_path1,
revision1=pysvn.Revision( opt_revision_kind.base ),
url_or_path2=url_or_path,
revision2=pysvn.Revision( opt_revision_kind.working ),
recurse=True,
ignore_ancestry=False,
depth=depth )
The function may report false positives if ignore_ancestry is False,
since a file might have been modified between two revisions, but still
have the same contents.
如果的ignore_ancestry是假的,两个版本之间,因为文件可能已被修改,但仍然有相同的内容,该函数可能会报告误报。
5.2修改py脚本测试
summary = client.diff_summarize(url, revision_min, url, revision_max)
为:
summary = client.diff_summarize(url, revision_min, url, revision_max, True, True)
测试发现修改了参数,问题依然存在。
5.3暂时无法通过发布脚本来解决此类问题。
发表评论
-
设置sudo为不需要密码
2015-04-17 09:04 10510有时候我们只需要执 ... -
haproxy 安装配置和负载实例
2015-03-27 11:49 11531一、环境说明实验环境 OS CentOS5.4 192.1 ... -
/dev/mapper/VolGroup00-LogVol00 100% 如何处理
2015-03-03 10:51 8209服务器磁盘跑满了, 命令查看 如下 [root@lo ... -
Tsar开源:淘宝内部大量使用的系统监控工具
2014-08-07 09:51 971Tsar是淘宝的一个用来收集服务器系统和应用信息的采集报告 ... -
Linux运维常用命令 (转载)
2013-01-31 10:23 25241 删除0字节文件find-type f - ... -
linux恢复 rm -rf 删除的文件:extundelete
2013-01-24 15:47 8910http://blog.csdn.net/pang6013 ... -
网站排障分析常用的命令
2013-01-21 18:17 1397------------------------------- ... -
迁移vmware服务器后Device eth0 does not seem to be present
2013-01-21 10:58 2249用VMware 安装 linux 6.0 ... -
LoadRunner如何监控Linux系统资源 : rpc.rstatd
2012-12-17 14:49 10294一 简述:LoadRunner监控Linux资源时弹出如下错误 ... -
僵尸Z进程和D进程
2012-12-10 16:47 13146-------------- 1 关于ZOMBIE进 ... -
Unix操作系统硬链接与符号链接的区别
2012-12-10 16:08 2021Unix操作系统有很多值得 ... -
nagios配置参数详解
2012-12-04 14:12 9440# Nagios return codes#定 ... -
nagios自定义监控nginx php和ip_conn
2012-12-03 17:57 3169自定义ip_conn.sh :http://zhume ... -
【汇总】shell show收藏
2012-11-29 14:03 1268================== shell从文本取对应的 ... -
Kickstart+PXE+DHCP+TFTP+NFS自动安装Centos5
2012-11-29 11:34 1602http://5ydycm.blog.51cto.com/11 ... -
haproxy+keepalived高可用负载均衡(七层)
2012-11-29 10:36 4006HAproxy是一款基于TCP( ... -
LVS+Keepalived
2012-11-29 10:10 1734http://www.linuxvirtualserver.o ... -
haproxy & LVS*(keepalived和heartbeat) & ng的比较
2012-11-29 10:04 7589http://network.51cto.com/art/ ... -
运维架构师-并不遥远的彼岸
2012-11-28 17:45 1736在百度里搜索运维架构师,你会发现招聘的职位还不少并且月薪、年 ... -
puppet模块汇总
2012-11-21 17:08 3028在磁盘上,一个模块对应一个特殊的目录结构: MODULE_ ...
相关推荐
使用python语言获取svn每个版本的详细Log信息便于分析
ez_setup.py > cd f:\soft\subversion > python ez_setup.py > svn checkout http://svn.edgewall.org/repos/trac/trunk > cd trunk python setup.py install
Subversion(SVN)是一种广泛使用的版本控制系统,它允许用户管理文件和目录的不同版本,便于多人协作开发。在软件开发过程中,SVN帮助开发者跟踪和控制代码的变更,合并不同人的修改,并提供备份和恢复功能。 这个...
SVN客户端官方汉化包 LanguagePack_1.10.0.28176-x64-zh_CN.msiSVN客户端官方汉化包 LanguagePack_1.10.0.28176-x64-zh_CN.msi
SVN,全称Subversion,是一种广泛使用的版本控制系统,用于管理文件和目录的变更历史,便于团队协作开发。它允许开发者追踪每一次对项目文件的修改,并能回溯到任何历史版本,同时提供了冲突解决机制,确保多人协作...
在软件开发中,SVN是团队协作的重要工具,能够帮助开发者追踪代码变更,合并不同开发者的改动,并进行回滚等操作。 描述中提到的同样内容"SVN\LanguagePack_1.5.3.13783-win32-zh_CN.rar"进一步强调了这是一个特定...
标题 "org.tmatesoft.svn_1.3.2.eclipse.zip" 暗示这是一个针对Eclipse集成开发环境(IDE)的Subversion(SVN)客户端插件版本1.3.2的压缩包。Subversion是一款流行的开源版本控制系统,用于管理软件项目中的源代码...
PL/SQL Developer Developer 官网上提供的版本控制插件是VCS,但是VCS还需要依赖其他实现Microsoft SCC 接口的版本控制工具,而且项目中用svn的比较多。因此PL/SQL Developer Developer中应该用svn插件来管理存储...
非常简明,实用 SVN 中文帮助文档 TortoiseSVN_zh_CN.chm 1.5.5版本 CHM 格式 SVN 中文帮助文档 TortoiseSVN_zh_CN.chm 1.5.5版本 CHM 格式 SVN 中文帮助文档 TortoiseSVN_zh_CN.chm 1.5.5版本 CHM 格式
Subversion是一款流行的开源版本控制系统,用于管理软件项目的源代码和其他文件的变更。SVN的默认界面通常是英文的,但通过安装对应的汉化包,中国用户可以将其界面转换为中文,提高使用时的理解度和效率。 在...
本主题将详细介绍如何在两台不同的服务器之间实现SVN版本库的自动备份,以及利用金山快盘等云存储服务进行云端备份。 1. SVN自动备份原理与配置 SVN的自动备份通常通过cron job或Windows计划任务来实现,结合shell...
标题中的“svn.rar_H.264_svn”暗示了这是一个与版本控制系统Subversion(简称svn)相关的项目,其中包含了H.264编解码器的代码或资源。H.264,也称为AVC(Advanced Video Coding),是一种高效能的视频编码标准,...
Subversion (SVN) 是一种版本控制系统,它允许用户跟踪对文件和目录的更改,这对于多人协作的项目至关重要。主要功能包括: 1. **版本控制**:每个提交的更改都会被记录下来,可以随时回退到任何历史版本。 2. **...
然后,通过Apache配置文件(`/etc/apache2/conf-available/svn.conf`)来设定访问规则: ```bash usermod -a -G svn my_user chown -R svn:svn /var/svn/repos/my_repo ``` 4. **集成Apache**:配置Apache服务器...
SVN服务端、客户端、VS简体中文插件打包下载(2013-10-24) 内含: VisualSVN-Server-2.7.1.msi 服务端 TortoiseSVN-1.8.2.24708-x64-svn-1.8.3.msi 64位客户端 LanguagePack_1.8.2.24708-x64-zh_CN.msi 64位客户端...
Linux svn 一键轻松升级到1.8版本 安装命令 rpm -ivh subversion-1.8.19-1.x86_64.rpm 安装前需要依赖包serf-1.3.7-1.x86_64.rpm serf安装包资源:http://download.csdn.net/download/qq_21165007/10232620
TortoiseSVN_1.9.5.27581_x64是一个专为Windows用户设计的Subversion(SVN)客户端软件,它在文件管理器界面中集成了版本控制系统的所有功能,使得开发者和团队协作人员可以更加便捷地进行源代码管理和版本控制。...
TortoiseSVN是一款在Windows操作系统上非常流行的版本控制系统客户端,它基于Subversion(SVN)服务器进行工作。这个特定的版本,TortoiseSVN 1.11.0.28416,是64位版本,并且包含了针对中文用户优化的本地化语言包...
SVN服务端、客户端、VS简体中文插件打包下载(2013-11-18) 内含: VisualSVN-Server-2.7.2.msi 服务端 TortoiseSVN-1.8.3.24901-x64-svn-1.8.4.msi 64位客户端 LanguagePack_1.8.3.24901-x64-zh_CN.msi 64位客户端...