我碰巧在文件夹下有不同的文件修订版(svn)。有没有命令显示我的每个文件的修订版本是什么?
我知道我可以做一个svn st -uq
,但只显示与服务器不同的文件,如果有更新的版本,我想知道修订是独立的。
答案 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
输出中的第一列是文件修订版