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

svn

相关推荐