我正在尝试通过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
$
答案 0 :(得分:1)
您是否尝试阅读svnversion -h
并使用外部测试WC?我明白了 - 不,因为在WC内部存在或不存在exernals确实没有改变结果
如果工作副本是,则版本标识符将是单个数字 单个修订,未修改,未切换且具有URL 匹配TRAIL_URL参数。如果工作副本不正常了 版本标识符会更复杂
使用
内的externals清理签出repo-URL>dir /B
core_mod.txt
lib
(lib是外国仓库中的目录 - 外部)
对于WC的根, svnversion
按预期生成
>svnversion
7
如果WC中的任何修改会破坏“vanilla”状态,版本标识将比纯单个数字更复杂:
A[:B[MSP]]