环境:CentOS6.5  测试线   svn和web服务器在同一台机器上   SVN版本1.6 情景:在测试环境下,开发部提出希望提交到SVN的代码能自动同步到WEB站点目录下,解决每次都要传双份这一问题,尤其是频繁更新后的繁琐,浪费了大量时间. 思路:通过搜索,查到svn的hooks目录的触发功能,该目录下有许多模板,其中一个是post-commit.tmpl,意为“提交后执行”,通过这个功能我们可以将提交代码后要做的事写到里面来执行. 步骤: 1. 首先导出一份svn的文件到网站目录 #…
1  当你使用svn在成功提交一个新版本的时候,svn仓库目录下的hook文件夹下的post-commit脚本会运行 用shell写一个脚本,在提交完版本后,自动在web目录运行一下svn update 2  执行命令 mv post-commit.tmp post-commit vim post-commit shell脚本 #!/bin/bash #export LANG=zh_CN.GBK #svn 编码是GBK export LANG=en_US.UTF- #svn 编码是UTF- 适情…
一.安装 yum install subversion测试是否安装成功 /usr/bin/svnserve --version如提示以下内容,说明已安装成功 svnserve,版本 1.6.11 (r934486)编译于 May 14 2012,05:36:26 版权所有 (C) 2000-2009 CollabNet.Subversion 是开放源代码软件,请参阅 http://subversion.tigris.org/ 站点.此产品包含由 CollabNet(http://www.Coll…
Eclipse svn代码提交冲突(转) 1.Synchronize视图下查看代码冲突 1.Incoming Mode 全部update,更新到本地2.Outgoing Mode 全部commit,提交到代码库3.Confilcts Mode 解决冲突,另存.对比.Override and Update.修改.Commit 2.解决简单的文件版本冲突 对于产生版本冲突的文件,如果两个人改动的不是同一处位置,例如成员A只改动了文件头部,成员B只改动了文件的尾部,那么无需过多担心,因为现在的SVN已…
这里只是一个记录,原文摘抄svn利用钩子实现代码同步到web目录 思路: 找 到SVN Server中的仓库(Repositories)文件夹的位置,在相应的项目文件夹中找到hooks文件夹.在该文件夹中添加一个post- commit文件:当有commit动作发生时(提交到SVN Server时)就会执行这个post-commit文件,在该文件实现数据的复制. 实例:  环境:SVN Server与测试用的Web Server在同一台Windows系统服务器上,SVN Server使用的是Vi…
思路:  找 到SVN Server中的仓库(Repositories)文件夹的位置,在相应的项目文件夹中找到hooks文件夹.在该文件夹中添加一个post- commit文件:当有commit动作发生时(提交到SVN Server时)就会执行这个post-commit文件,在该文件实现数据的复制. 实例:  环境:SVN Server与测试用的Web Server在同一台Windows系统服务器上,SVN Server使用的是VisualSVN,Web Server使用的是Apache.项目的…
思路:  找 到SVN Server中的仓库(Repositories)文件夹的位置,在相应的项目文件夹中找到hooks文件夹.在该文件夹中添加一个post- commit文件:当有commit动作发生时(提交到SVN Server时)就会执行这个post-commit文件,在该文件实现数据的复制. 实际: 今天测试了半天,一直说subversion is too old 让升级,后来就升级了TortoiseSVN到1.8发现还是有问题,最后卸了装装了卸,终于弄明白了,就是TortoiseSVN…
首先:确定思路: 要在SVN服务中,找到仓库文件夹的位置,在相应的项目中找到hooks文件夹.在该文件中添加一个post-commit文件: 当有commit动作发生时(提交到SVN服务是就会执行这个post-commit文件,在该文件实现数据复制到web目录下. 环境:SVN服务要与Web服务要在同一个系统服务上,SVN Server使用的是VisualSVN,Web Server使用的是Apache. 1.找到hooks文件 2.在hooks 文件夹下创建一个post-commit文件 命令…
配置搭建步骤: Linux平台的SVN服务器的配置及搭建 从本地提交代码到svn代码库. 将代码库中代码同步到web目录: 1.在web目录中checkout版本库 进入/home/www目录下  (重要) svn co svn://127.0.0.1/project 补充: svn co svn://127.0.0.1/svndata/test 2.建立post-commit文件 进入/var/svn/project/hooks下,建立post-commit文件: cd /var/svn/pr…
CentOS 创建SVN 服务器,并且自动同步到WEB 目录 标签: centossvnsubversion服务器 2013-12-06 10:09 5492人阅读 评论(0) 收藏 举报  分类: linux(5)  一.安装Subversion #yum install subversion     二,基本的SVN服务器配置1,新建一个目录用于存储SVN所有文件# mkdir /home/svn 2,新建一个版本仓库# svnadmin create /home/svn/project 3…
1.仓库放在 /var/svn/ 目录下,并且仓库名为 project 2.创建用户组user,该组下添加两个成员user1.user2,密码直接用用户名,两用户可以checkout代码和提交代码 3.利用SVN的钩子实现当仓库的代码更新的时候自动同步至我们的web目录,在这里,我的web目录在 /var/www/html 下 一.搭建svn环境并创建仓库: 1.安装Subversion: yum install -y subversion 2.检测是否安装成功(查看svn版本号) svnser…
SVN代码提交(转载) 原文链接:http://www.softown.cn/post/100.html 1.SVN代码提交 1) 原则 先更新再提交: SVN是为了多人协同开发而产生的,如果你在提交之前不更新,就很有可能在你提交之前别人已经提交代码到版本库,这样你本地的代码就不是最新的版本,你没有更新就还是老版本,直接提交后会把别人提交的覆盖掉,所以就需要先更新再提交. 2.快速提交本地修改文件到svn资源库 右键点击指定的项目(也可只选择某些文件或文件夹),然后在弹出的关联菜单中点击[Tea…
SVN代码提交冲突解决方案 1.若你的代码被其他人修改并提交过了,期间你自己也修改过该文件,UPDATE的时候自己代码被覆盖. 右键——>显示日志 查看该文件的更新记录 找到需恢复的版本 右键——>恢复到这个版本…
统计svn代码提交,使用工具 statsvn.jar 下载地址:http://sourceforge.net/projects/statsvn/ rem 声明一个时间变量 作为文件名 %time:~,%) ,%) ,%%,%%,%_%hh%%TIME:~,%%TIME:~,% echo %filePath% rem 新建一个文件夹 md %filePath% rem 复制文件 copy statsvn.jar %filePath% cd %filePath% rem 处理 autotest 为项…
一 安装 yum install subversion 二 检查是否安装成功 svn --version 三 创建仓库目录 mkdir –p /home/svnroot/test 四 创建项目 svnadmin create /home/svnroot/test 五 检查是否创建成功 cd /home/svnroot/test ls // 查看创建成功后生成的文件 六 进入conf目录配置该版本库的文件 authz 是权限控制文件 passwd 是帐号密码文件 svnserve.conf 是SV…
一个简单的钩子演示:也可以网上搜索其他高级的 本次想要达到的功能是:每次用户commit 到仓库后,仓库的钩子会自动把程序又更新的www/的web发布目录 1.现在web目录下创建一个test.com网站目录 [root@wentao13 ~]# cd /var/www/html/ [root@wentao13 html]# svn checkout svn://localhost/test.com Authentication realm: <svn://localhost:3690> 59…
1.安装SVN服务[root@bogon ~]# yum -y install subversion 2.查看svnserve安装目录[root@bogon ~]# whereis svnservesvnserve: /usr/bin/svnserve /usr/share/man/man8/svnserve.8.gz 3.查看是否安装成功,如果出现以下提示则安装成功[root@bogon ~]# svnserve -husage: svnserve [-d | -i | -t | -X] [o…
linux安装配置SVN并设置钩子   安装说明 系统环境:CentOS-6.3安装方式:yum install (源码安装容易产生版本兼容的问题)安装软件:系统自动下载SVN软件 检查已安装版本 #检查是否安装了低版本的SVN 1 rpm -qa subversion #卸载旧版本SVN 1 yum remove subversion 一.安装SVN 1 yum -y install subversion 验证安装 检验已经安装的SVN版本信息 1 svnserve --version 代码库…
一.hook简单介绍 为了方便管理员控制提交的过程 ,Subversion提供了hook机制.当特定的 事件发生时,相应的 hook会被调用,hook其实就相当于特定事件的处理函数.每个hook会得到与它所处理的事件相关的参数,根据 hook的返回值,Subversion会决定是否继续当前的提交过程 要实际安装一个可用的钩子,你需要在 repos/hooks目录下安装一些与钩子同名(如 start-commit或者post-commit)的可执行程序或脚本.   二.本地机器SVN自动更新 1.…
感觉再不用svn就真的老了. 安装 yum install subversion 新建repo mkdir -p /opt/svn/myrepo svnadmin create /opt/svn/myrepo 修改repo的配置文件 vim /opt/svn/myrepo/conf/svnserve.conf 内容修改为: ### This file controls the configuration of the svnserve daemon, if you ### use it to a…
今天组内新来的一个同事问我代码提交频率的问题,他在上家公司是一个模块功能开发自测完成后再提交.而我这边采用的是最少一天提交一次,提倡粒度较小的提交, 而且是基于主干开发.采用这种方式是出于以下几点考虑: 1. 提交的粒度小,和别人冲突的可能性就小,避免代码冲突合并的痛苦. 2. 所有的开发都能看到最新的代码,在多模块协同开发的时候,可以及时的了解别人的进度,也是潜在的一个沟通方式. 3 .及时的发现问题,相对于每次提交上千行代码,几十个模块或方法,小粒度的提交倒逼开发及时的单元测试,有利于尽早的…
1.在web目录创建项目目录 mkdir ./opt/wwwroot/项目名称 2.使用svn检出项目文件 svn checkout svn://localhost:/项目名称 3.设置svn库中钩子实施同步操作 cd ./opt/svn/repos/项目名称/hooks #进入svn项目钩子管理目录 cp post-commit.tmpl post-commit #复制钩子文件使用post-commit chmod 755 post-commit #赋予权限 3.打开post-commit文件…
第一步 把web目录设置为工作目录 "D:\Program Files (x86)\VisualSVN Server\bin\svn.exe" upgrade "D:\yiyun_www\test" --quiet --username chiyj --password chiyj 在DOS下执行. 第二步修改文件 D:\yiyun_code\test\hooks下新建文件 post-commit.bat  内容如下 @echo offSET REPOS=%1SET…
转载请注明来源:https://www.cnblogs.com/hookjc/ 1. sed C代码   grep -rl matchstring somedir/ | xargs sed -i 's/string1/string2/g' 例如: 对象:文件夹 C代码   grep -rl 'windows' ./path | xargs sed -i 's/windows/linux/g' 2. find 对象:文件 C代码   find -name 'test' | xargs perl -…
部分代码跟makefile不在同一目录,有没有好的方法来设置依赖关系,我找到三种方法,但感觉都不完美,下面我会把他列出来并加以说明,不知有没有更好的方法,makefile本身也不是很熟,请大家指教: 需求如下:1)目录结构所下所示[src1](目录):src11.csrc12.csrc13.c...makefile[src2](目录):src21.csrc22.c...2)写makefie时,不想每一个文件都写上依赖关系,希望能够让其自动推导,但会列出.c的文件及路径,如下图code部分所示:3…
IDEA的maven项目中,默认源代码目录下(src/main/java目录)的xml等资源文件并不会在编译的时候一块打包进classes文件夹,而是直接舍弃掉.如果使用的是Eclipse,Eclipse的src目录下的xml等资源文件在编译的时候会自动打包进输出到classes文件夹. 示例: 当在IDEA中使用MyBatis时,一般会创建一个SQL映射的配置文件,这个文件如果是在src/main/java目录下,编译后在target目录下是找不到这个文件的 对于IDEA的这个问题,有如下的解…
1.首先,我们要确保电脑上已经安装了TortoiseSVN. 2.打开IDEA-File-Settings-Version Control-Subversion,在右边的界面上选择TortoiseSvn/bin/svn.exe.但是我发现我的bin目录下没有svn.exe? 解决方法如下: 参考博客:https://blog.csdn.net/qq_35605213/article/details/79745545 (1)找到TortoiseSVN的安装包,双击打开: (2)点击Modify:…
现象:数据库名字存在,但是数据库中表为空:svn提交代码能到svn库中,但不能同步到web目录. 原因:磁盘分区满了,导致内测服务器中数据库先删掉但没能从线上拉取回来,显示数据库中表为空: 磁盘满,导致svn: E155004: 工作副本“/opt/codes/hzym_rsync_codes”已经锁定,不能在向磁盘写东西.…
参考博文:http://my.oschina.net/wddqing/blog/201567 同步程序思路:用户提交程序到SVN,SVN触发hooks,按不同的hooks进行处理,这里用到的是post-commit,利用post-commit到代码检出到SVN服务器的本地硬盘目录,再通过rsync同步到远程的WEB服务器上. 知识点: 1.SVN的hooks # start-commit 提交前触发事务 # pre-commit 提交完成前触发事务 # post-commit 提交完成时触发事务…
取消对代码的修改分为两种情况: 第一种情况:改动没有被提交(commit). 这种情况下,使用svn revert就能取消之前的修改. svn revert用法如下: # svn revert [-R] something 其中something可以是(目录或文件的)相对路径也可以是绝对路径. 当something为单个文件时,直接svn revert something就行了:当something为目录时,需要加上参数-R(Recursive,递归),否则只会将something这个目录的改动…