获取帮助
svk help commands 将会列出所有 SVK 支持的子命令。
对于某个特定的命令如 update,svk help update 将会得到关于 update 的说明。
svk help environment 将会列出所有与 SVK 相关的环境变量。
SVK Documentation - Main index:
If this is your first time using SVK, you should start by reading a
brief tutorial. When you're ready, type:
svk help intro
Once you've done that, more in-depth help is available:
svk help environment Environment variables that alter svk's behavior
svk help commands A list of all available commands
svk help view svk view support
svk help <command-name> Help for a specific command
For commercial support, contact sales@bestpractical.com. For up to date
information about SVK, visit http://svk.bestpractical.com/.
如果想要体验最新的版本,可以直接从 SVK 的版本库取出最新的源代码进行编译安装:
Perl 绑定安装部分同前述。
svn co http://code.bestpractical.com/svk/trunk/
cd trunk/
perl Makefile.PL
make
make test
make install
svk 新功能
相较于 Subversion 而言,SVK 增加了许多强劲的功能。 Depot
首先介绍一个新概念—— Depot,它是 SVK 进行版本管理的核心。SVK 使用 Subversion 的版本库实现 Depot。对本地 Depot 的引用是使用"//",由于它完全是 Subversion 兼容的,因此用户也可以很方便的将 Depot 通过 svnserve 或者 http 方式发布到网络上。
Patch
在 Subversion 中,用户可以使用重定向 svn diff 的输出来生成 patch 文件:
svn diff foo > patch.diff
在 SVK 中补丁的功能得到了加强。用户可以通过 commit 以及 smerge 中的 -P(--patch) 选项来创建补丁:
Accept:
a : Accept the merged/edited file.
y : Keep only changes to your file.
t : Keep only changes to their file.
Diff:
d : Diff your file against merged file.
dm : See merged changes.
dy : See your changes alone.
dt : See their changes alone.
Edit:
e : Edit merged file with an editor.
m : Run an external merge tool to edit merged file.
Misc:
s : Skip this file.
h : Print this help message.
Environment variables:
EDITOR : Editor to use for 'e'.
SVKMERGE : External merge tool to always use for 'm'.
SVKRESOLVE : The resolve action to take, instead of asking.
在合并的过程中遇到冲突 SVK 会中断操作并提示用户输入:
e)dit, d)iff, m)erge, s)kip, t)heirs, y)ours, h)elp? [e]
可以选择的操作有编辑当前文件,打印出差异,合并,跳过,保留源端文件以及保留目标端的文件。
选择了 merge 以后 SVK 会自动搜寻可以使用的合并工具:
Multiple merge tools found, choose one:
(to skip this question, set the SVKMERGE environment variable to one of them)
1)GVim, 2)TortoiseMerge, 3)Vim, q)uit?
用户可以使用任何一种合并工具来手动解决冲突。此外 SVK 提供了设定环境变量来定义默认解决冲突的方式,用户可以设定环境变量 SVKRESOLVE 为上述提到的任何一种操作,例如 s(kip),t(heirs),y(ours)。 性能
SVK 在大部分方面具有与 Subversion 相当的性能,而在某些可以离线的操作具有更出色的表现。例如 svk status, svk update 以及 svk switch。
CVS,SVK 以及 Subversion 详细的比较数据见 http://svk.bestpractical.com/view/SVKvsSVNvsCVS