Subversion:获取当前目录中受版本控制的文件列表

时间:2014-06-28 14:17:55

标签: svn

我想编写一个脚本来获取当前目录中所有版本控制文件的列表(无递归)。有没有办法做到这一点?这适用于Linux。

1 个答案:

答案 0 :(得分:0)

您可以从命令行获取现有子命令的列表:

C:\Test>svn help
usage: svn <subcommand> [options] [args]
Subversion command-line client, version 1.8.8.
Type 'svn help <subcommand>' for help on a specific subcommand.
Type 'svn --version' to see the program version and RA modules
  or 'svn --version --quiet' to see just the version number.

Most subcommands take file and/or directory arguments, recursing
on the directories.  If no arguments are supplied to such a
command, it recurses on the current directory (inclusive) by default.

Available subcommands:
   add
   blame (praise, annotate, ann)
   cat
   changelist (cl)
[...]

......或来自official Subversion book。您可能需要 svn list

  

svn list(ls) - 列出存储库中的目录条目。

对于自动处理,您可能还对--xml标志感兴趣:

  

--xml以XML格式打印输出。输出的XML模式(in   RELAX NG格式)在subversion / svn / schema /中维护   Subversion源代码树的目录。

据我所知,没有省略目录的选项,但输出总是以某种方式区分它们。普通输出添加一个尾部斜杠:

C:\Test>svn list
Bar.txt
Foo/

XML输出具有kind属性:

<entry
   kind="file">
<name>Bar.txt</name>
<size>1113</size>
<commit
   revision="802">
<author>alvaro</author>
<date>2014-03-10T20:36:52.111059Z</date>
</commit>
</entry>
<entry
   kind="dir">
<name>Foo</name>
<commit
   revision="795">
<author>alvaro</author>
<date>2014-02-05T20:24:50.508825Z</date>
</commit>
</entry>