如何在Mac Xcode下使用SVN(部分)

来源:互联网 发布:合肥致远软件 编辑:程序博客网 时间:2024/05/22 00:34


  不管是Web, iPhone和Mac的开发,SVN(Subversion),已经成为我每天开发中须臾不可以离的朋友,但是这个工具对于普通的个人开发者来说有点奢侈,如果不在互联网租用一台服务器(约7000元每年)的话,是很难享用那么方便的工具的。于是我们两年前做了一个SVN的平台,svn.w18.net,把我们在广州电信的服务器的Subversion服务器共享出来,希望对大家有用,对于开源的项目是免费的,私有项目100元每年。

  Xcode 3.0 以上可以完美支持SVN, 今天和大家分享一下在Xcode中使用SVN的经验。

  第一步,配置 Subversion

  Leopard中自带了SVN,但Xcode的项目文件中,并不是所有文件都适于加入SVN中进行管理,比如编译后的文件和编译过程中产生的文件,这些文件不属于源代码,应该告诉svn忽略掉,方法:

  编辑 ~/.subversion/config 文件

  1. 找到 global-ignores 一行,去掉注释,编辑成

  global-ignores = build *~.nib *.so *.pbxuser *.mode*.perspective*

  Xcode项目文件中有些文件是文本文件,需要告诉SVN,因为SVN能更好地管理文本文件(谁用谁知道)

  2. 找到 enable-auto-props = yes 把注释去掉,在[auto-props]Section声明以下文本文件

  *.mode* = svn:mime-type=text/X-xcode

  *.pbxuser = svn:mime-type=text/X-xcode

  *.perspective* = svn:mime-type=text/X-xcode

  *.pbxproj = svn:mime-type=text/X-xcode

  第二步,配置Xcode

  我们熟悉的Version Control在Xcode中叫做SCM(Software ConfigurationManagement,学习CMMI的时候整天看到,原来就是Version Control),

  1. 在Xode的菜单中选择 SCM -> ConfigureRepositories,填写SVN服务器的信息

  

 

 

SVN服务器的信息
SVN服务器的信息

  2. 然后选SCM -> Repositories 你就可以Import, CheckOut你想要的内容了,SVN的日常管理也可以在这里做。

  

 

 

SVN服务器的信息

  3. Checkout项目以后在你的项目的属性中设置项目的SCM

 

 

  

  4.设置好以后,你在你的项目视图中就可以看到新的一列,M表示该文件已经修改过,然后你已经可以通过SCM菜单,或者右键菜单直接进行SVN的操作,commit,update,revert,diff and log,任何你想要的。

  

  SCM->Get SCM Info 可以看到任何文件的版本信息

  




  1. Xcode SVN配置  
  2. 编辑 ~/.subversion/config 文件   
  3.   注意:如果”.subversion”目录不存在,请运行”svn status”命令,虽然此命令会失败,但是会为你创建所需要的文件.      
  4.   open ~/.subversion/config 打开文件  
  5.   
  6. 1. 找到 global-ignores 一行,去掉注释,编辑成  
  7. global-ignores build *~.nib *.so *.pbxuser *.mode *.perspective*  
  8. Xcode项目文件中有些文件是文本文件,需要告诉SVN,因为SVN能更好地管理文本文件(谁用谁知道)  
  9. 2. 找到 enable-auto-props yes 把注释去掉,在[auto-props] Section声明以下文本文件  
  10. *.mode* svn:mime-type=text/X-xcode  
  11. *.pbxuser svn:mime-type=text/X-xcode  
  12. *.perspective* svn:mime-type=text/X-xcode  
  13. *.pbxproj svn:mime-type=text/X-xcode  
  14.   
  15. 创建版本库  
  16. (1)到需要存放版本库的地方(比如家目录),建立以SVNRep为名的版本库  
  17. svnadmin create SVNrep  
  18. (2)向版本库中导入内容  
  19. mkdir test  
  20. touch test/test.Txt  (建立一个演示的目录)  
  21. svn import test http://s1.e-linkway.com/svn/iphone_class -m "Initial import"  
  22.   
  23. (3)建立一个版本库的拷贝  
  24. svn checkout file:///Users/your_user_name/SVNrep/test test-copy  (会创建一个test-copy命名的拷贝)  
  25. (4)修改后提交  
  26. svn commit -m "Added some text"  
  27. (5)部分相关svn命令  
  28. svn status(查看状态)  
  29. svn update (进行更新)  
  30. svn log (查看日志)  
  31. svn diff -r 1(1为版本号,查看与某一版本的区别)  
  32. svn update -r 1(更新到某一版本)  
  33. svn add test2.txt (向版本库中添加进一个文件)  
  34. svn delete test2.txt (向版本库中删除一个文件)(注:从版本库中添加,删除及重命名时必须带svn命令,否则svn会跟踪不到这些变化)  
  35. 在Origanizer - Repositories里添加SVN路径  
  36.   
  37. 问题:  
  38. version  
  39. 修改open ~/ .subversion/config文件的时候,enable-auto-props yes 把注释去掉;结果有空格没有删除,就会出现 optional expected之类的报错,无法创建成功  
  40. 删除空格后,就没问题了.  
原创粉丝点击