问题:在项目提交时候不写日志,在后期查看修改历史时需要对比版本才知道提交原因.解决方案:在svn服务端通过hooks在提交时强制要求写日志.#!/bin/shREPOS="$1"TXN="$2" SVNLOOK=/usr/bin/svnlook LOGMSG=`$SVNLOOK log -t "$TXN" "$REPOS" | grep "[a-zA-Z0-9]" | wc -c`if [ "$L…
问题:在项目提交时候不写日志,在后期查看修改历史时需要对比版本才知道提交原因.解决方案:在svn服务端通过hooks在提交时强制要求写日志.#!/bin/shREPOS="$1"TXN="$2" SVNLOOK=/usr/bin/svnlook LOGMSG=`$SVNLOOK log -t "$TXN" "$REPOS" | grep "[a-zA-Z0-9]" | wc -c`if [ "$L…
#!/bin/sh REPOS="$1" TXN="$2" SVNLOOK=/usr/bin/svnlook #根据你的SVN目录而定 LOGMSG=`$SVNLOOK log -t "$TXN" "$REPOS" | grep "[a-zA-Z0-9]" | wc -c` if [ "$LOGMSG" -lt 10 ]; then echo "Log message can'…
#!/bin/bash REPOS="$1" TXN="$2" #svnlook路径 SVNLOOK=/usr/bin/svnlook #通过svnlook获取提交时的日志信息 LOGMSG=$( $SVNLOOK log -t "$TXN" "$REPOS" | grep "[a-zA-Z0-9]" | wc -c ) #判断日志长度 ]; then >& exit fi 然后将该文件放置于…
当我们用TortoiseSVN提交代码时,有很多人不喜欢写注释,导致以后代码版本多,也不清楚哪个版本到底改了什么东西.所以在提交的时候,我会强制要求添加注释.这是如何实现的?这个话题就涉及到了svn的Hooks功能的使用. 所谓hooks,可以类似理解Linux内核Netfilter框架的hook点和hook函数的概念.当用户在维护代码的过程中,其执行的相关动作正好触发了相关hook点,就会去执行对应hook点的脚本. 那么如何设置hook脚本以保证强制用户添加注释,以及允许用户修改注释呢? 1…
解决版本冲突的命令.在冲突解决之后,需要使用svnresolved来告诉subversion冲突解决,这样才能提交更新.冲突发生时,subversion会在WorkCopy中保存所有的目标文件版本(上次更新版本.当前获取的版本,即别人提交的版本.自己更新的版本.目标文件. 开发人员都知道代码管理工具是开发中一个必不可少的工具,这里也不废话详细介绍了.不管你个人喜欢git还是svn还是其他,但还有一大部分公司在使用svn做代码管理工具.这里详细介绍下SVN提交文件时冲突问题的解决方式. 假设A.B…
如果你是一个软件开发者,你一定对Subversion不会感到陌生.Subversion是一个自由开源的版本控制系统.在Subversion管理下,文件和目录可以超越时空.Subversion将文件存放在中心版本库里,这个版本库很像一个普通的文件服务器,不同的是,它可以记录每一次文件和目录的修改情况,这样就可以借此将数据恢复到以前的版本,并可以查看数据的更改细节.正因为如此,许多人将版本控制系统当作一种神奇的“时间机器”. 如何快速搭建Subversion服务 本文介绍的是如何在CentOS下通过…
1. 重命名svn主目录中hooks的pre-commit.tmpl文件为pre-commit,并添加可执行权限 mv pre-commit.tmpl pre-commit chmod u+x pre-commit 2. 编辑pre-commit文件 vi pre-commit # 注释这以下三行 # $SVNLOOK log -t "$TXN" "$REPOS" | \ # grep "[a-zA-Z0-9]" > /dev/null |…
CentOS 7下搭建配置SVN服务器 1. 安装 CentOS通过yum安装subversion. $ sudo yum install subversion subversion安装在/bin目录: $ which svnserve /bin/svnserve 检查一下subversion是否安装成功. $ svnserve --versionsvnserve, version 1.7.14 (r1542130)  compiled Nov 20 2015, 19:25:09 Copyrig…
1.安装svn yum -y install subversion 2.创建hydata目录 mkdir -p /var/svn/hydata 3.创建 m 目录 mkdir -p /var/svn/m 4.创建hydata仓库 svnadmin create /var/svn/hydata 5.创建m仓库 svnadmin create /var/svn/m 6.设置hydata仓库帐户安全(/var/svn/hydata/conf下) 1) vi authz [/] zw=rw (zw为用户…
上班接近4个月了,在公司做配置管理工程师,主要是在Linux下对公司的源代码以及项目发布进行管理.4个月接触了好多新知识,也对各种工具的集成使用搞得云里来雾里去的,所以打算自己搭建一套环境,进行测试. 首先是Apache+SVN的安装与配置.本人使用Virtualbox创建了一个虚拟机,所以接下来的环境搭建均在虚拟机CentOS上实现 1.Apache的安装 网上有很多教程都是使用源码安装的方式,但安装起来稍显复杂,容易将像我这样的初学者搞晕,所以我就采用了yum工具(CentOS系统下是yum…
因SVN不能像Git一样,审核代码之后才合入到主版本.为了使开发人员养成良好的上传习惯,强制要求上付时必须写明上传内容. 可以通过以下方法设置 1,在SVN服务器上找到源码仓库路径,找到下面文件夹:C:\Repositories\你的项目名称\hooks 2,创建文件pre-commit.bat,内容如下 @echo offsetlocalset REPOS=%1set TXN=%2set SVNLOOK="C:/Program Files (x86)/VisualSVN Server/bin/…
---恢复内容开始--- 1.使用yum安装 yum install subversion 2.创建仓库 1.创建成功后在svn下面多了几个文件夹. cd /home mkdir svn svnadmin create /home/svn 2.特别关注一下conf文件夹,这个是存放配置文件的 authz 是权限控制文件 passwd 是帐号密码文件 svnserve.conf 是SVN服务配置文件 3.配置passwd ---> 账号密码 vim passwd [users] test = 12…
1.安装SVN SVN数据存储有两种方式,BDB(事务安全表类型)和FSFS(一种不需要数据库的存储系统),为了避免在服务器连接中断时锁住数据,FSFS是一种更安全也更多人使用的方式.SVN的运行方式也有两种,一种是独立服务器,另一种是借助apache服务,各有利弊 rpm -qa subversion //查看是否安装了旧版本的SVN yum remove subversion rpm -ql subversion //查看SVN安装的目录 yum install -y subversion…
当在终端执行sudo命令时,系统提示“ jackluo is not in the sudoers file”: $ sudo ls Password:jackluo is not in the sudoers file.  This incident will be reported. 1.切换到超级用户:$ su 2.打开/etc/sudoers文件:$vi /etc/sudoers 3.修改文件内容: 找到“root    ALL=(ALL)       ALL”一行,在下面插入新的一行,…
安装软件包 ? 1 # yum install httpd ? 1 # yum install mod_dav_svn ? 1 # yum install subversion 2.  验证安装 ? 1  # httpd -version 结果显示: 前往 /etc/httpd/modules/ 下,检查是否包含mod_dav_svn.so和mod_authz_svn.so,如果有,mod_dav_svn安装成功. ? 1 # svnserve --version 结果显示: 安装svn 成功.…
1.添加普通用户[root@server ~]# useradd chenjiafa   //添加一个名为chenjiafa的用户[root@server ~]# passwd chenjiafa    //修改密码Changing password for user chenjiafa.New UNIX password:                   //在这里输入新密码Retype new UNIX password:            //再次输入新密码passwd: all…
首先,网桥配置好之后就能实现一个简单的交换机,而交换机的特点就是MAC地址学习,那么KVM的网卡设置成网桥之后,也就是相当于连接到了交换机上. 此时如果要实现在二层交换机或三层交换机做端口镜像,并把这个镜像的流量转到这个虚拟机的网卡上,那么会出现无法实现的问题,下面我来分析一下原因: 1.配置好网桥就成了一个交换机,注意,不是集线器. 2.那么镜像端口的流量只会到达物理网卡上,而物理网卡组成的交换机认得也就是物理网卡的MAC地址,那么此时KVM的网卡不会受到任何流量.因为KVM也是有MAC地址,…
1.安装svn yum install -y subversion 2.验证安装是否成功 svnserve --version 3.创建svn版本库 mkdir svn svnadmin create svn/repo 注:repo是版本库名称 4.配置svn 创建版本库后,在这个版本库的conf目录下会生成3个配置文件: [root@singledb conf]# pwd /root/svn/repo/conf [root@singledb conf]# ls authz passwd svn…
需求: 搭建SVN实现本地开发环境,方便线上代码的更新. 步骤: 1. 安装SVN服务 yum install -y subversion 2.创建SVN代码库的目录.创建版本库 mkdir -p /svn/davesvnsvnadmin create /home/svn/svnfile 3.启动SVN服务 svnserve -d -r /svn/ 4.配置SVN主配置文件,创建用户,配置权限目录 svnserve.conf [root@JD-BJ-578 svn]# cd /svn/daves…
1.安装 yum install subversion httpd mod_dav_svn 2.创建仓库存储代码 mkdir /var/repos svnadmin create /var/repos/svn1 3.启动svn服务器 svnserve -d -r /var/repos/ 4.apache部分,查看是否支持svn模块---> vim /etc/httpd/conf.d/subversion.conf 5.编辑文件 /etc/httpd/conf.d/subverson.conf,添…
SbTest for using sysbench creating scritps: sysbench --test=oltp --oltp-table-size=100000 --mysql-db=test --mysql-user=root --mysql-password=123456--db-driver=mysql  prepare;sysbench 0.4.12:  multi-threaded system evaluation benchmark…
在工作中一直是使用svn进行项目的版本控制的,有时候由于提交匆忙,或是忘了添加Log,或是Log内容写的有错误.今日遇到此类情况,想要在查看项目的日志时添加log或是修改log内容,遇到如下错误:Repository has not been enabled to accept revision propchanges;ask the administrator to create a pre-revprop-change hook显然此情况是svn服务端设置的问题,版本在提交后不允许修改log…
message规范 angular示例 commit message(提交说明) git commit -m "写一行提交说明" # 跳出文本编辑器,写多行 git commit # add && commit 注意:add只针对修改文件不包括新增加的文件 git commit -am "" commit message格式 <type>(<scope>): <subject> // 空一行 <body>…
SVN用得也算挺广泛的,但是它也存在着一个大问题,就是权限控制得比较差,要么读,要么读写,而读写就意外着可以删除文件(目前我的理解是这样,如果有什么不对的地方,请多指教). 刚好前段时间发生了开发人员误删代码库的问题,我才意识到这个问题很大.领导的要求是,开发人员等不应当有删除文件的权限,应该只有项目经理之类的有删除文件的权限. 于是上网搜索了一番,发现有不少人也说SVN权限的管理太粗化了.找了好久才发现可以通过svn项目目录下的hooks下的pre-commit实现. 一.首先来看一下svn项…
CentOS下新增加一个用户,登录进去会发现shell脚本信息没有显示用户名和主机名,反而显示的是-bash-4.1$,如图所示: 而不是我们经常看到的username@hostname$的组合,看起来特别别扭不舒服. 问题的原因是因为没有配置.bash_profile的问题,或者说没有这个文件的问题,可以通过配置或者新建这个文件来解决问题.   解决方案: 1.在新建用户的-目录下新建或者更改.bash_profile:这个过程中可能需要root用户来新建或者修改 2.在.bash_profi…
在CentOS下使用firefox编辑博客时,我发现无法使用复制粘帖功能,可用如下两种方法恢复(方法一已验证可行): 方法一: 找到user.js所在的目录,Linux下的user.js所在目录为Unix  ~/.mozilla/firefox/<Profile name>/,如果没有,可以创建一个名为user.js的文件. 在user.js中添加如下内容: user_pref("capability.policy.policynames", "allowclip…
安全里有个原则,叫最小权限原则 根据这个原则,对于启动某个应用或者进程,应该赋予其最小权限,根据应用权限要求,创建一个相应权限的用户,赋予其应用相应的权限,然后使用这个用户启用这个应用 如何使用某个用户启用某个进程或者应用? 1.使用这个用户登录linux系统后的一般操作(除sudo/su等操作外)都是这个用户权限的操作,包括启动应用后,该应用具有的权限,也是和这个用户一致的 2.在其他用户登录后,使用su命令: su - admin -c 'nohup python /home/tdqa/rp…
不少开发员提交修改的时候都不写注释,导致查看历史时很费劲,也不太符合规范.有的公司要求每次提交修改时都写上bug号或者任务描述,那么如何在工具上防止开发员们不写注释呢? 利用svn的pre-commit钩子可简单实现此要求. 进入仓库project1/hooks目录,找到pre-commit.tmpl文件,重命名,去掉后缀.tmpl. 编辑pre-commit文件:(Linux系统和windows系统脚本内容见1和2) 1.Linux系统 方法1: 将: $SVNLOOK log -t "$TX…
Linux下SVN提交时强制写日志 SVN默认可以不写注释提交,有时候可能忘记写注释,有的人也没有写注释的习惯,导致翻看history的时候都不知道做了哪些更改,可以依照以下步骤修改SVN配置,强制提交SVN前写注释 步骤: 1.进入svn/code/hooks目录,在svn版本库的hooks文件夹下面,复制模版pre-commit.tmplcp pre-commit.tmpl pre-commitchmod +x pre-commit 2.编辑pre-commit文件:将:$SVNLOOK l…