svn 资料

http://www.shengfang.org


http://wanyancan.spaces.live.com/blog/cns!3D9F3FEED30B0D51!137.entry

svn 命令行小册
熬夜也要把这记下来,免得又忘了。
知道后感觉简单,不知道则晕得摸不到脑袋。虽然网上有很多图片教程,但抄来抄去,都是教你怎么用乌龟svn,在linux你怎么办?这里是命令行方式,稍微强调一下而已。

首先,你要能在命令行能输入svn,否则装一个先。http://subversion.tigris.org/
其次:记得这个中文手册的镜像http://www.coollittlethings.com/subversion/。不知道为什么官方的(www.subversion.org.cn/)不能访问。

开始正题:

  1. 把本地项目testsvn整个目录里的内容往备份站点塞, 这是最初的结构, 建立最初的rev 0
     以后checkout回来同样是按该路径,把目录下的(不包括最后的目录名)文件取回

         svn import testsvn svn://path/to/repos -m "最后的这个注释不能少"

  2. 取回项目, 路径同上. 最后取出来的新目录名不给定就会用最后路径的最后一个目录名, 这里就是repos目录

         svn checkout svn:///path/to/repos A_NewProjectName

  3. 更新本地项目. 千万记得,通过第一步import后的那个目录并没有默认建立svn与远程的关系,需要手动从服务器checkout回服务器的版本到本地, 才算正式建立与远程的关系(什么关系? 复杂关系!). checkout回来的项目就可以时不时地执行:

         svn update

  4. 搅和取回来的项目一番后,察看动了什么(一下命令都要在项目目录下运行)

         svn status

  5. 你对目录结构的修改或添加删除文件等类操作不能自动commit, 需要根据svn status显示的提示将文件/目录 明确 告诉svn是add, delete, copy 还是move

         svn add new_dir
         svn delete new_dir

  6. svn status仅仅显示最根本的信息,更多的改动变化通过这个获得:

         svn diff

  7. 提交你涂污后的大作:

         svn commit

温馨提示: 你可以本地建一个服务器来玩玩,

   svnadmin create g:/repos

记得把g:/repos/conf目录下的passwd和svnserve.conf里的注释去掉, svnserve.conf里要改为

   [general]
   password-db = passwd? # 这个表示我要用目录下的passwd文件当作访问密码设置

passwd里要加上用户名

   [users]
   thisis = userpwd

之后,你就可以通过file:///g:/repos来访问.
或者, 由svnserve -d -r g:/repos 建立本地svn协议服务器,然后通过svn://localhost/来访问
你总是可以通过svn list svn://localhost/来察看服务器该路径下的内容. 然后通过svn checkout 把路径目录下的内容(不包括最后路径目录) 取回到 "./最后路径名/"目录下.

我的subversion端口号是改过的,为2401,我就把svn.root=svn://localhost:2401/repos
但是启动TOMCAT,会出现
2007-02-12 14:10:57,919 ERROR [plugin.ext.subversion.SubversionManagerImpl] Conn
ection to Subversion repository svn://localhost:2401/repos failed: org.tmatesoft
.svn.core.SVNException: svn: Malformed network data
org.tmatesoft.svn.core.SVNException: svn: Malformed network data
??????? at org.tmatesoft.svn.core.internal.wc.SVNErrorManager.error(SVNErrorMana
ger.java:43)
??????? at org.tmatesoft.svn.core.internal.io.svn.SVNReader.readChar(SVNReader.j

的错误

得改为你现在工程的URL
svn.root=http://localhost:2401/svn/ocmsnc/truck
还有登陆SVN的帐号密码
svn.username=admin
svn.password=admin
要不会出现 2007-02-12 14:26:55,827 ERROR [plugin.ext.subversion.SubversionManagerImpl] Conn
ection to Subversion repository http://localhost:2401/svn/ocmsnc/truck failed: o
rg.tmatesoft.svn.core.SVNAuthenticationException: svn: Authentication required f
or /’ EasySVN/’
org.tmatesoft.svn.core.SVNAuthenticationException: svn: Authentication required
for /’ EasySVN/’
??????? at org.tmatesoft.svn.core.internal.wc.SVNErrorManager.error(SVNErrorMana
ger.java:41)
??????? at org.tmatesoft.svn.core.internal.io.dav.DAVUtil.findStartingProperties

ubversion 错误:
error while creating module:org.tigris.subversion.javahl.clientException:svn:malformed network data

解决办法,将SVN在Eclipse 下的配置改为JNI,而非纯Java
Subversive用了一个月然后扔了。感觉总是跟不上subversion的趟,subversion一更新它就爱出问题,有一次svn更新一个小版本subversive都出了个malformed network data的异常。
现在就subclipse了,一直狠和谐
subversive貌似加入eclipse foundation了吧?早先看的时候还在写proposal阶段。

你可能感兴趣的:(项目管理,svn,subversion,authentication,network,服务器,eclipse)