[ios]从 http 头修订到包版本

标签: Xcode SVN shell ios
发布时间: 2017/3/27 20:11:24
注意事项: 本文中文内容可能为机器翻译,如要查看英文原文请点击上面连接.

我需要从本地资源库中获取头修订。 所以我用︰

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

但它得到最后的修订,但没有头。

在我看到的版本enter image description here

也发现了︰

REVISION = $(svn info -r HEAD 'http://login:password@url' | sed -n "/Revision/p" | sed "s/[^0-9]//g")
echo $REVISION

但我不知道授权失败的原因。

所以如何能头修订使用 shell 脚本吗?

解决方法 1:

  • 如果 pathsvn up 是一些节点内你工作副本 (它是),你不是头的存储库作为结果,但最后致力修订此目录的存储库中 (头可能是以后的修订版的提交另一条路径)

  • svnversion 调用是,嗯,奇怪 (我太懒了,也解剖 sed)-如果你想要存储库头,有它的清洁工作副本,最简单的方法就是 svnversion . 里面 WC ( -n 是好的如果你想要进入变量),不 -c 和相对路径 (修订是全球)

只是这种工作副本比较结果的我和你的 svnversion

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/

你可以看到 (并会同意我,是吗?)头部的这 WC | 回购必须是 5。但是,可能会给你 svnversions

svnversion -nc trunk
2:5

svnversion -nc branches
2

我短 svnversion -n 在任何树 (干净) 工作副本

>svnversion -n
5
>cd branches
>svnversion -n
5
  • svn info URL
    • -r HEAD可以省略 ( HEAD is default revision )
    • --username here_username --password here_password将工作,和好的工作,比 URL 编码的授权
    • SVN 无关而不是两根管子给 sed,(可怕),你可以很容易提取修正值从 svn info 输出与简单短 awk svn info ... | awk '/Revision/ { print $2 }' (三丁基锡化合物!!!)

注意

我喜欢的所有版本标记任务不重新发明轮子,但使用常见的知名解决方案,如 SubWCRev |SVNRev

官方微信
官方QQ群
31647020