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