gpt4 book ai didi

ios - 将 Head 版本从 http 获取到 bundle 版本

转载 作者:行者123 更新时间:2023-11-29 02:42:22 25 4
gpt4 key购买 nike

我需要从本地存储库获取主要版本。所以我使用:

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 脚本获取 head 版本?

最佳答案

  • 如果 svn up 中的 path 是您的工作副本中的某个节点(它是),您将不会结果是存储库的 HEAD,但是存储库中最后提交的此目录的修订版(HEAD 可能是在另一个路径上提交的稍后修订版)

  • 你的 svnversion 调用很奇怪(我也懒得剖析 sed) - 如果你想要 repository 的 HEAD 并且有干净的工作它的副本,最简单的方法就是 svnversion . 在 WC 中(-n 可以,如果你想将它放入变量中),而不是 -c 和相对路径(revision 是全局的)

只需比较我的和你的 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|repo 的 HEAD 必须为 5。但是,您的 svnversions 可能会给出

svnversion -nc trunk
2:5

svnversion -nc branches
2

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

>svnversion -n
5
>cd branches
>svnversion -n
5
  • svn 信息 URL
    • -r HEAD 可以省略(HEAD 是默认版本)
    • --username here_username --password here_password 比 URL 编码授权更有效
    • 与 SVN 无关 您可以使用简单的短 awk svn info 从 svn info 输出中轻松提取修订值,而不是通过两个管道连接到(糟糕的)sed ... | awk '/Revision/{ print $2 }' (TBT!!!)

注意

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

关于ios - 将 Head 版本从 http 获取到 bundle 版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25600151/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com