文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>Subversion快速上手

Subversion快速上手

时间:2006-08-11  来源:wxgchinaunix

快速上手

有些人难于靠阅读本书提供的自顶向下的途径来吸收新技术。这一节将给出一个非常简短的对Subversion 的介绍,这是为那些习惯于自底向上学习的人设计的。如果你是这种愿意从实际体验来学习的人,以下的演示将带你起步。随着演示的进程,我们给出了本书的相应章节的链接。

如果你对版本控制完全没有概念,或对CVS和Subversion使用的“复制-修改-合并”模式不了解。那么在开始前,你应该读一下第二章基本概念。

注意

注意:以下例子假设你安装好了Subversion 命令行客户工具svn,和管理工具svnadmin。还假定你的svn客户程序是基于Berkeley DB编译的。要验证这些,运行svn --version,确认ra_local模块可用。如果没有这个模块,客户程序无法访问file://这样的URL。

Subversion 把所有的版本化数据保存在中央资料库。所以,首先要创建一个新的资料库:

$ svnadmin create /path/to/repos $ ls /path/to/repos conf/ dav/ db/ format hooks/ locks/ README.txt 

这条命令创建了一个新目录/path/to/repos,该目录包含一个Subversion 资料库。请确认这个目录是在本地硬盘上而不是网络共享。这个目录主要包括一组Berkeley DB数据库文件。如果你进入这个目录,也看不到你的版本化文件。关于资料库的创建和维护的更多信息,参见第 5 章 资料库管理

接下来,创建一个文件和目录树以便导入到资料库。你创建的目录树应该包括三个顶级目录,分别命名为branches, tags和trunk。这么做的原因很快就清楚了(参见第 4 章 分支和合并):

/tmp/project/branches/ /tmp/project/tags/ /tmp/project/trunk/ foo.c bar.c Makefile .... 

当你准备好了这个数据树, 就用svn import命令(参见“svn import”一节)把它导入到资料库中:

$ svn import /tmp/project file:///path/to/repos -m "initial import" Adding /tmp/project/branches Adding /tmp/project/tags Adding /tmp/project/trunk Adding /tmp/project/trunk/foo.c Adding /tmp/project/trunk/bar.c Adding /tmp/project/trunk/Makefile .... Committed revision 1. $ 

现在,资料库里包含了这个数据树。注意原来你创建的/tmp/project目录没有被改变。Subversion 不知道它(事实上,如果你愿意的话删除它也没关系) 。为了开始操作资料库数据,你需要创建数据的一个新的“工作副本”,一种私有的工作区。以下命令让Subversion “检出”资料库中trunk目录的一个工作副本。

$ svn checkout file:///path/to/repos/trunk project A project/foo.c A project/bar.c A project/Makefile … Checked out revision 1. 

现在你有资料库中数据的一份个人拷贝,放在一个名为project的新目录中。你可以编辑这些在你工作副本中的文件然后将变化提交到资料库。

  • 进到你的工作副本并编辑一个文件的内容

  • 运行svn diff来查看你的改动的标准diff输出

  • 运行 svn commit 把文件的新版本提交到资料库

  • 运行svn update 让你的工作副本和资料库中最新的数据同步

排行榜 更多 +
永生之岛

永生之岛

角色扮演 下载
维京传奇h5

维京传奇h5

角色扮演 下载
弹指江湖

弹指江湖

冒险解谜 下载