①、svnlook
A、描述
<span style="font-size: 16px;">svnadmin setlog REPOS_PATH -r REVISION FILE </span>
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、描述
<span style="font-size: 16px;">svnlook author REPOS_PATH </span>
打印版本库一个修订版本或者事物的作者。
B、选项
- --revision (-r)
- --transaction (-t)
C、例子
svnlook author垂手可得,但是并不令人激动:
<span style="font-size: 16px;">$ svnlook author -r 40 /usr/local/svn/repos sally </span>
③、svnlook cat
A、描述
<span style="font-size: 16px;">svnlook cat REPOS_PATH PATH_IN_REPOS </span>
打印一个文件的内容。
B、选项
- --revision (-r)
- --transaction (-t)
C、例子
这会显示事物ax8中一个文件的内容,位于/trunk/README:
<span style="font-size: 16px;">$ 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 … </span>
④、svnlook changed
A、描述
<span style="font-size: 16px;">svnlook changed REPOS_PATH </span>
打印在特定修订版本或事物修改的路径,也是在第一列使用“svn update样式的”状态字符:A表示添加,D表示删除,U表示更新(修改)。
B、选项
- --revision (-r)
- --transaction (-t)
C、例子
显示在测试版本库修订版本39修改的文件列表:
<span style="font-size: 16px;">$ 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 </span>
⑤、svnlook date
A、描述
<span style="font-size: 16px;">svnlook date REPOS_PATH </span>
打印版本库一个修订版本或事物的时间戳。
B、选项
- --revision (-r)
- --transaction (-t)
C、例子
显示测试版本库修订版本40的日期:
<span style="font-size: 16px;">$ svnlook date -r 40 /tmp/repos/ 2003-02-22 17:44:49 -0600 (Sat, 22 Feb 2003) </span>
⑥、svnlook diff
A、描述
<span style="font-size: 16px;">svnlook diff REPOS_PATH </span>
打印版本库中GNU样式的文件和属性修改区别。
B、选项
- --revision (-r)
- --transaction (-t)
- --no-diff-deleted
C、例子
这显示了一个新添加的(空的)文件,一个删除的文件和一个拷贝的文件:
<span style="font-size: 16px;">$ 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 ============================================================================== </span>
如果一个文件有非文本的svn:mime-type属性,区别不会明确显示。
⑦、svnlook dirs-changed
A、描述
<span style="font-size: 16px;">svnlook dirs-changed REPOS_PATH </span>
打印本身修改(属性编辑)或子文件修改的目录。
B、选项
- --revision (-r)
- --transaction (-t)
C、例子
这显示了在我们的实例版本库中在修订版本40修改的目录:
<span style="font-size: 16px;">$ svnlook dirs-changed -r 40 /usr/local/svn/repos trunk/vendors/deli/ </span>
⑧、svnlook help
A、描述
<span style="font-size: 16px;">svnlook help </span>
显示svnlook的帮助信息,这个命令如同svn help的兄弟,也是你的朋友,即使你从不调用它,并且忘掉了邀请它加入你的上一次聚会。
B、别名
, h
⑨、svnlook history
⑦、svnlook dirs-changed
A、描述
<span style="font-size: 16px;">svnlook history REPOS_PATH [PATH_IN_REPOS] </span>
打印版本库(如果没有路径,则是根目录)某一个路径的历史。
B、选项
- --revision (-r)
- --transaction (-t)
C、例子
这显示了实例版本库中作为修订版本20的路径/tags/1.0的历史输出。
<span style="font-size: 16px;">$ svnlook history -r 20 /usr/local/svn/repos /tags/1.0 --show-ids REVISION PATH <ID> -------- --------- 19 /tags/1.0 <1.2.12> 17 /branches/1.0-rc2 <1.1.10> 16 /branches/1.0-rc2 <1.1.x> 14 /trunk <1.0.q> 13 /trunk <1.0.o> 11 /trunk <1.0.k> 9 /trunk <1.0.g> 8 /trunk <1.0.e> 7 /trunk <1.0.b> 6 /trunk <1.0.9> 5 /trunk <1.0.7> 4 /trunk <1.0.6> 2 /trunk <1.0.3> 1 /trunk <1.0.2> </span>
⑧、svnlook info
A、描述
<span style="font-size: 16px;">svnlook info REPOS_PATH </span>
打印作者、时间戳、日志信息大小和日志信息。
B、选项
- --revision (-r)
- --transaction (-t)
C、例子
显示了你的实例版本库在修订版本40的信息输出。
<span style="font-size: 16px;">$ svnlook info -r 40 /usr/local/svn/repos sally 2003-02-22 17:44:49 -0600 (Sat, 22 Feb 2003) 15 Rearrange lunch. </span>
⑨、svnlook log
A、描述
<span style="font-size: 16px;">svnlook log REPOS_PATH </span>
打印日志信息。
B、选项
- --revision (-r)
- --transaction (-t)
C、例子
这显示了实例版本库在修订版本40的日志输出:
<span style="font-size: 16px;">$ svnlook log /tmp/repos/ Rearrange lunch. </span>
⑩、svnlook propget
A、描述
<span style="font-size: 16px;">svnlook propget REPOS_PATH PROPNAME [PATH_IN_REPOS] </span>
列出版本库中一个路径一个属性的值。
B、别名
pg, pget
C、选项
- --revision (-r)
- --transaction (-t)
D、例子
这显示了HEAD修订版本中文件/trunk/sandwich的“seasonings”属性的值:
<span style="font-size: 16px;">$ svnlook pg /usr/local/svn/repos seasonings /trunk/sandwich mustard </span>
⑪、svnlook proplist
A、描述
<span style="font-size: 16px;">svnlook proplist REPOS_PATH [PATH_IN_REPOS] </span>
列出版本库中一个路径的属性,使用--verbose选项也会显示所有的属性值。
B、别名
pl, plist
C、选项
- --revision (-r)
- --transaction (-t)
- --verbose (-v)
D、例子
这显示了HEAD修订版本中/trunk/README的属性名称:
<span style="font-size: 16px;">$ svnlook proplist /usr/local/svn/repos /trunk/README original-author svn:mime-type </span>
这与前一个例子是同一个命令,但是同时显示了属性值:
<span style="font-size: 16px;">$ svnlook --verbose proplist /usr/local/svn/repos /trunk/README original-author : fitz svn:mime-type : text/plain </span>
⑫、svnlook tree
A、描述
<span style="font-size: 16px;">svnlook tree REPOS_PATH [PATH_IN_REPOS] </span>
打印树,从*PATH_IN_REPOS*(如果提供,会作为树的根)开始,可以选择显示节点修订版本ID。
B、选项
- --revision (-r)
- --transaction (-t)
- --show-ids
C、例子
这会显示实例版本库中修订版本40的树输出(包括节点ID):
<span style="font-size: 16px;">$ svnlook tree -r 40 /usr/local/svn/repos --show-ids / <0.0.2j> trunk/ <p.0.2j> vendors/ <q.0.2j> deli/ <1g.0.2j> egg.txt <1i.e.2j> soda.txt <1k.0.2j> sandwich.txt <1j.0.2j> </span>
⑬、svnlook uuid
A、描述
<span style="font-size: 16px;">svnlook uuid REPOS_PATH </span>
打印版本库的UUID,UUID是版本库的Universal Unique IDentifier(全局唯一标示),Subversion客户端可以使用这个标示区分不同的版本库。
B、例子
<span style="font-size: 16px;">$ svnlook uuid /usr/local/svn/repos e7fe1b91-8cd5-0310-98dd-2f12e793c5e8 </span>
⑭、svnlook youngest
A、描述
<span style="font-size: 16px;">svnlook youngest REPOS_PATH </span>
打印一个版本库最年轻的修订版本号。
B、例子
这显示了在实例版本库显示最年轻的修订版本:
<span style="font-size: 16px;">$ svnlook youngest /tmp/repos/ 42 </span>