0

我碰巧在一个文件夹下有不同的文件版本(svn)。是否有任何命令可以显示我拥有的每个文件的修订版?我知道我可以做一个svn st -uq,但只显示与服务器不同的文件,如果有更新版本,我想知道独立的修订版本。

4

2 回答 2

1

您可以svn info用于此目的。以下命令打印当前目录中每个文件的信息 - 包括您正在寻找的修订:

svn info --depth files | grep '^Path: \|^Revision: '

如果要格式化输出,我建议使用该选项--xml并将输出传送到解析 XML 并以可读方式打印字段的脚本。以下清单包含一个如何在 Python 中完成的简单示例:

#! /usr/bin/env python3
import sys, lxml.etree
document = lxml.etree.parse(sys.stdin.buffer)
for entry in document.xpath('//entry[@kind="file"]'):
    print(entry.xpath('string(@path)'), entry.xpath('string(@revision)'))
于 2013-07-04T16:38:52.583 回答
0

svn ls -v URL|PATH

>svn ls -v http://mayorat.ursinecorner.ru:8088/svn/Hello/trunk/
     36 lazybadg              янв 09 11:45 ./
     34 lazybadg           42 мар 24  2012 Dr?p?r.ma?ar.sv?nskan.man.eller.smalensk?n.txt
     32 lazybadg           88 дек 27  2011 Hello.de.txt
     33 lazybadg           82 фев 28  2012 Hello.en.txt
     36 lazybadg           88 янв 09 11:45 Hello.eo.txt
     35 lazybadg           90 янв 09 11:35 Hello.fr.txt

输出中的第一列是文件修订

于 2013-07-05T04:25:21.310 回答