2017-02-10 75 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 
相關問題