Java开发中使用SVN版本控制 (3)

运行checkout命令后进入MyERP目录,看到里面什么都没有。真的什么都没有吗?不是的。检出命令会在这一目录下创建一个隐藏目录.svn,用来保存与服务器交互的重要信息,其中包括从服务器端取回的最新版本信息、文件状态、更新时间等。SVN正是以此为依据判断当前目录中文件的状态。所以这个隐藏目录千万不要删除或修改其中的内容——完全无视它的存在吧。如果服务器端保存的文件可以视为一个“正本”,那么每个开发人员检出到本地目录的文件可以视为“副本”,通常称为工作副本。

3.2          提交

①进入D:\DevWorkSpace\SVNSpace\MyERP目录

②创建一个文件test.txt

③执行svn commit命令,运行结果是

D:\DevWorkSpace\SVNSpace\MyERP>svn commit test.txt

svn: E200009: 提交失败(细节如下):

svn: E200009: “D:\DevWorkSpace\SVNSpace\MyERP\test.txt” 尚未纳入版本控制

 

说明一个文件必须纳入版本控制才可以提交到服务器端。

④执行svn add命令,将test.txt纳入版本控制

D:\DevWorkSpace\SVNSpace\MyERP>svn add test.txt

A         test.txt

 

⑤再次执行svn commit命令

D:\DevWorkSpace\SVNSpace\MyERP>svn commit test.txt

svn: E205007: 提交失败(细节如下):

svn: E205007: 无法使用外部编辑器获得日志信息;考虑设置环境变量 $SVN_EDITOR,或者使用 --message (-m) 或 --file (-F) 选项

svn: E205007: 没有设置 SVN_EDITOR,VISUAL 或 EDITOR 环境变量,运行时的配置参数中也没有 “editor-cmd” 选项

 

此时要求附加日志信息

⑥使用-m参数附加日志信息

D:\DevWorkSpace\SVNSpace\MyERP>svn commit -m "My first commit"  test.txt

svn: E170001: 提交失败(细节如下):

svn: E170001: 认证失败

 

原因是没有权限

⑦暂时先开启匿名访问权限

[1]进入对应的版本库目录下的conf目录:D:\DevRepository\Subversion\ERP\conf

[2]打开svnserve.conf

[3]将第19行的# anon-access = read改为anon-access = write,也就是去掉“# ”,将read改为write。注意前面不要留空格,一定要顶格写。

[4]不需要重启SVN服务,甚至命令行窗口都不需要重新打开。

⑧重新执行提交命令

D:\DevWorkSpace\SVNSpace\MyERP>svn commit -m "My first commit"  test.txt

正在增加       test.txt

传输文件数据.

提交后的版本为 1。

 

说明提交成功了。

⑨其实svn commit命令最后可以不指定具体文件,此时表示提交当前工作副本中的所有修改。

3.3          更新

①将服务器端文件检出到一个新的目录,模拟另外一个终端

D:\DevWorkSpace\SVNSpace>svn checkout svn://localhost/ERP TomERP

A    TomERP\test.txt

取出版本 1。

 

②回到MyERP目录,对test.txt文件修改后提交。

③进入TomERP目录

④执行svn update命令

D:\DevWorkSpace\SVNSpace\TomERP>svn update

正在升级 \'.\':

U    test.txt

更新到版本 2。

 

这样我们就可以在TomERP目录下看到MyERP目录下提交的修改。

⑤思考:更新和检出的相同点和不同点分别是什么?

 

检出

 

更新

 

相同点

 

从服务器端下载最新内容

 

不同点1

 

下载整个项目

 

下载与本地工作副本不同的内容

 

不同点2

 

创建.svn目录,使检出目录成为工作副本

 

依赖.svn目录

 

不同点3

 

只能操作1次

 

可以操作多次

 

3.4          工作副本中文件的几种状态

①没有修改,现行版本

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zzppgy.html