①、svnlook
A、描述
svnadmin setlog REPOS_PATH -r REVISION FILE
svnlook是检验Subversion版本库不同方面的命令行工具,它不会对版本库有任何修改―它只是用来“看”。svnlook通常被版本库钩子使用,但是版本库管理也会发现它在诊断目的上也非常有用。
因为svnlook通过直接版本库访问(因此只可以在保存版本库的机器上工作)工作,所以他通过版本库的路径访问,而不是URL。
如果没有指定修订版本或事物,svnlook缺省的是版本库最年轻的(最新的)修订版本。
B、选项
svnlook的选项是全局的,就像svn和svnadmin;然而,大多数选项只会应用到一个子命令,因为svnlook的功能是(有意的)限制在一定范围的。
--no-diff-deleted:防止svnlook打印删除文件的区别,缺省的行为方式是当一个文件在一次事物/修订版本中删除后,得到的结果与保留这个文件的内容变成空相同。
--revision (-r):指定要进行检查的特定修订版本。
--transaction (-t):指定一个希望检查的特定事物ID。
--show-ids:显示文件系统树中每条路径的文件系统节点修订版本ID。
②、svnlook author
A、描述
svnlook author REPOS_PATH
打印版本库一个修订版本或者事物的作者。
B、选项
--revision (-r)
--transaction (-t)
C、例子
svnlook author垂手可得,但是并不令人激动:
$ svnlook author -r 40 /usr/local/svn/repos
sally
③、svnlook cat
A、描述
svnlook cat REPOS_PATH PATH_IN_REPOS
打印一个文件的内容。
B、选项
--revision (-r)
--transaction (-t)
C、例子
这会显示事物ax8中一个文件的内容,位于/trunk/README:
$ svnlook cat -t ax8 /usr/local/svn/repos /trunk/README
Subversion, a version control system.
=====================================
$LastChangedDate: 2003-07-17 10:45:25 -0500 (Thu, 17 Jul 2003) $
Contents:
I. A FEW POINTERS
II. DOCUMENTATION
III. PARTICIPATING IN THE SUBVERSION COMMUNITY
…
④、svnlook changed
A、描述
svnlook changed REPOS_PATH
打印在特定修订版本或事物修改的路径,也是在第一列使用“svn update样式的”状态字符:A表示添加,D表示删除,U表示更新(修改)。
B、选项
--revision (-r)
--transaction (-t)
C、例子
显示在测试版本库修订版本39修改的文件列表:
$ svnlook changed -r 39 /usr/local/svn/repos
A trunk/vendors/deli/
A trunk/vendors/deli/chips.txt
A trunk/vendors/deli/sandwich.txt
A trunk/vendors/deli/pickle.txt
⑤、svnlook date
A、描述
svnlook date REPOS_PATH
打印版本库一个修订版本或事物的时间戳。
B、选项
--revision (-r)
--transaction (-t)
C、例子
显示测试版本库修订版本40的日期:
$ svnlook date -r 40 /tmp/repos/
2003-02-22 17:44:49 -0600 (Sat, 22 Feb 2003)
⑥、svnlook diff
A、描述
svnlook diff REPOS_PATH
打印版本库中GNU样式的文件和属性修改区别。
B、选项
--revision (-r)
--transaction (-t)
--no-diff-deleted
C、例子
这显示了一个新添加的(空的)文件,一个删除的文件和一个拷贝的文件:
$ svnlook diff -r 40 /usr/local/svn/repos/
Copied: egg.txt (from rev 39, trunk/vendors/deli/pickle.txt)
Added: trunk/vendors/deli/soda.txt
==============================================================================
Modified: trunk/vendors/deli/sandwich.txt
==============================================================================
--- trunk/vendors/deli/sandwich.txt(original)
+++ trunk/vendors/deli/sandwich.txt2003-02-22 17:45:04.000000000 -0600
@@ -0,0 +1 @@
+Don't forget the mayo!
Modified: trunk/vendors/deli/logo.jpg
==============================================================================
(Binary files differ)
Deleted: trunk/vendors/deli/chips.txt
==============================================================================
Deleted: trunk/vendors/deli/pickle.txt
==============================================================================
如果一个文件有非文本的svn:mime-type属性,区别不会明确显示。
⑦、svnlook dirs-changed
A、描述
svnlook dirs-changed REPOS_PATH
打印本身修改(属性编辑)或子文件修改的目录。
B、选项
--revision (-r)
--transaction (-t)
C、例子
这显示了在我们的实例版本库中在修订版本40修改的目录:
$ svnlook dirs-changed -r 40 /usr/local/svn/repos
trunk/vendors/deli/
⑧、svnlook help
A、描述
svnlook help
显示svnlook的帮助信息,这个命令如同svn help的兄弟,也是你的朋友,即使你从不调用它,并且忘掉了邀请它加入你的上一次聚会。
B、别名
, h
⑨、svnlook history
⑦、svnlook dirs-changed
A、描述
svnlook history REPOS_PATH [PATH_IN_REPOS]
打印版本库(如果没有路径,则是根目录)某一个路径的历史。
B、选项
--revision (-r)
--transaction (-t)
C、例子
这显示了实例版本库中作为修订版本20的路径/tags/1.0的历史输出。
$ svnlook history -r 20 /usr/local/svn/repos /tags/1.0 --show-ids
REVISION PATH-------- ---------
19 /tags/1.017 /branches/1.0-rc216 /branches/1.0-rc214 /trunk13 /trunk11 /trunk9 /trunk8 /trunk7 /trunk6 /trunk5 /trunk4 /trunk2 /trunk1 /trunk
⑧、svnlook info
A、描述
svnlook info REPOS_PATH
打印作者、时间戳、日志信息大小和日志信息。
B、选项
--revision (-r)
--transaction (-t)
C、例子
显示了你的实例版本库在修订版本40的信息输出。
$ svnlook info -r 40 /usr/local/svn/repos
sally
2003-02-22 17:44:49 -0600 (Sat, 22 Feb 2003)
15
Rearrange lunch.
⑨、svnlook log
A、描述
svnlook log REPOS_PATH
打印日志信息。
B、选项
--revision (-r)
--transaction (-t)
C、例子
这显示了实例版本库在修订版本40的日志输出:
$ svnlook log /tmp/repos/
Rearrange lunch.
⑩、svnlook propget
A、描述
svnlook propget REPOS_PATH PROPNAME [PATH_IN_REPOS]
列出版本库中一个路径一个属性的值。
B、别名
pg, pget
C、选项
--revision (-r)
--transaction (-t)
D、例子
这显示了HEAD修订版本中文件/trunk/sandwich的“seasonings”属性的值:
$ svnlook pg /usr/local/svn/repos seasonings /trunk/sandwich
mustard
⑪、svnlook proplist
A、描述
svnlook proplist REPOS_PATH [PATH_IN_REPOS]
列出版本库中一个路径的属性,使用--verbose选项也会显示所有的属性值。
B、别名
pl, plist
C、选项
--revision (-r)
--transaction (-t)
--verbose (-v)
D、例子
这显示了HEAD修订版本中/trunk/README的属性名称:
$ svnlook proplist /usr/local/svn/repos /trunk/README
original-author
svn:mime-type
这与前一个例子是同一个命令,但是同时显示了属性值:
$ svnlook --verbose proplist /usr/local/svn/repos /trunk/README
original-author : fitz
svn:mime-type : text/plain
⑫、svnlook tree
A、描述
svnlook tree REPOS_PATH [PATH_IN_REPOS]
打印树,从*PATH_IN_REPOS*(如果提供,会作为树的根)开始,可以选择显示节点修订版本ID。
B、选项
--revision (-r)
--transaction (-t)
--show-ids
C、例子
这会显示实例版本库中修订版本40的树输出(包括节点ID):
$ svnlook tree -r 40 /usr/local/svn/repos --show-ids
/trunk/vendors/
deli/egg.txtsoda.txtsandwich.txt
⑬、svnlook uuid
A、描述
svnlook uuid REPOS_PATH
打印版本库的UUID,UUID是版本库的Universal Unique IDentifier(全局唯一标示),Subversion客户端可以使用这个标示区分不同的版本库。
B、例子
$ svnlook uuid /usr/local/svn/repos
e7fe1b91-8cd5-0310-98dd-2f12e793c5e8
⑭、svnlook youngest
A、描述
svnlook youngest REPOS_PATH
打印一个版本库最年轻的修订版本号。
B、例子
这显示了在实例版本库显示最年轻的修订版本:
$ svnlook youngest /tmp/repos/
42