3

我正在尝试通过其 URL、修订和脏/干净状态来识别具有外部(和子外部)的 SVN 项目的本地(非自动构建服务器)构建。总体结果将只是全部干净或某处脏了,我不在乎什么脏了。这样的程序/脚本已经很方便了吗?或者我必须不那么懒惰并自己写它......(我已经懒得搜索了一下)。简而言之,它的一个花哨的版本svnversion是知道外部的。

我试过了svnversion。这是我的 Cygwin shell 的编辑副本。

altendky@ly /svn/myProject.clean
$ svnversion
606

altendky@ly /svn/myProject.clean
$ svn propget svn:externals
^/../the_canopen_library@223 libs/canopen

altendky@ly /svn/myProject.clean
$ echo blue >> libs/canopen/wrapper/CANOpenGuard.c

altendky@ly /svn/myProject.clean
$ svnversion
606

altendky@ly /svn/myProject.clean
$ echo blue >> src/App_Main.c

altendky@ly /svn/myProject.clean
$ svnversion
606M

altendky@ly /svn/myProject.clean
$ svnversion --version
svnversion, version 1.8.3 (r1516576)
   compiled Aug 30 2013, 11:03:40 on i686-pc-cygwin

Copyright (C) 2013 The Apache Software Foundation.
This software consists of contributions made by many people;
see the NOTICE file for more information.
Subversion is open source software, see http://subversion.apache.org/

altendky@ly /svn/myProject.clean
$
4

1 回答 1

1

您是否尝试svnversion -h使用外部设备阅读和测试 WC?我明白了 - 不,因为 WC 内是否存在外部变量并不会改变结果

如果工作副本是单个修订版、未修改、未切换且具有与 TRAIL_URL 参数匹配的 URL,则版本标识符将是单个数字。如果工作副本异常,则版本标识符会更复杂

对于内部带有外部的 repo-URL 的干净结帐

>dir /B
core_mod.txt
lib

(lib 是外部仓库中的目录外部)

svnversion正如预期的那样,为 WC 的根生成

>svnversion
7

如果 WC 内部进行任何修改,这将破坏“vanilla”状态,版本标识将比纯单个数字更复杂:

A[:B[MSP]]

于 2013-09-12T03:51:07.063 回答