2017-02-10 64 views
0

我有一个SVN存储库的子文件夹签出。我想脚本svn diff -r$OLDESTREVISION > diff && vim diff && rm diff,所以我可以将它别名为difforig如何检出SVN中最旧的子文件夹版本?

OLDESTREVISION对于我想要运行它的每个子文件夹都会有所不同,所以我不能对其进行硬编码。我可以svn log和解析输出的最古老的列,但这将需要输入密码和更多的时间比我想要的。

svn help diff返回

-r [--revision] ARG  : ARG (some commands also take ARG1:ARG2 range) 
          A revision argument can be one of: 
           NUMBER  revision number 
           '{' DATE '}' revision at start of the date 
           'HEAD'  latest in repository 
           'BASE'  base rev of item's working copy 
           'COMMITTED' last commit at or before BASE 
           'PREV'  revision just before COMMITTED 

但预期svn diff -rBASE不起作用。

回答

1

如果要区分文件的第一和最新的版本,你可以使用类似公司或者grep来提取的第一个版本号和动态建立的diff一系列文件:

svn diff -"$(svn log -r 1:HEAD --limit 1 ./gnu_regex/regex.c | ag -o 'r[0-9]+'):HEAD" ./gnu_regex/regex.c 
相关问题