AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 68139
Accepted
Brian Fisher
Brian Fisher
Asked: 2009-09-24 10:45:39 +0800 CST2009-09-24 10:45:39 +0800 CST 2009-09-24 10:45:39 +0800 CST

从 Subversion 获取最新标签

  • 772

有没有办法确定颠覆中的最新标签?

对于我已部署的应用程序,客户端需要拥有另一台服务器,以防实时服务器出现故障,他们可以访问该服务器。已经有一个自动化系统可以将数据库复制到备份服务器。应用程序代码位于 subversion 存储库中,我想编写一个脚本,将代码从 subversion 自动复制到备份服务器。我有一个执行此操作的脚本,但是,我需要手动告诉它要检索什么标签。有没有办法让它完全自动化。

服务器正在运行 Redhat。

svn
  • 7 7 个回答
  • 13025 Views

7 个回答

  • Voted
  1. Jim Huang
    2009-09-24T11:54:11+08:002009-09-24T11:54:11+08:00

    tags此 shell 命令输出您目录中最近创建的标记。

    svn log -v --limit 1 tagsURL | awk '/^   A/ { print $2 }'
    

    如果您从签出的存储库中调用该命令,则可以使用相对 svn 路径令牌^:

    svn log -v --limit 1 ^/tags | awk '/^   A/ { print $2 }'
    
    • 7
  2. Kyle Brandt
    2009-09-24T11:38:36+08:002009-09-24T11:38:36+08:00

    我的理解是标签只是您使用“svn copy”命令创建的主分支的副本。那么,如果你这样做,你不是给这些标签版本号吗?只抢最高数?

    也许您的意思是回购的最新修订号?在这种情况下,它会是这样的:

    svn info https://www.myDomain.com/svn/myRepo | grep Revision | awk '{print $2}'
    

    或者,也许你想要:

    svn ls https://www.myDomain.com/svn/myRepo/tags
    

    然后,您可以对每个目录执行 svn 信息,具有最高 Last changed Revision 编号的将是最新标签。

    • 4
  3. Best Answer
    Alex Barrett
    2009-09-24T11:48:22+08:002009-09-24T11:48:22+08:00
    锁定。目前正在解决此答案的内容存在争议。它目前不接受新的交互。

    如果您的标签在排序时按顺序列出,您可以使用以下内容获取最新的名称:

    svn ls .../path/to/repo/tags | tail -n 1
    

    如果您的项目的标签结构不是那么严格,svn ls则需要将结果传递给-v(verbose) 选项并根据输出中的日期进行排序。

    • 4
  4. eric sorenson
    2012-02-20T21:51:53+08:002012-02-20T21:51:53+08:00

    如果您的标签没有“自然”排序(如果您遵循语义版本控制,则 1.10.0 将在svn ls输出中列在 1.1.0 之后而不是 1.9.0 之后),您可以使用标签的保证排序修订 ID目录:

     svn ls -v --config-dir=/root/.subversion https://svn/project/tags | sort -n |  awk '{ field = $NF }; END{ print field }'
     1.10.0
    
    • 2
  5. Daniel
    2010-02-06T07:51:35+08:002010-02-06T07:51:35+08:00

    如果你有好的版本号

    svn ls https://www.myDomain.com/svn/myRepo | sort -V | tail -n 1
    
    • 1
  6. rcphi
    2011-11-08T15:04:43+08:002011-11-08T15:04:43+08:00
     svn list --xml $REPO/tags | grep 'revision="' | cut -d '"' -f2 | tr -d ' ' | sort -bnu | tail -1
    
    • 1
  7. Michael W.
    2011-03-10T06:48:53+08:002011-03-10T06:48:53+08:00

    我喜欢 Jim Huang 的解决方案,效果很好。如果您收到错误“Broken Pipe”(我在 Ubuntu 和 Mac 上遇到),请尝试将命令括起来,如下所示:

    exec 6>&2 2>/dev/null; svn log -v tagsURL | awk '/^   A/ { print $2 }' | head -1;  exec 2>&6 6>&-
    

    这将简单地抑制错误消息。我检查了一些邮件列表,显然没有人知道为什么会发生这个错误。

    • 0

相关问题

  • 使用 crontab 和 /etc/cron.hourly,daily,weekly 的区别

  • 如何定期复制 SVN 存储库而不会丢失目标标签和分支?

  • 如何通过 SVN 命令行接受 SSL 证书?

  • 如何在 slicehost 上设置集市

  • 如何在 Mac OS X 中正确安装 Subversion?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    从 IP 地址解析主机名

    • 8 个回答
  • Marko Smith

    如何按大小对 du -h 输出进行排序

    • 30 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    Windows 中执行反向 DNS 查找的命令行实用程序是什么?

    • 14 个回答
  • Marko Smith

    如何检查 Windows 机器上的端口是否被阻塞?

    • 4 个回答
  • Marko Smith

    我应该打开哪个端口以允许远程桌面?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    MikeN 在 Nginx 中,如何在维护子域的同时将所有 http 请求重写为 https? 2009-09-22 06:04:43 +0800 CST
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    0x89 bash中的双方括号和单方括号有什么区别? 2009-08-10 13:11:51 +0800 CST
  • Martin Hope
    kch 如何更改我的私钥密码? 2009-08-06 21:37:57 +0800 CST
  • Martin Hope
    Kyle Brandt IPv4 子网如何工作? 2009-08-05 06:05:31 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve