向你的工作副本中增加文件或者目录时使用的 Subversion 命令。在你提交的时候新的项就会被加入到版本库中。
当前工作副本里的文件或目录的基础版本。是文件或目录最后被检出、更新或者提交时的版本。基础版本通常和HEAD版本不一致。
这个命令只能用于文本文件,它将会标记每一行来显示版本库修订版本的最后修改的修订和作出修改的人。我们的GUI实现叫做TortoiseBlame,在你将鼠标移到修订版本号码上时,它也会显示时间和日志信息。
伯克利DB(Berkeley DB),版本库可以使用的一种经过充分测试的后台数据库实现,不能在通过网络共享的文件系统上使用,伯克利DB是 Subversion 1.2 版本以前的缺省版本库格式。
有一个版本控制系统经常使用,来描述在某个时间点的两个人追随不同的路径的术语。你可以创建一个分支离开开发的主线来添加一个新特性,而不必影响主线的稳定,或者你可以创建一个分支用来发布bug修正,而新的开发发生在不稳定的主干。在 Subversion,分支是使用“廉价的复制”实现的。
一个 Subversion 命令在空目录通过从版本库下载版本控制的文件来创建本地工作副本。
To quote from the Subversion book: “ Recursively clean up the working copy, removing locks and resuming unfinished operations. If you ever get a working copy locked error, run this command to remove stale locks and get your working copy into a usable state again. ” Note that in this context lock refers to local filesystem locking, not repository locking.
一个 Subversion 操作,用来将本地修改的内容传递回版本库,创建一个新的版本库修订版本。
当版本库的修改合并到本地修改,有时候修改发生在同一行,这种情况下,Subversion 不能自动决定使用文件的那一行,在提交之前,你需要手工编辑文件解决冲突。
在 Subversion 版本库,你可以创建一个文件或整个目录树的副本,这是通过“廉价复制”实现的,看起来很像链接到原来的位置,几乎不占用任何空间。创建一个保存历史的副本,这样你就可以跟踪副本之前的修改。
当你删除了一个版本控制的条目(并且提交这个修改),这个条目将不会存在于版本库以后的修订。但它还是存在于版本库的以前的修订版本里,如果必要,你可以复制一个删除的条目回来,并且保持所有的历史。
“显示区别”的快捷方式,当你希望查看你所做修改的时候非常有用。
这个命令创建了一个版本控制目录的副本,就像工作副本,但是没有.svn
目录。
FS文件系统,版本库可以使用的一种 Subversion 专用的后台文件系统格式,能够在通过网络共享的文件系统上使用,FSFS 是Subversion 1.2 版本以后的缺省版本库格式。
组策略对象
版本库里文件或目录的最新版本。
在一个修订里将整个目录导入到版本库的 Subversion 命令。
当一个版本控制条目的被你锁定,就是将它在版本库里标示为不可提交,只有作出锁定的工作副本可以提交。
显示一个文件或是文件夹的版本历史。也就是“历史”。
显示文件或目录的历史修订,也被称为“Log”。
这个过程会查看版本库添加到工作副本的的修改,而不会破坏你在本地的修改,有时候这些修改可能不会自动的结合,也就是冲突了。
在你更新工作副本时会自动合并,你也可以使用TortoiseSVN的合并命令从另一条分支进行合并。
如果工作副本只有文本文件有修改,也可以使用 Subversion 的 Diff 命令生成标准区别格式的单文件的修改摘要。这种文件通常被叫做“补丁”,可以邮寄给任何人,使之可以应用到另一个工作副本。一些没有提交访问的人可以通过提交补丁文件给有授权的人来应用补丁,或者是在不确定修改时提交补丁给别人进行评审。
除了版本控制文件和目录,Subversion 允许你添加版本控制的元数据 - 被称作每个文件和目录的“属性” 。每个属性都有一个名称和一个值,非常类似于注册表键。Subversion 有一些内置的特别属性,例如 svn:eol-style
。TortoiseSVN 也有一些类似的,例如 tsvn:logminsize
,你可以选择名称和值添加你自己的属性。
如果你的版本库移动了,或许是因为移动到了一个新的目录,或者是域名改变,你需要“relocate”你的工作副本,这样你的版本库URL指向新的地址。
注意: 工作副本必须是指向同一个版本库的同一个位置,是版本库本身移动了。在其他几种情况下,你很有可能是需要“Switch”命令。
版本库是进行数据存储和维护的中心。版本库既可以由分布在网络上的若干数据库或者文件组成,也可以存放在用户不需要通过网络就可以直接访问的某个位置。
当合并之后版本库的文件进入了冲突状态,必须有人用编辑器解决冲突(或者是TortoiseMerge),这个过程称作“解决冲突”,当此过程结束,你可以将冲突文件标示为解决,将会运行提交这个文件。
Subversion 会为每个更新到工作副本的文件保留一份“原始”副本。如果你做出了修改,并希望取消修改,你可以使用“revert”回到原始状态。
每当你提交一组修改,你会在版本库创建一个“修订版本”,每个修订代表了版本库树在历史上某一点的状态,如果你希望回到历史,你可以回到以前的修订版本N。
另一种情况下,你可以把修订看作修订版本建立的修改集。
就像文件,版本库的每个修订也可以有属性。一些特殊的修订属性会在修订版本创建时自动生成,例如: svn:date svn:author svn:log
代表了提交的时间,提交者和日志信息。这些属性可以编辑,但是这些属性都不是版本控制的,所以任何修改都是永久的,不可回退的。
Subversion 的常见缩写形式。
Subversion 的“svnserve”版本库服务器使用的自定义协议名称。
就像“Update-to-revision”从历史上改变了工作副本的视点,“Switch”改变了工作副本空间上的视点。当主干和分支只有微小差别时,这个命令非常有用,你可以在目录之间跳转,而只会有很小区别需要传输。
这个命令将最新的修改从版本库下载到工作副本,合并其他人的修改和工作副本的本地修改。
这是你的本地“沙盒”,这个区域是你工作在版本控制文件的地方,它一般存在于你的本地磁盘,你可以使用“Checkout”从版本库创建一个工作副本,然后使用“Commit”将修改传递回版本库。