svn

1.Subversion是架设一个SVN server 必要的工具,自己必须手动配置Subversion 脚本或者执行命令行命令.最后通过命令行输入访问svn server. 这是没有TortoiseSVN前的时代.

2.TortoiseSVN是Subversion一个客户端访问工具,灵活的运用TortoiseSVN 可以最大化的减少配置Subversion   烦琐的命令行 参数输入.

3.安装时Subversion版本要大于等于TortoiseSVN的版本。否则可能会出现导入时提示错误:期望文件系统格式在“1”到“3”之间;发现格式 “4"。

4.执行“diff with previous version”时,如果还没有前一个版本,会报“版本库位置不在版本8中”正常错误。

5./.svn/entries文件中记录了本项目文件在svn中存的位置,所以重装svn服务程序可以不用重新配置应用。

6.http://code.google.com

   参考 http://ajava.org/course/manage/13141.html

   项目托管步骤:

   在www.google.com的更多里找到code,然后点Project Hosting(项目托管),点Project Hosting on Google Code或Eclipse Labs,点Sign in to create a project,登录后,点Sign in to create a project ,按照向导创建你的项目,要注意的是Project name,这一项是将来项目域名的一部分,不要有空格在字母或数字之间,并且它要求只能是小写字母。这样项目就创建好了,点击右上角的【profile】,这时创建的项目显示出来了。

     上传前,把不要上传的文件名,或后缀在常规设置的忽略中添加,上传时选择项目文件夹上传。

     上传时要认证,和google帐户的密码不同,登录名都是电子邮件地址。

     然后,新建一个文件夹,进入文件夹,使用和上传时一样的地址,检出。

 

7.property/java build path/source/exluded/edit/exlusion patterns/add/  增加**/.svn,增加**/.svn/** 以解决src下的.svn被编译到bin下的问题。

8.拷贝项目文件项,注意要删除掉其中的.svn文件,.svn文件可能是隐藏的。

9.svn服务器地址更改时,
  把工程中的.svn文件夹全删除掉,然后在工程根目录内执行check out, 版本库地址为https://192.168.1.12:7000/svn/xx_android/trunk,检出至目录D:/e_workspace/xxAndroid

  检出过程会,svn会执行对比操作,不会覆盖。

 

10.本地的svn  D:/SvnRepository,svn地址使用file:///D:/SvnRepository/项目名

     启动svn服务:svnserve -d -r D:\svnRepository

     创建一个库:新建SvnRepository目录,进入,右键Create resository here。

 

11.TortoiseSVN是客户端,分为win32,x64版本。Subversion是服务端。

 12.在xcode中报:scm error  locked,Attempted to lock an already-locked dir 错误时,使命令行用“ svn cleanup /Users/x_workspace/工程目录”  解决

 

13.如果在同一个Repository内,即Repository未发生变化,只是版本库的内部路径变化了,使用Switch功能,切换到新的路径上。此时如果使用了Relocate功能,会报Relocate can only change the repository part of an URL。

    如果Repository更名了,或者Repository被移动到了另一台服务器上,则要使用Relocate功能。


14.  SVN简易使用手册

       svn resolved

       svn delete  本地filePathNameOrPath

       http://blog.csdn.net/kceiw/article/details/2305748

       http://www.open.collab.net/scdocs/ddUsingSVN_command-line.html.zh-cn


   http://blog.163.com/xue_huashan/blog/static/8044800420111114523154/解决Google Code Settings无法访问的问题

   http://blog.163.com/xue_huashan/blog/static/8044800420111114523154/

 

15.提交数据,服务器发送了意外的返回值(405 Method Not Allowed),在响应 “MKACTIVITY” 的请求

     使用http://开头的地址,能够正确的从googlecode上update。不过提交得用https://开头的地址。

     若使用的是TortoiseSVN,在右键中Relocate中修改地址。

     执行snv import也可能会出现405,可能因为服务器上已经存在了相同的上传的文件。

 

16.svn与gif

     http://blog.sina.com.cn/s/blog_7c336a8301014gvs.html

     gif比svn具有很多优越性,有一种情况,SVN具有的悲观锁的功能,能够实现一个用户在编辑时对文件进行锁定,阻止多人同时编辑 一个文件。这一悲观锁的功能是 Git所不具备的。对于以二进制文件 (Word文档、PPT演示稿) 为主的版本库,为避免多人同时编辑造成合并上的困难,建议使用SVN做版本控制。


17.嵌出指定版本的工程

     svn checkout 工程http地址 -r 版本号

     如: svn checkout http://.../project1 -r 8321


18. svn diff -r xxxx:xxxx


19.导入

例如:将本地目录myproj导入到版本库的trunk/misc,trunk/misc在导入之前不需要存在,svn import会递归的创建目录。
svn import -m "New import" myproj http://svn.red-bean.com/repos/trunk/misc
这样会把myproj目录下的文件导入到/trunk/misc下,不会创建myproj目录。
并且在导入数据之后,本地的myproj目录并没有纳入版本控制,为了开始工作,要运行svn checkout得到一个干净的目录树工作拷贝。


svn import -m "import libs" libs https://xxx.googlecode.com/svn/trunk/xxx/KxxxX/libs

svn import -m "import" controller https://xxx.googlecode.com/svn/trunk/re...../controller/



20.svn ls 列出当前目录下的文件

     svn list httpPath


21.

命令行下,提示 "svn: Commit failed (details follow):  svn: '/***/xxx.c' is scheduled for addition, but is missing"
用RabbitSVN,图形界面下提示 "/xxx/xxx.c is not a working copy"

