在svn中查看文件夹下单个文件修订的命令是什么?

时间:2013-07-04 14:55:41

标签: svn revision

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

2 个答案:

答案 0 :(得分: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)'))

答案 1 :(得分: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

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