Ios 获取从http到bundle版本的头部修订
我需要从本地存储库获取head修订版。 因此,我使用:Ios 获取从http到bundle版本的头部修订,ios,xcode,shell,svn,Ios,Xcode,Shell,Svn,我需要从本地存储库获取head修订版。 因此,我使用: svn update 'path' --non-interactive --no-auth-cache --username here_username --password here_password 而且它有效!在控制台中: Updating 'path': At revision 29. 怎么打这29号 我还尝试: REV=`/usr/bin/svnversion -nc 'path' | /usr/bin/sed -e 's/^
svn update 'path' --non-interactive --no-auth-cache --username here_username --password here_password
而且它有效!在控制台中:
Updating 'path':
At revision 29.
怎么打这29号
我还尝试:
REV=`/usr/bin/svnversion -nc 'path' | /usr/bin/sed -e 's/^[^:]*://;s/[A-Za-z]//'`
echo $REV
结果是23
但它得到了最后的修订,但不是头部
在我看到的版本中
我还发现:
REVISION = $(svn info -r HEAD 'http://login:password@url' | sed -n "/Revision/p" | sed "s/[^0-9]//g")
echo $REVISION
但我不知道为什么授权失败了
那么,我如何使用shell
script获取头部修订呢?- 如果
中的svn up
是您的工作副本中的某个节点(确实是),那么您将不会得到存储库的头部,而是得到存储库中此目录的最后提交版本(头部可能是另一路径上提交的后续版本)path
- 您的
调用很奇怪(我懒得分析sed)-如果您想要存储库的头,并且拥有干净的工作副本,最简单的方法就是svreversion
在WC内部(svreversion。
可以,如果您想将其放入变量),而不是-n
和相对路径(全球修订)-c
svn ls -v
5 lazybadg фев 07 2014 ./
2 lazybadg ноя 28 2013 branches/
2 lazybadg 146 ноя 28 2013 readme.textile
1 www-data ноя 27 2013 tags/
5 lazybadg фев 07 2014 trunk/
>svnversion -n
5
>cd branches
>svnversion -n
5
正如你所看到的(你会同意我的看法,是吗?),这个WC |回购的负责人必须是5。但是,你的转换可能会
svnversion -nc trunk
2:5
svnversion -nc branches
2
以及我的短svreversion-n
在任何(干净的)工作副本树中
svn ls -v
5 lazybadg фев 07 2014 ./
2 lazybadg ноя 28 2013 branches/
2 lazybadg 146 ноя 28 2013 readme.textile
1 www-data ноя 27 2013 tags/
5 lazybadg фев 07 2014 trunk/
>svnversion -n
5
>cd branches
>svnversion -n
5
- 对于
svn信息URL
可以省略(-r HEAD
)HEAD是默认版本
将比URL编码的授权更有效--username here\u username--password here\u password
- 与SVN无关,而不是两个管道到(可怕的)sed,您可以通过简单的短awk
(TBT!!!)从SVN信息…|awk'/Revision/{print$2}'
输出中轻松提取修订值SVN信息