原因:之前用SVN提交过的文件,被标记为"add"状态,等待被加入到仓库。若此时你把这个文件删除了,SVN提交的时候还是会尝试提交这个文件,虽然它的状态已经是 "missing"了。

解决:在命令行下用 "svn revert xxx.c",在图形界面下,右键--Revert,选中那个文件。这样就告诉SVN把这个文件退回到之前的状态 "unversioned",也就是不对这个文件做任何修改


22.查看某个文件内容

svn cat http://[email protected]:8080/svn/tianya_wireless/tianya_iphone_client/TianyaQing/Classes/controller/qing/WeiboDetailViewController.m --revision 8927



23.嵌出某版本

svn checkout http://[email protected]:8080/svn/tianya_wireless/tianya_iphone_client/tianyaClient --revision 9754




24.svn: Commit failed (details follow):
svn: Aborting commit: '/Users/gzty1/x_workspace/TianyaQingV2/TianyaQingV2/skin' remains in conflict

解决:svn resolved /Users/gzty1/x_workspace/TianyaQingV2/TianyaQingV2/skin


25:svn: Checksum mismatch for 'skin/day/Config.strings'; expected: '9c27473a8d51d9c539016f48b62ec9a5', actual: '7d9b541562af1efe325d58e4f80125c6'

可能要修改.svn中的entries,或者重新checkout


26.将静态库文件上传到svn

     不用Xcode自带svn,用命令行

     svn add libaaa.a
     svn commit -m "add static lib libaaa.a"


27.对比文件修改内容

svn diff -r 12679:12680 MicroForumMainViewController.m


28.创建目录 svn mkdir

若要在工作副本中创建新目录,键入:

svn mkdir PATH

若要在项目存储库中创建新目录,键入:

svn mkdir URL

PATH 或 URL 的最后一部分决定目录名称。在立即提交时在存储库中创建目录,所以还需要一条提交信息

--message (-m) TEXT, --file (-F) FILE, --quiet (-q), --username USER, --password PASS, --no-auth-cache, --non-interactive, --editor-cmd EDITOR, --encoding ENC, --force-log, --config-dir DIR


29.直接操作版本库

svn mkdir https://.../svn/trunk/A 创建A目录
svn copy https://.../svn/trunk/A https://.../svn/trunk/B -m "" 会在B下创建A目录
svn delete https://.../svn/trunk/A -m "" 删除A目录


30.



你可能感兴趣的:(开发工具)