Utilize shell scripts,linux commands, open source tools,java, to Maximize the Power of Linux.
Focused on working with linux and shell, search engine technology including Chinese segmenter
Any questions please contact me at gmail: david.ullua

2/02/2007

SVN 项目管理使用FAQ

/******************* SVN 项目管理使用FAQ. **********************
* Author David Lv Euler
* Createddate 2007-2-1
* Contact david.ullua at gmail (please add .com to gmail)
* You can redistribute the total file wherever you like, but pls keep the
author's info. The document is provided WITHOUT any warranty.
****************************************************************/

1.如何将eclipse的项目添加到SVN管理:
a.对于建立好的项目(未受SVN管理),在eclipse中,右键点击项目名,点"ShareProject", 选"SVN",点"下一步"

b.选择"创建新的资源库位置",或者"使用已有的资源库位置",选择资源库后点"下一步",

c.假定选择或者创建的资源库位置为svn://172.16.100.26, 通常要选择服务器上特定的目录下面保存项目,
比如在svn://172.16.100.26/dev-source/app/下面,那么就选择"使用指定的模块名",
点浏览并选择:svn://172.16.100.26/dev-source/app/,
这个时候在输入框里面会有一个"New Folder"被选中, 把New Folder改为项目的名称。点"下一步"。

2.如何利用eclipse(已安装subclipse插件), 从SVN上取得项目到本地的Workspace中:
a. Eclipse 中点"File" -> "New" -> "other" , 选择SVN, "从SVN取出项目".

b. 选择"创建新的资源库位置",或者"使用已有的资源库位置",选择资源库后点"下一步"

c. 选择要导出的项目在SVN上的路径,比如dev-source/monternet/Server,
点"Next", 选择"做为新项目取出,
并使用新建项目向导进行配置", 点Finish. 这时会弹出New Project的向导,
因为项目在SVN上,本地上没有,所以会出现这个向导。

d. 在新建项目向导中,选择"Java" -> "Java Project"(比如ServerCore可能需要选择这个),
或者 "Web" -> "Dynamic Web Project" (比如LinuxWebSite项目可能需要选择这个).
点"Next", 输入Project name, 比如RobooProject. 点Next, 点"Finish"。
这样就完成了从SVN服务器上取出项目到Eclipse的workspace中

3. 为什么提交总是失败。
需要注意两点:
a.若与Tortoise 同时使用,那么尽量不要同时使用Tortoise和eclipse对一个目录进行操作。
b.在把其他目录的文件拷贝到受SVN管理的项目中时, 需要按目录提交,而不是按文件提交。
c.在对类名/文件名进行重构时,需要按目录(文件所在的目录)提交,而不是对单个的文件进行提交。

4.SVN客户端的常用命令有哪些?
如果装了Subversion, 在windows和linux下都可以用命令行来获取SVN上的信息。 有几个命令比较常用:
svn co
svn list
svn info
svn add
svn commit

比如
svn list svn://172.16.100.26/dev-doc/ , 显示服务器上指定目录的内容
svn co svn://172.16.100.26/dev-doc/ , 获取服务器上的内容
svn info svn://172.16.100.26/dev-doc/tools/subversion/svn_tutorial.txt , 显示SVN
上指定文件的信息。
svn info 显示当前受SVN 管理的目录信息。
svn add files_on_local_disk 添加本地文件到SVN 管理(此命令尚未将文件上传到SVN中)
svn commit (提交所做的改动, 上传用svn add 命令添加的文件)

5. 如何使用命令获取SVN的项目到eclipse中进行管理?
用命令获取项目, 再从eclipse打开项目会更方便。比如获取ServerCore项目, 我这样做:
1. svn co svn://172.16.100.26/dev-src/ServerCore(获取服务器上的项目到当前目录下,会产生RobooCore
目录)
2.从eclipse新建项目, 指定步骤1中获取到的项目目录. 这样就完成了从SVN获取项目到Eclipse.
比前面问题2中的a, b, c, d 四步要方便很多。

6. 为什么会遇到 Authentication Failed?
Authentication Failed通常是因为没有对应目录的权限所导致。

7. 为什么我遇到 Out of date: '/dev-src/xxx/yyy' in transaction '102-1'
当本机修改的文件不是服务器上的最新版本,修改本机文件后commit, 会提示out of date的错误。
需要先从服务器上获取最新版本(update), 然后进行修改,这时候再提交就可以了。

No comments:

About Me

I am a senior developer and a team leader with 3 years development experience in Suzhou, China, focus on mobile web search, linux, Java and machine learning in NLP (natural language processing). My goal is to improve people's life with computer technology.