linux svn客户端入门心得

来源:Linuxeden 作者:mgqw猴子
      公司负责测试的兄弟伙费劲九牛二虎之力,终于把svn服务器搭建起来并且跑顺畅了。身为码农的我们当然要义不容辞地用起新鲜出炉的svn,把自己的代码传到svn服务器上,让搭建svn服务环境的兄弟伙的劳动成果最大化体现!
    以前用svn也紧紧是在终端上svn checkout ooxx下载源码然后本地编译(比如eva)。那些只需要人家找网络上告诉你URL地址或者直接告诉你完整版的svn checkout命令,确认机器能上网,然后将svn checkout ooxx命令复制到终端上按回车开始下载就万事大吉。
    搭环境那哥们测试客户端的时候也只是找windows下用svn客户端工具TortoiseSVN测试能正常使用就成,至于像我等身为linux下的少数派用户,咨询他如何通过终端命令读写svn,哥们丢下一句话就落荒而逃:“linux我不熟,你自己找资料慢慢试吧!”。

    才一开始用问题就来 了,以前用svn找网络上下东西都没用用户名和密码,直接svn checkout ooxx就搞定了。弄了半天才明白原来输入svn checkout ooxx命令后,如果有用户名和密码会在命令输入后提示你输入。要想在checkout命令里加上选项 --username ooxx --password xxoo 其中ooxx和xxoo就是你的用户名和密码了。只要第一次输入用户名和密码正确,后面就不需要再次输入。
    建好svn服务器后第一件事情当然是把本机上打代码放到svn服务器上,假设我要把当前目录下打mgqwcode文件上传到svn服务器,运行命令$ svn import -m "New import" mgqwcode http://192.168.1.88:8080/svn/mgqwcode 不需要mkdir新建目录,svn import会递归的为你创建目录。如果正常的话,输出如下:

增加           mgqwcode/abc.h
………………………………(省略n个文件)
提交后的版本为 2。

    这样mgqwcode目录就全部上传到svn服务器上面去了,在导入数据之后,你会发现原先的目录树并没有纳入版本控制,为了开始工作,你还是要运行svn checkout得到一个干净的目录树工作拷贝。如果直接在当前目录下运行命令$ svn checkout http://192.168.1.88:8080/svn/mgqwcode 会报错:
svn: 无法增加文件“mgqwcode/myqueue.h”: 同名对象已存在
    原因就是当前目录下的mgqwcode目录并没用导入到svn版本控制中去,解决办法很简单,将mgqwcode改名成mgqwcode_backup,然后再次运行命令$ svn checkout http://192.168.1.88:8080/svn/mgqwcode  正常输出类似import:

A    mgqwcode/abc.h
………………………………(省略n个文件)
取出版本 2。

 
    这样mgqwcode目录就已经纳入版本控制了,以后代码改动了,要提交版本只需要在svn的副本目录中输入命令$ svn commit 即可,如果不在svn副本目录运行命令则会报错如下:

$ svn commit
svn: “/home/ooxx”不是工作副本



    好了,linux下svn客户端基本使用就说到这里了,要想进一步使用svn的各种先进功能自己去网上查资料,百度/狗狗一抓一把,下面提供几个比较好打网址:
这个是svn中文官方网站
http://www.subversion.org.cn/
这个是svn使用说明书
http://www.subversion.org.cn/svnbook/1.4/index.html
最后来个简单点的,网络上广为流传的svn在linux下的使用(svn命令)
http://hi.baidu.com/mgqw/blog/item/a3dee127e8ebf605908f9d6b.html

时间:2009-07-01 18:08 来源:Linuxeden 作者:mgqw猴子 原文链接

好文,顶一下
(20)
87%
文章真差,踩一下
(3)
13%
------分隔线----------------------------


把开源带在你的身边-精美linux小纪念品
无觅相关文章插件,快速提升流量