svn配置
系统debian:
安装:
apt-getinstallsubversionsubversion-tools
apt-getinstallapache2libapache2-svn
查看版本命令svnserve--version
查看svnserver是否已启动:netstat-ntlp,可看到svn对应的端口3690
使用svnserve-d启动svn服务
ps-aux|grepsvnserve
kill-9ID号
svnserve-d-r/home/catdoc2014/pos_svn/test
建立项目:svnadmincreate~/pos_svn/test//test目录下会增加若干文件
地址:svn://192.168.229.45/home/catdoc2014/pos_svn/test
可通过svncosvn://192.168.229.45/home/catdoc2014/pos_svn/test导出
在svn服务器机器上操作首次导入利用svnimport
svnimporttserverfile:///home/catdoc2014/pos_svn/test-m"initimport"
->tserver/trunk/hello.erltserver/branchtserver/readme
当提示Commitedrevision1.表示导入成功.
如果通过http访问,那么需要设置apache服务器的配置,
在浏览器http://192.168.229.45/如果打印itworks表示svn关联的apache服务器正常。
test/conf文件夹:authz、passwd、svnserve.conf
->svnserve.conf:
[general]
anon-access=none
auth-access=write##另一个选项read
password-db=passwd
authz-db=authz
注意前面不能有空格,否则提示:svnserve.conf:12:Optionexpected
->passwd
[users]
pm=iampm//这里的用户同样不能有空格
catdoc=catdoc2014
sky=sky123
->authz
[groups]
soft=catdoc,sky
[/]#版本库的根目录
pm=rw#pm有读写权限
*=r#任何人只有只读权限
[trunk:/]#test/trunk目录
pm=rw#pm有读写权限
@soft=rw#soft组有读写权限
*=r#任何人都有只读权限
在linux系统下:
~/.subversion/auth,这个目录下包含了svn使用过的用户信息,
如果需要更换账号操作svn可以把这个目录下的文件来文件夹全部删掉就可以了。
方法2:
rm-rf~/.subversion/auth
以后操作svn会提示你输入用户名,这时就可以使用新的了
方法2:svn操作时带上--username参数
svn--username=catdocupdate然后会提示输入密码!
客户端操作:
1,导出
svncosvn://192.168.229.45/home/catdoc2014/pos_svn/test//简写svnco
2,更新->进入到需要更新的目录
svnupdate-r2014libutil.erl(将文件还原到版本2014)
svnupdatelibutil.erl更新版本库同步。
在workplace执行svnupdate同步版本库
3、添加->进入需要提交的目录添加后需要commit提交
svnaddfile//--non-recursive或者-N就会关闭recursiveadd
svn--username=catdocaddsuccess.erl//中间可能需要填写用户密码
svn--username=catdoccommitsuccess.erl-m"firstaddcmd"
//后续的不需要再带--username=catdoc
4、将改动的文件提交到版本库
选项-N或者--no-unlock
svncommitsuccess.erl-m"commits.erl"//指定提交某个文件
svncommit-m"testcommit"//会将目录下的所有修改都提交上去
5、加锁/解锁
svnlock-m"log"[--force]path
svnunlockpath
svnlock-m"locklibutilfile"libutil.erl
6、查看文件或者目录状态
svnstatus-vpath
->?:不在svn的控制中M:内容被修改C:发生冲突A:预定加入到版本库K:被锁定
7、查看日志
svnlogsuccess.erl
8、比较差异
svndiffsuccess.erl查看本地和版本的差异
svndiff-r2:3success.erl//查看特定版本的差异
9、将两个版本之间的差异合并到当前文件
svnmerge-rm:npath
svnmerge-r200:205libutil.erl(将版本200与205之间的差异合并到当前文件,但是一般都会产生冲突,需要处理一下)
10、恢复
svnrevertsuccess.erl
//冲突的时候一种解决办法,但会丢失将本地修改,因为应先备份本地版本再revert
//不会恢复被删除的目录
11、代码库URL变更
svnswitch(sw):更新工作副本至不同的URL。
改写工作副本的URL元数据,以反映单纯的URL上的改变。
svnrelocate?
12、解决冲突
svnresolvedpath:移除工作副本的目录或文件的“冲突”状态。
只是移除冲突的相关文件,然后让PATH可以再次提交,实质的冲突还是要自己去解决
在vi中也可以不退出编辑的文件来提交文件,
使用shell命令::!svnci-m"commitinformation.."
1.执行如下命令:
$sudoupdate-alternatives--configeditor
执行后,出现如下画面:
P2PTranslateFile$sudoupdate-alternatives--configeditor
有4个选项可用于替换项editor(提供/usr/bin/editor)。
选择路径优先级状态
------------------------------------------------------------
0/bin/nano40自动模式
1/bin/ed-100手动模式
2/bin/nano40手动模式
*3/usr/bin/emacs230手动模式
4/usr/bin/vim.tiny10手动模式
参考:http://www.cnblogs.com/xusir/p/3326142.html
相关推荐
pub_svnserve.conf的 pub_authz.conf的配置文件有非法字符的原因引起,需要查找pub_authz.conf提的非法内容比如多余的空格删除或直接将pub_authz.conf