博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
使用Subversion进行版本控制 附录A
阅读量:5334 次
发布时间:2019-06-15

本文共 2268 字,大约阅读时间需要 7 分钟。

更详细内容请见:

中文版:
英文版:

快速指南

请确定你坐在了正确的位置,你的盘桌已经关闭,乘务员们,准备起飞…。

这是一个非常高层次的教程,能够帮助你熟悉Subversion的基本配置和操作,在结束这个教程时,你一定能够对Subversion的典型使用有了一个基础的认识。

运行下面的例子需要首先正确安装Subversion客户端程序svn以及管理工具svnadmin,并且必须为1.2或更新版本的Subversion程序(可以运行svn --version来检查Subversion的版本。)

Subversion的所有版本化数据都储存在中心版本库中。因此首先,我们需要创建一个版本库:

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

这个命令创建了一个新目录/path/to/repos,并在其中创建了一个Subversion版本库。这个目录里主要保存了一些数据库文件(还有其它一些文件),而不像CVS那样保存着版本化的文件。需要更多版本库创建和维护方面的内容,参见。

在Subversion没有“项目”的概念。Subversion的版本库只是一个虚拟的版本化文件系统,可以存放你想要存放的任何文件。有些管理员喜欢为每个项目建立一个独立的版本库,而另外一些管理员则喜欢将多个项目存放到同一个版本库的不同目录里。这两种方式各有各的优点,关于这方面内容的叙述,参见。不论是哪一种方式,版本库都只是负责管理文件和目录,而“项目”则是人为指定的概念。因此,尽管本书中遍布着项目这个词,但是请记住我们只不过是在谈论版本库中的某些特定目录(或者是一组目录)。

在这个例子中,我们假定已经有一些需要导入到Subversion版本库的条目(一组文件和目录)。接下来,我们需要把这些条目整理到一个名为myproject的目录(或者其它任意目录)里。在这个目录下,创建三个顶级子目录:branchestagstrunk,这样做的原因将在后文中阐述。之后,将所有需版本化的数据保存到trunk目录下,同时保持branchestags目录为空:

/tmp/myproject/branches//tmp/myproject/tags//tmp/myproject/trunk/                     foo.c                     bar.c                     Makefile                     …

branchestagstrunk这三个子目录不是Subversion必须的。但这样做是Subversion的习惯用法,我们还是遵守这个约定吧。

准备好了数据之后,就可以使用svn import命令(参见)将其导入到版本库中:

$ svn import /tmp/myproject file:///path/to/repos/myproject -m "initial import"Adding         /tmp/myproject/branchesAdding         /tmp/myproject/tagsAdding         /tmp/myproject/trunkAdding         /tmp/myproject/trunk/foo.cAdding         /tmp/myproject/trunk/bar.cAdding         /tmp/myproject/trunk/Makefile…Committed revision 1.$

现在版本库中已经保存了目录中的数据。如前所述,直接查看版本库是看不到文件和目录的;它们存放在数据库之中。但是版本库的虚拟文件系统中则包含了一个名为myproject的顶级目录,其中依此保存了所有的数据。

注意我们在一开始创建的那个/tmp/myproject目录并没有改变,Subversion并不在意它(事实上,完全可以删除这个目录)。要开始使用版本库数据,我们还要创建一个新的用于存储数据的“工作拷贝”,这是一个私有工作区。从Subversion版本库里“检出”一个myproject/trunk目录工作拷贝的操作如下:

$ svn checkout file:///path/to/repos/myproject/trunk myprojectA  myproject/foo.cA  myproject/bar.cA  myproject/Makefile…Checked out revision 1.

现在,在myproject目录下生成了一个版本库数据的独立拷贝。我们可以在这个工作拷贝中编辑文件,并将修改提交到版本库中。

  • 进入工作拷贝目录,编辑某个文件的内容。

  • 运行svn diff以标准差别格式查看修改的内容。

  • 运行svn commit将更改提交到版本库中。

  • 运行svn update更新”工作拷贝。

完整的工作拷贝操作指南,请参见。

现在,Subversion版本库可以通过网络方式访问。参考,了解不同服务器软件的使用以及配置方法。

转载于:https://www.cnblogs.com/lujinhong2/archive/2013/02/25/4637415.html

你可能感兴趣的文章
.net webService代理类
查看>>
Code Snippet
查看>>
Node.js Express项目搭建
查看>>
zoj 1232 Adventure of Super Mario
查看>>
1201 网页基础--JavaScript(DOM)
查看>>
组合数学 UVa 11538 Chess Queen
查看>>
oracle job
查看>>
Redis常用命令
查看>>
XML学习笔记(二)-- DTD格式规范
查看>>
IOS开发学习笔记026-UITableView的使用
查看>>
[转载]电脑小绝技
查看>>
windos系统定时执行批处理文件(bat文件)
查看>>
thinkphp如何实现伪静态
查看>>
BZOJ 2243: [SDOI2011]染色( 树链剖分 )
查看>>
BZOJ 1925: [Sdoi2010]地精部落( dp )
查看>>
c++中的string常用函数用法总结!
查看>>
界面交互之支付宝生活圈pk微信朋友圈
查看>>
[DLX精确覆盖+打表] hdu 2518 Dominoes
查看>>
SuperMap iServerJava 6R扩展领域开发及压力测试---判断点在那个面内(1)
查看>>
Week03-面向对象入门
查看>>